Neo4j 如何从起始节点递归删除节点
我有一个图,它有一组节点和它的子节点。有一个根节点,其余节点从该节点分支。这样的节点集合很少 我想选择一个根节点,递归地清除它的所有连接和节点,留下根节点供将来添加Neo4j 如何从起始节点递归删除节点,neo4j,cypher,neo4jclient,Neo4j,Cypher,Neo4jclient,我有一个图,它有一组节点和它的子节点。有一个根节点,其余节点从该节点分支。这样的节点集合很少 我想选择一个根节点,递归地清除它的所有连接和节点,留下根节点供将来添加 start n=node:DataSpace(DataSpaceName="DS1") match (ds)-[r]-(e) delete e,r 上述查询肯定是错误的,因为它不考虑递归,也就是删除删除关系之前必须删除实体的条件。p> 关于如何实现这一目标的任何建议 此外,由于我将使用neo4JClient,因此如果
start n=node:DataSpace(DataSpaceName="DS1") match (ds)-[r]-(e) delete e,r
上述查询肯定是错误的,因为它不考虑递归,也就是删除删除关系之前必须删除实体的条件。p> 关于如何实现这一目标的任何建议
此外,由于我将使用neo4JClient,因此如果我们也有neo4JClient翻译,那将非常好。“在关系之前必须删除实体的条件” AFAIK删除具有关系的节点将触发错误 为什么不增加关系的深度以包含递归性呢MATCH (n:MyLabel)-[r*]-(e) DELETE r,e
你想做点什么
MATCH (n:MyLabel)-[r*]-(e)
FOREACH (rel IN r| DELETE rel)
DELETE e
请参见示例。尝试匹配(n:DataSpace)-[r*]-(e)删除r,e响应:类型不匹配:预期的节点、路径或关系,但为集合(第1行,第37列)“匹配(n:DataSpace)-[r*]-(e)删除r,e”在我拥有的图中,大约有60多个节点,查询保持不执行。我不知道是否会发生无限递归遍历。