0

私は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 は、スプリング データ neo4j およびカーネル 1.6 と競合するため使用できません。

誰でも私を助けることができますか?

ノードを削除したくない

repository.delete(5);

リレーションシップなども削除したいので。

どうも!

4

2 に答える 2

1

削除したいノードとの関係を削除する必要があると思います。@Query("start u=node(5) delete u")

ノードを削除する場合は、そのノードが他のノードと関係がないことを確認する必要があります。次のコードを試してみてください: @Query("start u=node(5) match u-[r]-() delete u,r")

于 2012-12-13T08:15:28.720 に答える
0

興味深いアイデアです。まだ試していません。b/c SDN はまだ正式に Neo4j 1.7 を指していますが、これはすぐに変更されます。

SDN 2.1.RC2 に更新できないのはなぜですか?

Neo4j で API が変更されたため、SDN 2.0.1 は Neo4j 1.8 では機能しません。

@Transactionalメソッドにも追加する必要があります。

于 2012-08-02T08:15:10.953 に答える