将具有不同标签的节点合并到具有两个标签的新节点中

时间:2019-08-06 18:23:56

标签: neo4j cypher

我有一个Neo4J数据库,其中包含一堆employeeconsultant节点,关系consults从顾问到员工节点。一个顾问可以咨询许多员工,而一个雇员可以有多个顾问。

我的问题是,一些(并非全部)顾问也是雇员。如何合并节点以具有两个标签来指定那些是雇员的顾问?

我从Postgres导出了我的数据,并将其导入到Neo,所以我有一堆节点,如下例所示:

所有节点上的name字段是唯一的。 有没有办法匹配具有相同名称的节点,创建具有新标题的新节点并删除旧节点?

(c:Consultant {name:“Consultant1”}) (e:Employee {name:“Consultant1"})

所需的修复: (p:Consultant:Employee {name:“Consultant1”)

1 个答案:

答案 0 :(得分:1)

APOC过程apoc.refactor.mergeNodes应该适合您的用例。

它将列表中的多个节点合并到第一个节点,并且还合并它们的所有关系。