繁体   English   中英

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

[英]Delete End Node to a relationship with neo4j cypher query

我正在使用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做到这一点?

您可能要尝试

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM