[英]MERGE clause in Neo4j Cypher query not working
我正在运行neo4j-community-3.0.0-M05。
我正在尝试Neo4J Cypher查询语言的MERGE子句。 它的解释给出如下
它的作用类似于
MATCH
或CREATE
的组合,后者在创建数据之前先检查数据是否存在。 使用MERGE
您可以定义要查找或创建的模式。 通常,与MATCH
一样,您只希望在核心模式中包括要查找的key属性。MERGE
允许您提供要设置为ON CREATE
其他属性。
我已经有以下节点:
(:Movie{title:"Forrest Gump", released:1994})
现在我想向其中添加一个哑元属性addedOn
和哑元值20160108
,以尝试MERGE
子句:
MERGE (a:Movie{title:"Forrest Gump"})
ON CREATE SET a.addedOn= "20160108"
RETURN a;
但是,这似乎不起作用:
为什么会这样呢?
您所看到的正是预期的行为。
由于MERGE
找到了您预先存在的阿甘正传,因此使用了该节点。 由于您未创建任何内容,因此ON CREATE
处理程序将不会触发。
如果您拥有ON MATCH
处理程序,则由于MERGE
的匹配成功,因此将触发该处理程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.