我想在删除特定节点时删除所有关系和节点
例如
我有像
这样的结构A->B->C->D->D1->E1
->D2
->D3
我想要的是当我删除节点B时,直接或间接连接到该节点B的所有关系和节点都被删除 就像我删除B然后C,D D1,D2,D3,E1应该被删除以及它们的关系。
有办法吗? 我有一个图表,其中状态节点有很多商店节点,每个商店节点有很多项目节点,每个项目节点有很多价格节点。
现在,如果我删除状态节点,则连接到它的所有商店都应该被删除,并且连接到这些商店的所有商品都应该被删除,然后连接到这些商品节点的价格节点应该被删除
答案 0 :(得分:1)
以下Cypher查询将删除以特定节点为根的整个子图。
我假装您通过测试其xxx
属性的值为'yyy'
来找到子图的根。
MATCH (root {xxx:'yyy'})-[r1*]->(x)
OPTIONAL MATCH ()-[r2]->(root)
FOREACH(r IN r1 | DELETE r)
DELETE r2, root, x;