Graph 在neo4j中合并现有记录,删除重复项,保留可选关系

Graph 在neo4j中合并现有记录,删除重复项,保留可选关系,graph,neo4j,cypher,Graph,Neo4j,Cypher,这与类似,只是我要合并的节点具有我要保留的0-2关系 以以下生成的图形为例: create (:Person {name:"Bob"})-[:RELATED_TO]->(:Person {name:"Jane"})-[:FRIENDS_WITH]->(:Person {name:"Tim"})<-[:FRIENDS_WITH]-(:Person {name:"Jane"}), (:Person {name:"Sally"})-[:RELATED_TO]->(:Person

这与类似,只是我要合并的节点具有我要保留的0-2关系

以以下生成的图形为例:

create (:Person {name:"Bob"})-[:RELATED_TO]->(:Person {name:"Jane"})-[:FRIENDS_WITH]->(:Person {name:"Tim"})<-[:FRIENDS_WITH]-(:Person {name:"Jane"}),
(:Person {name:"Sally"})-[:RELATED_TO]->(:Person {name:"Jane"})

但我似乎无法正确地获取匹配项和/或可选匹配项以进行合并。我尝试链接可选的匹配项并在一条语句中进行合并,neo4j给了我一条语句。ExecutionFailure没有附加消息。我尝试将合并分解到每个匹配中,结果是“其他节点为空”。想法?

以下查询正在运行。另一方面,对于这种重构,我希望有一天可以使用动态变量设置关系类型:

MATCH (n:Person { name:"Jane" })
WITH collect(n) AS janes
WITH head(janes) AS superJane, tail(janes) AS badJanes 
UNWIND badJanes AS badGirl
OPTIONAL MATCH (badGirl)-[r:FRIENDS_WITH]->(other)
OPTIONAL MATCH (badGirl)<-[r2:RELATED_TO]-(other2)
DELETE r, r2, badGirl
WITH superJane, collect(other) AS friends, collect(other2) AS related
FOREACH (x IN friends | MERGE (superJane)-[:FRIENDS_WITH]->(x))
FOREACH (x IN related | MERGE (x)-[:RELATED_TO]->(superJane))
MATCH(n:Person{name:“Jane”})
以珍妮斯的身份付款
头(珍妮)是超级珍妮,尾(珍妮)是坏珍妮
释放坏女孩的坏女孩
可选匹配(badGirl)-[r:FRIENDS_WITH]->(其他)
选配(坏女孩)(x))
FOREACH(x在相关的|合并(x)-[:相关的]->(超级简))
结果:


以下查询正在运行。另一方面,对于这种重构,我希望有一天可以使用动态变量设置关系类型:

MATCH (n:Person { name:"Jane" })
WITH collect(n) AS janes
WITH head(janes) AS superJane, tail(janes) AS badJanes 
UNWIND badJanes AS badGirl
OPTIONAL MATCH (badGirl)-[r:FRIENDS_WITH]->(other)
OPTIONAL MATCH (badGirl)<-[r2:RELATED_TO]-(other2)
DELETE r, r2, badGirl
WITH superJane, collect(other) AS friends, collect(other2) AS related
FOREACH (x IN friends | MERGE (superJane)-[:FRIENDS_WITH]->(x))
FOREACH (x IN related | MERGE (x)-[:RELATED_TO]->(superJane))
MATCH(n:Person{name:“Jane”})
以珍妮斯的身份付款
头(珍妮)是超级珍妮,尾(珍妮)是坏珍妮
释放坏女孩的坏女孩
可选匹配(badGirl)-[r:FRIENDS_WITH]->(其他)
选配(坏女孩)(x))
FOREACH(x在相关的|合并(x)-[:相关的]->(超级简))
结果:


工作完全符合我的要求。谢谢工作完全符合我的要求。谢谢