Cypher 中的合并语句

Merge statement in Cypher

我在 Cypher 介绍视频中看到了这个声明:

忽略最后一个 MERGE 语句,MERGE 是否本质上执行 INSERT...ON DUPLICATE KEY ?例如:

MERGE (a:Person {name: "Ann"})
ON CREATE SET a.twitter = "@ann"

对应于:

INSERT INTO Person (name) VALUES ("Ann")
ON DUPLICATE KEY SET twitter = "@ann"

并且推而广之,如果节点上有一个 MERGE 不存在,它是否会像 CREATE 关键字一样工作?

是的,这就是 MERGE 所做的。请注意,它不仅限于关键字段。它考虑了您在 MERGE 子句中提供的所有字段。另见 https://neo4j.com/docs/cypher-manual/current/clauses/merge/