我想刪除一個節點的所有關係(傳入和outcoming)(的關係,可以去很多型動物節點)Neo4 /暗號:刪除一個節點
類似的所有關係:
啓動n = node:(1000)MATCH n < - [r] - > anynode DELETE r
不起作用,因爲這裏的「anynode」被解釋爲匹配的「第一個」鏈接節點。
任何想法?
我想刪除一個節點的所有關係(傳入和outcoming)(的關係,可以去很多型動物節點)Neo4 /暗號:刪除一個節點
類似的所有關係:
啓動n = node:(1000)MATCH n < - [r] - > anynode DELETE r
不起作用,因爲這裏的「anynode」被解釋爲匹配的「第一個」鏈接節點。
任何想法?
你想:
start n=node(1000)
match n-[r]-()
delete r;
我試圖刪除所有關係作爲一個更大的更新操作的一部分(在使用的解決方案通過@前夕弗里曼即刪除現有的關係,然後創建新的,如遇到問題以及更新節點屬性):
MATCH (n:Node { uuid: '1' })
OPTIONAL MATCH (n)-[r]-()
DELETE r
WITH n
MATCH (f:Foo { uuid: '2' })
CREATE (n)-[:LIKES]->(f)
WITH n
MATCH (b:Bar { uuid: '3' })
CREATE (n)<-[:LOVES]-(b)
SET n.name = 'Howard'
RETURN n
出於某種原因,它創造了一個重復條目(我很想找出爲什麼出現這種情況):
"n"
{"name":"Howard","uuid":"1"}
{"name":"Howard","uuid":"1"}
Set 2 properties, deleted 2 relationships, created 4 relationships, started streaming 2 records after 6 ms and completed after 6 ms.
使用以下(COLLECT
然後FOREACH
)似乎工作:
MATCH (n:Node { uuid: '1' })
OPTIONAL MATCH (n)-[r]-()
WITH n, COLLECT (r) AS rels
FOREACH (r IN rels | DELETE r)
WITH n
MATCH (f:Foo { uuid: '2' })
CREATE (n)-[:LIKES]->(f)
WITH n
MATCH (b:Bar { uuid: '3' })
CREATE (n)<-[:LOVES]-(b)
SET prd.name = 'Howard'
RETURN n
返回:
"n"
{"name":"Howard","uuid":"1"}
Set 1 property, deleted 2 relationships, created 2 relationships, started streaming 1 record after 3 ms and completed after 3 ms.
因此,這是正確的答案? – Stewart
在我的愚見中,它是。 :P –