[英]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.