为什么此查询会两次创建关系rl
?
CREATE (n8 { id:'n8' })-[:rl {tag:'foo'}]->(n9 {id:'n9' })
答案 0 :(得分:0)
CREATE
总是创造,这就是这个词的含义。 : - )
我认为您可能希望MERGE
仅在具有相同匹配属性的节点尚不存在时才创建新节点。
Documentation on MERGE is here
重新格式化,您的查询将是:
MERGE (n8 { id:'n8' })-[:rl {tag:'foo'}]->(n9 {id:'n9' })
请务必阅读上面有关合并规则的链接,以便了解何时可以进行匹配。
答案 1 :(得分:0)
您需要对MERGE关键字稍加注意,它是一个PROVISIONAL功能,因此可能会发生变化
我暂时会使用CREATE UNIQUE http://docs.neo4j.org/chunked/stable/query-create-unique.html#_create_unique_relationships