微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

neo4j 删除 nodey 有孩子和没有

如何解决neo4j 删除 nodey 有孩子和没有

我有一个简单的图表,我想找到类别并将其删除。如果类别有子项,则删除类别和所有子项。我用这个命令为孩子们制作了删除类别:

MATCH path = (c:Category)-[*]->(cc:Category)
WHERE c.id = "95bec604-5da2-4297-b792-5a866e292df4"
DETACH DELETE path

但是这个命令不适用于没有子节点的单节点。我怎样才能实现它?

enter image description here

解决方法

添加一个 0 作为可变长度模式的下限。默认情况下它是 1,但是当它是 0 时(假设用于结束节点的标签也在开始节点上)这将允许它匹配,即使没有来自开始节点的关系。

MATCH path = (c:Category)-[*0..]->(cc:Category)
WHERE c.id = "95bec604-5da2-4297-b792-5a866e292df4"
DETACH DELETE path
,

一般来说,如果你想删除整个路径,这种方法是可行的:

MATCH path = ( some path )
FOREACH (node IN nodes(path)  | 
     DETACH DELETE node
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。