Neo4j查询删除所有直接或间接连接的节点和关系



我想在删除特定节点时删除所有关系和节点

例如

我有一个结构像

A->B->C->D->D1->E1
         ->D2
         ->D3

我想要的是当我删除节点B时,所有与该节点B直接或间接相连的关系和节点都被删除例如,如果我删除B,那么C, D, D1, D2, D3, E1以及它们的关系应该被删除。

有办法吗?我有一个图,其中一个状态节点有很多商店节点,每个商店节点有很多商品节点,每个商品节点有很多价格节点。

如果我删除State节点,所有与它相连的商店都会被删除,所有与这些商店相连的商品也会被删除然后与这些商品节点相连的价格节点也会被删除

下面的Cypher查询将删除在特定节点上根的整个子图。

我假设你通过测试它的xxx属性值为'yyy'来找到子图的根。

MATCH (root {xxx:'yyy'})-[r1*]->(x)
OPTIONAL MATCH ()-[r2]->(root)
FOREACH(r IN r1 | DELETE r)
DELETE r2, root, x;

最新更新