2016-01-15 131 views

回答

0

用戶合併而不是創建關係時創建。

MERGE (Product)-[:listed_under_category]->(level3) 
MERGE (level3)-[:child_of]->(level2) 
0

MERGE子句也避免了重複關係。

0

嘿,我想混合起來,但我需要更多的信息。是合併,合併整個聲明。所以如果他沒有爲整個陳述找到一個「匹配」,數據庫就會「創建」整個陳述。

所以,當你輸入像合併(一) - [] - >(二) - [] - >(Q) 如果你已經有(一) - [] - >(B)

(a) - [] - >(b) - [] - >(q),(a) - [] - >(b) - [] - > ) - [] - >(b)

但如果鍵入合併的(a) - [] - >(b)中合併(b) - [] - >(q)

,你知道你有節點。如果沒有關係,Neo4j合併將創建關係。並且如果存在關係則匹配

0

如果我理解你的問題,CREATE UNIQUE可能是你正在尋找的解決方案。例如:

create (a:Ex {name: 'A'})-[r:inside]->(b:Ex {name: 'B'}) return a, b, r 

設置您的原始(a) - [] - >(b)關係。然後擴大你提議的方式的關係....

match (a)-[:inside]->(b) where a.name = 'A' and b.name = 'B' 
create unique (a)-[:inside]->(b)-[:inside]->(q:Ex {name: 'Q'}) 
return a, b, q 

CREATE UNIQUE也適用,如果關係是不同的:

match (a)-[:inside]->(b) where a.name = 'A' and b.name = 'B' 
create unique (a)-[:inside]->(b)-[:under]->(q:Ex {name: 'Q'}) 
return a, b, q 
相關問題