微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用 MATCH 和 MERGE

如何解决无法使用 MATCH 和 MERGE

我试图创建一个节点层次结构,首先,找到任何现有节点(使用 MATCH),然后通过重用现有节点或创建新节点来创建关系,如果任何节点不存在(使用合并)。

谁能解释一下为什么这段代码没有做任何事情:

CALL apoc.load.jdbc(...) YIELD row
MATCH (t:Taxonomy {key:row.TermKey})
MATCH (tp:Taxonomy {key:row.ParentKey})
MERGE (t)-[:CHILD_OF]->(tp)

但是这个就可以了:

CALL apoc.load.jdbc(...) YIELD row
MERGE (t:Taxonomy {key:row.TermKey})
MERGE (tp:Taxonomy {key:row.ParentKey})
MERGE (t)-[:CHILD_OF]->(tp)

我正在查看 Neo4j 手册,他们的示例确实如此,但由于某种原因对我不起作用。 Neo4j manual screenshot

解决方法

MATCH 子句仅查看节点或模式是否存在,如果找到则返回该节点或模式,而不会创建节点或模式,另一方面, MERGE 子句查找节点或模式,如果不存在则创建一个。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。