Cypher:CREATE创建重复关系?

时间:2014-05-19 16:22:32

标签: neo4j relation

为什么此查询会两次创建关系rl

CREATE (n8 { id:'n8' })-[:rl {tag:'foo'}]->(n9 {id:'n9' })

2 个答案:

答案 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