我已经构建了一个大型数据库,但在测试期间我在Neo4j图形数据库中遇到了一些错误的连接。我不能简单地删除整个数据库,因为数据库也包含其他一些数据。这里试图通过附加图像来解释这个场景:
Feat节点具有类似feat_no和type的属性。 Feat节点附加到另一个Feat节点,Feat节点附加到DR节点,然后DR连接到req_id,依此类推。
我希望图像能够清晰地显示连接。
问题:我只想删除特定类型的Feat节点,说类型为“ABC”,所有节点都附加到具有类型“ABC”的Feat节点,直到req_id。 表示应删除所有关系和节点,这些关系和节点都标记在蓝色标记内。蓝色标记以外的网络不应受到影响。
根据Feat节点的类型区分每个网络。
想要为此而写Cypher。
答案 0 :(得分:3)
根据您的描述和示例图片,我认为您可以使用variable-length pattern matching从type = "ABC"
获取所有可到达的节点,然后分离删除这些节点:
match (feat:Feat {type : "ABC"})-[*0..]->(node)
detach delete feat
detach delete node