6

を使用して深さ 2 のクエリを実行しているときにタイムアウトが発生しsession.load()ました。Neo4j OGM 1.1.3 で作業しています (Spring Data Neo4j 3.4 から移行しようとしています)。Node オブジェクトを読み込もうとしています

class Node {
    Long id;
    String name;

    @Relationship(type="NodeToCategory")
    Category category;

    @Realtionship(type="NodeToChildNode")
    Node node
}

class Category {
    Long id;
    String name;
    String color;
    Date createdAt;
}

私のノードに接続されているカテゴリは非常に人気があり (20,000 個のノードが同じカテゴリを持っています)、実行session.load(Node.class, 1L, 2)要求を使用するとタイムアウトになります。カテゴリのすべての関係を照会しようとしている可能性があります (Java のモデル カテゴリはこの関係を無視しますが)。

ロードすることを期待するのは単純です:

|My Node
|   |category
|   |child node
|   |   | category
|   |   | child node

これは非常に重いリクエストではなく、タイムアウトするべきではありません (不要な関係をロードしている場合を除きます。

特定の関係を深くロードするだけに伝える方法はありますか?

たとえば、ツリーの 10 レベルをロードしたいのですが、ツリーの他の情報 (カテゴリ、ロールなど、実際にはツリー ノードではなく、より多くの情報を表すだけです) は、それらの関係なしでロードしたいだけです。したがって、すべての Node オブジェクトをロードし、途中で他のオブジェクトのみを関係なしでロードしたいと思います。

アップデート

これらの問題に対処していると思われる 2 つの未解決の問題が見つかりました。

https://github.com/neo4j/neo4j-ogm/issues/55

https://github.com/neo4j/neo4j-ogm/issues/70

4

1 に答える 1