[英]How can I limit to only one relationship between two nodes in Neo4j?
我有以下圖表:
目前我正在使用這個查詢來添加兩個節點之間的關系:
MATCH (a:Service),(b:Service)
WHERE a.service_id = 'cs2322' and b.service_id = 'ab3232'
CREATE (a)-[r:DEPENDENT_ON]->(b)
RETURN type(r)
但是,我不想在任何兩個節點之間建立一個以上的關系,因為我想可視化我的服務以及它們之間的依賴關系,所以我不能讓一個服務兩次依賴另一個。
如果我嘗試在兩個節點之間創建關系,這兩個節點已經在每個方向上相互建立關系,我有什么辦法可以限制它以強制 neo4j 服務器拋出錯誤?
如果您創建重復關系,則沒有內置方法會引發錯誤。 但這也是執行此類政策的一種非常昂貴的方式。
相反,您可以使用MERGE而不是CREATE
來避免創建重復的關系。
例如,這個查詢只會在DEPENDENT_ON
關系不存在的情況下創建它; 否則,它只會將現有關系綁定到r
:
MATCH (a:Service), (b:Service)
WHERE a.service_id = 'cs2322' AND b.service_id = 'ab3232'
MERGE (a)-[r:DEPENDENT_ON]->(b)
RETURN TYPE(r)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.