繁体   English   中英

Neo4j-更新两个节点之间的关系(如果已存在),否则使用给定属性创建关系

[英]Neo4j - Update relation between two nodes if already exist, else CREATE relation with given properties

我迷上了Cypher。 如果关系已经存在,我想更新两个现有(唯一)节点之间的关系,如果这两个节点之间没有关系,我想创建此关系。 在这种情况下正确的Cypher语法是什么? 我已经尝试过了

MATCH (u1:Person {id: "1234"}), (u2:Person {id: "5678"}) MERGE (u1)-[r:KNOWS]->(u2) ON CREATE SET r.duration = 12, r.count = 1 ON MERGE SET r.duration = 12, r.count = r.count + 1 RETURN r 

导致错误

无效的输入“ E”:预期的“ a / A”(第1行,第185列(偏移量:184))“ MATCH(u1:Person {id:” 1234“}),(u2:Person {id:” 5678“} )合并(u1)-[r:KNOWS]->(u2)在创建集上r.duration = 12,r.count = 1在合并集上r.duration = 12,r.count = r.count +1返回r ”

希望有人能帮助我! 在此先谢谢大家的欢呼;)

您只是错过了ON MATCH vs ON MERGE (错误告诉您的是: Invalid input 'E': expected 'a/A'

MATCH (u1:Person {id: "1234"}), (u2:Person {id: "5678"}) 
MERGE (u1)-[r:KNOWS]->(u2) 
ON CREATE SET r.duration = 12, r.count = 1 
ON MATCH SET r.duration = 12, r.count = r.count + 1 
RETURN r 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM