如何避免节点重复?

时间:2019-05-10 05:31:12

标签: java neo4j cypher

我正在编写一个Java项目,以使用密码查询在neo4j中插入数据。我想阻止neo4j创建重复节点,而是将另一个节点与现有节点链接。

CREATE (n1:node {name:'Adam'})-[:born_in]->(n2:node {name:'USA'})
//and again 
CREATE (n1:node {name:'Adam'})-[:worked_at]->(n2:node {name:'Apple'})

我想创建Adam的一个节点和另外两个节点,即USAApple。 Java中是否有任何检查以避免重复?

1 个答案:

答案 0 :(得分:2)

  

在两个节点之间创建关系的最佳方法是

     

首先获取两个节点。如果它们不存在,则创建。一旦   节点被加载,然后简单地在它们之间创建关系

在您的情况下,先创建MERGE,然后再创建关系

MERGE (n1:node {name:'Adam'})
MERGE (n2:node {name:'USA'})
MERGE (n1)-[r:born_in]->(n2)

此链接将帮助您了解MERGE

https://neo4j.com/docs/cypher-manual/current/clauses/merge/