我期待他下面的查詢由給定的源節點創建節點(僅出口)和關係(1)和一個列表(2)這種方式:不能使用合併中的foreach對存在的節點
MERGE (p1:C9{userId: '1'}) WITH p1, [{userId:"2"}] AS users
FOREACH (user IN users | MERGE
((p1)-[r1:follow]->(:C9 {userId: user.userId})))
那是結果:
現在,如果我被交換節點ID這樣再次執行這個查詢:
MERGE (p1:C9{userId: '2'}) WITH p1, [{userId:"1"}] AS users
FOREACH (user IN users | MERGE
((p1)-[r1:follow]->(:C9 {userId: user.userId})))
我們拿到的這款:
Neo4j的複製我的節點使用id = 1。我希望它在現有節點的情況下合併。
我期望看到只有兩個節點通過合併已有節點相互連接。
任何想法我應該修復?
謝謝, 射線。
感謝您的回覆。爲什麼在這種情況下放鬆會更好? – rayman
'UNWIND'對我來說更容易推理。它也使它更清潔,因爲我可以有單獨的行,而不是'FOREACH'內的所有東西。最後,'FOREACH'裏面的子句只對我感覺不對......也許它只是感覺不到查詢語言。我知道這一切都很模糊;) –
我還想到了一件事:如果你需要多個'MERGEs'或者'ON(MATCH | CREATE)SET'或者其他東西,那麼這些東西就是你扔進你的' FOREACH',但對我來說更加雜亂 –