我想限制創建的關係,如果已經在現有節點之間創建的話。現在它多次創建?有沒有類似'合併'的命令來限制重複關係?感謝任何建議Neo4j-避免在cypher中的相同節點之間創建多個關係?
0
A
回答
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
相關問題
- 1. 在Neo4j節點之間創建關係
- 2. Cypher支架的Neo4j建立兩個節點之間的關係,避免雙向關係
- 3. Neo4j的Cypher支架:創建關係僅在端節點存在
- 4. 創建兩個節點之間的關係類型neo4j
- 5. Neo4j Cypher:只有存在末端節點時才創建關係
- 6. 不能在neo4j中添加多個節點之間的關係
- 7. 無法使用Java中的Cypher查詢在Neo4J數據庫中創建兩個節點之間的關係
- 8. 創建具有相同屬性的節點之間的關係
- 9. Neo4j/Cypher:返回節點本身內節點之間關係值的總和
- 10. 使用Cypher在Neo4j中創建多個節點
- 11. Neo4j Cypher優化在笛卡爾積中的每個節點之間創建關係
- 12. Neo4J Optimsation用於創建節點之間的關係
- 13. 在Java中新建一個neo4j節點和現有節點之間的關係
- 14. Neo4j節點之間的關係
- 15. 無法在兩個節點之間創建超過2個相同的關係
- 16. Neo4j查詢到具有相同關係的多個節點
- 17. 使用Cypher與現有節點創建多個關係
- 18. 使用一個Cypher查詢創建具有相同屬性值的節點之間的關係
- 19. Neo4j/Cypher創建節點如果丟失
- 20. Neo4J Cypher:匹配多個屬性並創建關係的性能
- 21. 創建2個新創建的節點之間的關係
- 22. 在neo4j中同時創建節點和關係
- 23. 在STRUCTR.org中創建兩個現有節點之間的關係
- 24. 在Neo4j中創建後續節點(日期屬性)之間的關係
- 25. 如何在neo4j中的標籤下分組節點之間創建關係?
- 26. Cypher:基於公共屬性密鑰ID在節點之間創建關係
- 27. Neo4j:REST API Cypher Query查找兩個節點之間的關係
- 28. Neo4j cypher - 根據csv值導入CSV並添加節點之間的關係
- 29. py2neo,neo4j:如何創建兩個現有節點之間的關係
- 30. Neo4j與C#:創建2個現有節點之間的關係,否則不要