0
我想在儘可能少的請求中捆綁一大堆操作。背後的邏輯是應該是以下:Neo4j/Cypher創建節點如果丟失
- 檢查,如果頭部與關鍵=值存在,如果創建如果尾巴與關鍵=值存在它不
- 檢查,創建,如果它不
- 創建一個獨特的關係(各種屬性)
- 設置了一堆屬性的頭&尾
我已經偶然發現創造獨特,但這似乎只適用於關係。我如何確保至少存在頭節點,以便我可以在其上運行創建唯一語句?
我現在正在做的是發射多個requests.The第一個找出是否存在節點:
start x=node:index({key}={value}) return ID(x) as id
如果不返回一個ID,我火了另一個請求創建節點最後的最後請求創建第二個節點和關係:
start n=node({id})
create unique n-[:POINTS_TO {label:{label}}]->(x {{key}:{value}})
return n,x
我不知道是否有捆綁的這一切更好的方式...
這是確保第一個節點實際存在的好方法。好的...... – Michael 2013-05-07 13:53:51
看來由於某種原因,這個聲明有時會創建新的尾節點而不是使用現有的節點。試圖弄清楚什麼是錯的... – Michael 2013-05-07 18:00:59