首页 文章

Neo4j:删除连接到特定节点的节点和关系,直到叶节点

提问于
浏览
2

我已经构建了一个大型数据库,但在测试期间我在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

    根据您的描述和示例图像,我认为您可以使用variable-length pattern matchingtype = "ABC" 获取所有可到达的节点,然后分离删除这些节点:

    match (feat:Feat {type : "ABC"})-[*0..]->(node)
    detach delete feat
    detach delete node
    

相关问题