2012-08-01 2 views
0

저는 Spring 데이터 Neo4j에서 작업 중이며 일부 쿼리에는 Cypher-Language를 사용하고 있습니다. 너무 오래 잘 작동하지만 노드를 삭제하면 작동하지 않습니다. 예를 들어Cypher로 노드를 삭제할 수 없습니다.

는 :

@Query("start u=node(5) delete u") 
void deleteNode(); 

나는 사이퍼의 버전 1.7.2을 사용할 수 없습니다

<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> 

종속성을 사용하기 때문에 봄의 데이터 neo4j 커널 1.6이 충돌합니다.

아무도 도와 줄 수 있습니까?

나는 또한 관계와 더 이상 삭제할 때문에

repository.delete(5); 

와 노드를 삭제하지 않습니다.

Thx!

+0

사이퍼 1.8은 업데이트 작업을 지원하지 않습니다. template.delete (5) 또는 원래 repository.delete (5)를 사용하는 것에 대해 미안하다. –

답변

0

재미있는 아이디어는 아직 시도하지 않았다. b/c SDN은 아직 공식적으로 Neo4j 1.7을 가리키고 있지만 곧 바뀔 것이다.

왜 SDN 2.1.RC2로 업데이트 할 수 없습니까?

Neo4j에서 API가 변경되어 SDN 2.0.1이 Neo4j 1.8에서 작동하지 않습니다.

@Transactional을 추가해야합니다.

1

삭제하려는 노드와의 관계를 삭제해야한다고 생각합니다. @Query ("start u = node (5) delete u")

노드를 삭제하려면 노드가 다른 노드와 관계가 없는지 확인해야합니다. 다음 코드로 시도하십시오 : @Query ("u = node (5) 일치하는 u- [r] -() delete u, r")