我正在使用Spring Data Neo4j并使用Cypher-Language进行一些查询。工作正常,但删除节点不起作用。
例如:
@Query("start u=node(5) delete u")
void deleteNode();
我使用依赖项
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-cypher</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-kernel</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-neo4j</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-neo4j-rest</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
我不能使用Cypher的1.7.2版本,因为它与spring数据neo4j和内核1.6冲突。
任何人都可以帮助我吗?
我不想删除带有
的节点repository.delete(5);
因为我也想删除关系等。
THX!
答案 0 :(得分:1)
我认为您应该删除与要删除的节点的关系。 @Query(“start u = node(5)delete u”)
如果要删除节点,则应确认该节点与其他节点没有关系。 请试用以下代码: @Query(“start u = node(5)match u- [r] - ()delete u,r”)
答案 1 :(得分:0)
有趣的想法,没有尝试,但是b / c SDN仍然正式指向Neo4j 1.7,但这很快就会改变。
为什么不能更新到SDN 2.1.RC2?
SDN 2.0.1不适用于Neo4j 1.8,因为Neo4j中有API更改。
您还需要在方法中添加@Transactional
。