小编Kap*_*tth的帖子

检查节点是否存在,如果不存在则创建

我试图建立一个数据库,每当一个节点不存在时,它将创建一个新的并在此节点和另一个节点之间建立关系.如果节点存在,则两个节点都会建立关系.

我的问题是,如果我尝试连接2个现有节点,将重新创建第二个节点.我尝试使用MERGE和CREATE UNIQUE,两者都没有用.

我的例子:

CREATE (test1 name:'1'})
MATCH (n)
WHERE n.name = '1'
MERGE (n)-[:know {r:'123'}]->(test3 {name:'3'})

MATCH (n)
WHERE n.name = '1'
MERGE (n)-[:know {r:'123'}]->(test2 {name:'2'})
Run Code Online (Sandbox Code Playgroud)

到这里它的工作原理,但:

MATCH (n)
WHERE n.name = '3'
MERGE (n)-[:know {r:'123'}]->(test2 {name:'2'})
Run Code Online (Sandbox Code Playgroud)

它创建一个新节点"2"而不是连接到存在的节点.

neo4j cypher

22
推荐指数
1
解决办法
1万
查看次数

标签 统计

cypher ×1

neo4j ×1