Total Pageviews

2018/09/11

[Neo4j] How to delete relationship/node from existing graph

目前的關係圖如下:

假設我要刪除大雄與小衫之間的情敵關係,Cypher 語法如下:
// 找出大雄與小杉的 nodes
match (m) where m.name="大雄"
match (n) where n.name="小杉"

// 找出兩人間糾葛的情敵關係
match (n)-[r:RIVAL_OF]->(m)

// 刪除情敵關係
delete r

於 Neo4j Browser 執行結果:


更新後的 graph (大雄與小衫之間的情敵關係已刪除)


若我想要刪除小衫 (要先刪除小衫與他人的關係以後,才能刪除小衫),Cypher 語法如下:

// 找出小杉的 nodes
match (n) where n.name="小杉"

// 找出小衫與他人的關係
OPTIONAL MATCH (n)-[r]-() 

// 刪除小衫以及小衫與他人的關係
delete r, n


於 Neo4j Browser 執行結果:



更新後的 graph (小衫已刪除)

No comments: