我有一个图表,其中包含一组节点及其子节点。有一个根节点,其余节点分支出来。这样的节点集合很少。
我想选择一个根节点并递归清除所有连接和节点,留下根节点以备将来添加。
start n=node:DataSpace(DataSpaceName="DS1") match (ds)-[r]-(e) delete e,r
上面的查询肯定是错误的,因为它不考虑递归以及在删除关系之前必须删除实体的条件。
关于如何实现同样的建议。
另外,由于我将使用neo4JClient,如果我们也有一个neo4jClient翻译,那将会很棒。
答案 0 :(得分:2)
您想要做类似
的事情MATCH (n:MyLabel)-[r*]-(e)
FOREACH (rel IN r| DELETE rel)
DELETE e
有关示例,请参阅http://console.neo4j.org/r/8go5i6。
答案 1 :(得分:0)
“在关系之前必须删除实体的条件”
AFAIK删除具有关系的节点将触发错误。
为什么不为关系添加深度以包含递归?:
MATCH (n:MyLabel)-[r*]-(e) DELETE r,e