提问者:小点点

删除与neo4j密码查询关系的结束节点


我正在使用Spring neo4j和Java。我有@NodeEntity在我希望持久化的类上。在其中一些类中,我有用@RelatedTo@Fetch注释的数据成员。我希望能够删除我的一个包含@NodeEntity的类,并删除所有连接到它的数据内存vi its@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个答案

匿名用户

你也许想试试

@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…]