我是Neo4j的新手,我正在尝试使用CREATE UNIQUE创建一个树来重用现有的分支(添加叶子/四肢),但问题是:
如果我多次运行相同的查询,将始终创建新路径。那就是:
如果我跑:
START r=node:root(root_name="foo")
CREATE UNIQUE (r)-[r1:KNOWS]->(n1:Person {name:"n1"})-[r2:KNOWS]->(n2:Person {name:"n2"})-[r3:KNOWS]->(n3:Person {name:"n3"})
RETURN (n3)
多次,每次创建一个全新的分支,而不是重用以前创建的路径。
这是预期的行为还是我误解了,拜托?如何在重复使用分支的现有部分时添加新的叶子/肢体呢?
谢谢!
答案 0 :(得分:0)
我认为这是因为您为节点编制索引的方式存在一些问题。
您可以尝试以下
MATCH (root:Person {name: "foo"})
CREATE UNIQUE (root)-[r1:KNOWS]->(n1:Person {name:"n1"})-[r2:KNOWS]->(n2:Person {name:"n2"})-[r3:KNOWS]->(n3:Person {name:"n3"})
RETURN n3