我一直在尝试将具有相同ID的两个不同节点(进程)和(进程框架)匹配在一起。我想在那些之间建立一种关系(称为:SAME)。 该查询有效,但它创建了我想要的进程数量的3倍,我无法找出原因:
MATCH (p:Process)
MATCH (pcf:ProcessFramework)
WHERE HAS (p.id) AND HAS (pcf.pcf_id) AND p.id=pcf.pcf_id
MERGE (p)<-[:same]-(pf)
return p,pcf
我也尝试使用CREATE UNIQUE而不是MERGE,但结果相同。我不是开发人员,所以也许我犯了一个非常明显的错误,但我真的看不到它! 谢谢!
答案 0 :(得分:0)
您的查询中有拼写错误,您使用pf
,pcf
中应使用MERGE
。
我也会将其更改为此并确保您在:ProcessFramework(pcf_id)
MATCH (p:Process)
MATCH (pcf:ProcessFramework)
WHERE p.id=pcf.pcf_id
MERGE (p)<-[:same]-(pcf)
return p,pcf