仅当neo4j中不存在节点时,才如何创建节点?

时间:2018-12-19 12:22:03

标签: neo4j cypher

我需要一个创建实体的查询。 我在SQL中需要类似IF NOT EXISTS的东西。 我检查了CREATE UNIQUE命令,但现在不建议使用。

1 个答案:

答案 0 :(得分:0)

如果图中还不存在节点,则可以使用MERGE语句创建一个节点。检查documenation

MERGE (p:Person{name:"Marina"})

这将搜索一个名称为Person的节点,其名称属性为“ Marina”,如果找不到该节点,则将创建一个具有该label和name属性的新节点。

如果您想在原始节点不存在的情况下创建其他一些节点,则需要OPTIONAL MATCH

OPTIONAL MATCH (p:Person{name:"Marina"})
// filter when the "Marina" node doesn't exist yet
WITH p WHERE p IS NULL
...