我有一个挑战节点,可以在其下面发布评论。每个Comment节点都可以在其下面发布评论,直到任何级别。
视觉上,如下图所示:
当删除Challenge节点时,我需要能够首先删除附加到此Challenge节点的Comment节点的整个层次结构。
我尝试了一些查询,但无法弄清楚如何使用单个查询来实现此效果。我尝试删除级别2的所有节点的一个查询是:
MATCH (c:Challenge {id: 'rJkSss-4W'})<-[:POSTED_IN]-(comment:Comment)
WITH c, comment
OPTIONAL MATCH (comment)<-[:POSTED_IN]-(childComment)
DETACH DELETE childComment;
有没有办法编写单个查询,可以删除在挑战节点下发布的所有Comment节点(包括在1,2级......)?在上面的例子中,我希望在一个查询中删除所有13个Comment节点。
答案 0 :(得分:4)
试试这个
MATCH (c:Challenge {id: 'rJkSss-4W'})<-[:POSTED_IN*]-(comment:Comment)
detach delete comment