Michael Hunger在2013年初回答了一個類似的問題,但我無法將其答覆轉換爲Neo4j/Cypher 3.x.在單個查詢中更新多個節點,每個節點具有不同的屬性/值對
https://groups.google.com/forum/#!msg/neo4j/qZWhbMtMCTE/r3W7OZfCgAgJ
每個節點具有在與UUID值的屬性。 在某些情況下,「second」屬性是布爾值,在其他情況下是字符串。
我想更新其中一些節點,更改或添加屬性到每個節點。
(n1 {uuid:"foo1", enabled: true})
(n2 {uuid:"foo2", example: "foo"})
(n3 {uuid:"foo3"})
我當然可以爲每個單獨的MERGE和SET語句,但我一直希望有一個更優雅的解決方案:
MATCH (S {uuid:"foo0"})
MERGE (n2 {uuid:"foo2"})-[:BELONGS_TO]->(S)
SET n2.example="bar"
MERGE (n3 {uuid:"foo3"})-[:BELONGS_TO]->(S)
SET n3.enabled=true
什麼是BELONGS_TO關係? – cybersam
特定關係名稱「BELONGS_TO」是任意的。這種關係的目的是爲了確保這種類型的所有節點,即可能由MERGE創建的節點都連接到「S」節點。 – DRB