Neo4j:删除与特定节点相连的节点和关系,直到叶子节点。

3
我已经建立了一个大型数据库,但在测试过程中发现Neo4j图形数据库中存在一些错误的连接。我不能简单地删除整个数据库,因为数据库还保存着其他数据。下面通过附加的图片来尝试解释这种情况:

My database looks like this

Feat节点具有feat_no和type等属性。Feat节点附加到另一个Feat节点,Feat节点附加到DR节点,然后DR连接到req_id等。

我希望图片能清晰地展示这些连接。

问题:我只想删除特定类型的Feat节点,比如类型“ABC”,以及附加到类型为“ABC”的Feat节点直到req_id的所有节点。 意味着在蓝色标记内标记的所有关系和节点都应该被删除。蓝色标记外的网络不应受到影响。

每个网络都基于Feat节点的类型而有所区别。

想要编写相应的Cypher语句。

1个回答

3
根据您提供的描述和示例图片,我认为您可以使用变长模式匹配,从type = "ABC"获取所有可达节点,然后分离删除这些节点。
match (feat:Feat {type : "ABC"})-[*0..]->(node)
detach delete feat
detach delete node

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接