1
这与Merge existing records in neo4j, remove duplicates, keep relationships类似,只是我想要合并的节点具有0-2的关系。合并neo4j中的现有记录,删除重复项,保留可选关系
取所产生的图形:
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"})
我想合并重复简节点,保留RELATED_TO和FRIENDS_WITH关系,删除重复项。
从另一个问题,我可以得到尽可能:
match (p:Person {name:"Jane"})
with p.name as name, collect(p) as ps, count(*) as pcount
where pcount > 1
with head(ps) as first, tail(ps) as rest
unwind rest as to_delete
return to_delete
但我似乎无法得到正确的合并匹配和/或可选的比赛。我尝试链接可选匹配,并在一个语句中进行合并,neo4j给我一个Statement.ExecutionFailure,没有额外的消息。我试图打破每场比赛的合并,并以“其他节点为空”结束。思考?
正是曾担任我想了。谢谢! – David