天天看點

neo4j 删除節點及删除節點含有的關系

假設neo4j有以下圖節點:

neo4j 删除節點及删除節點含有的關系

1. 删除無關系節點

#通過id值删除Lucy節點
MATCH (n:Person{name:'Lucy'}) DELETE n

#通過name值删除Lucy節點
MATCH (n) WHERE id(n) = 13416 DELETE n
           

效果:

neo4j 删除節點及删除節點含有的關系

2.删除指定節點直接的關系

在這裡如果我們删除含有關系的Steve節點

MATCH (n:Person{name:'Steve'}) DELETE n
           

此時就有錯誤提示,告訴我們先删除該節點含有的關系。

Cannot delete node<13420>, because it still has relationships. To delete this node, 
you must first delete its relationships.
           
neo4j 删除節點及删除節點含有的關系

删除語句的格式:

#删除Sally到Steve的節點關系
MATCH (n1:Person{name:'Sally'})-[r:FRIENDS]-(n2:Person{name:'Steve'}) DELETE r
           
neo4j 删除節點及删除節點含有的關系

3.删除節點及其含有的關系

#删除Liz節點及其含有的關系
MATCH (n) WHERE id(n) = 13422 DETACH DELETE n
           

效果:

neo4j 删除節點及删除節點含有的關系

删除所有的節點和關系:

MATCH (n) DETACH DELETE n