如何在Neo4j中为分层树创建逻辑约束

时间:2018-06-06 08:41:34

标签: neo4j cypher graph-databases hierarchical-data

我创建了一个分层树来代表Neo4j上公司的组织结构图,如下图所示。

Hierarchical Tree

每个节点不能有多个传入的“管理关系”,而员工无法管理他的等级优先级。

我已经看到Neo4j有一个约束系统,但我仍然有两个没有答案的问题。

  • 如何防止Worker6节点与Worker1节点建立管理关系?例如
  • 如何在使用CSV导入期间检查此完整性约束?

我应该使用TransactionEventHandler来做吗?

1 个答案:

答案 0 :(得分:0)

我已经找到了如何为分层树创建逻辑约束。

当我想导入一个包含50 000个关系的文件时,我会这样做:

:host  ::ng-deep [aria-expanded="true"] .caret,
{
  display: inline-block;
  transform: rotate(0deg);
 }

:host ::ng-deep [aria-expanded="false"] .caret
{
  display: inline-block;
   transform: rotate(90deg);
}

通过这个请求,我可以检查树的完整性。

我最大的问题仍然是请求的缓慢:3万,5万关系