2014-02-06 62 views
0

我是新來的Neo4j,我試圖創建一個樹CREATE UNIQUE重用現有的分支(加葉/肢體),但問題是: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