首页 文章

将End Node删除为与neo4j cypher查询的关系

提问于
浏览
1

我正在使用Spring neo4j和Java . 关于我希望坚持的课程,我有 @NodeEntity . 在其中一些类中,我有使用 @RelatedTo@Fetch 注释的数据成员 . 我希望能够删除包含 @NodeEntity 的一个类,并删除与 @RelatedTo@Fetch 注释相关的所有数据成员 . 我创建了一个删除查询,试图删除通过它们的关系连接到它的节点及其节点:

@Query("start n = node:uid(uid={0}) "
        + "match n-[*]-x WITH x MATCH x-[r]-() "
        + "delete x,r")
public void deleteByUid(String uid);

这会删除顶级节点及其关系,但会留下通过该关系连接到顶级节点的节点 . 如何使用cypher修改查询以执行此操作?

1 回答

  • 2

    你可能想尝试一下

    @Query("start n = node:uid(uid={0}) "
        + "match n-[*0..]-x WITH x MATCH x-[r]-() "
        + "delete x,r")
    public void deleteByUid(String uid);
    

    由于 * 默认为 [*1..] .

相关问题