問題タブ [neo4j-ogm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neo4j - Neo4j OGM を取得して、複雑なクエリから返されたすべての POJO を接続するにはどうすればよいですか?
次のようなクエリがあるとします。
にList<Node>
対応する がpathList
必要で、そのリスト内の各ノードに Bagel が定義されている必要があります。すべての情報を含むそのクエリから取得できIterable<Map<String, Object>>
ますが、POJO には null フィールドがあり、理想的には相互に参照されます。
このようなクエリから完全にリンクされたドメイン オブジェクトを OGM に吐き出す方法はありますか?
java - Neo4j-ogm でセッションを閉じる API はありますか?
私は neo4j-ogm 1.1.4 バージョンを使用しています。セッションオブジェクトを使用して自分で作成した org.springframework.data.neo4j.template.Neo4jTemplate を使用しているため、すべての作業が完了したらセッションを閉じなければならないという契約があるのだろうかと思っています。
このリンクにたどり着きました
http://inner-loop.github.io/java-neo4j-ogm/
しかし、私が使用しているライブラリには、Session クラスに close メソッドがないようです。セッションを閉じたことをマークするために使用する必要がある他の API はありますか?
inheritance - 継承されたクラス フィールドに注釈を付ける
私は Spring Data Neo4j を使用しており、ユーザーを Neo4j DB に保持したいと考えています。ユーザー (Neo4jUser) は、Neo4j 実装から独立した汎用プロジェクトからユーザーを拡張します。
すべてのユーザーは ID、ユーザー名、および電子メールを持っている必要があるため、一般的なユーザーは次のようになります。
今私の問題は、一般的なユーザーの「id」属性を特定のユーザーの @GraphId として使用したいということです。ただし、継承されたフィールドに注釈を付ける方法がよくわかりません。Neo4j の仕様によると、属性の名前が「id」の場合、注釈なしで GraphId として認識されますが、コンパイルすると WARN が表示されます。この警告をなくしたいと思います。
java - Spring Data Neo4j がクラス フィールドをノード プロパティにマッピングしない
私はリポジトリを持っています
カスタム メソッドは定義されていません。だから私save(T... entities)
はあらかじめ定義されているものを使います。
そして、私は次のように私のPoi
クラスを持っています
フィールドのゲッター付き。
現在、そのような Pois を neo4j に保存して元に戻すことができますが、サイファーを介してデータベース内のこれらのノードを操作しようとすると、フィールドが neo4j プロパティにマップされていないように見えます。
spring-data-neo4j はクラス フィールドを neo4j グラフ プロパティに変換すると思っていました。私はそれで間違っていますか?
注:呼び出しはsave
非常にうまく機能しているようです。その後、データベース内のノードを確認できます。findAll()
後で呼び出すと、保存されているすべてのノード (Pois) がすべて正しい値で適切に返されます。しかし、どういうわけか、データベース内にプロパティ/フィールドが表示されません。
neo4j - spring-data-neo4j バージョン 4.1.0 で関係が正しく取得されない
neo4jエンティティを使用して有向グラフを表現しようとしています。spring-data-neo4j 4.1.0.BUILD-SNAPSHOT の作業
私のシナリオでは、一般的なグラフ ノードを表す Node と、Node を継承し、いくつかの追加データを含む NodeWithScore があります。グラフ内のすべてのノードは、正確に 1 つの NodeWithScore に接続されています。
次のマッピングを使用しました。
と
次のコードを呼び出す場合:
すべてが期待どおりに機能します。ノード A には 1 つの子 B があり、その子 B には 1 つの子 C があり、3 つすべてが SCORE 関係を介してノード C に接続されています。
そして明らかに、次の行で私が呼び出す場合:
結果は次のようになります。
ただし、次の行で次のように呼び出そうとすると:
私は次の結果を得ています:
それがneo4jのバグなのか、それとも何か間違っているのか教えてください。
java - SDN4 では、同じクラスで複数の 1 対 1 の関係を許可していません
Spring Data Neo4j 4 (SDN4) を使用しています。1 対 1 の関係属性を「変更」しようとすると、SDN が特定の操作方法でデータベースにそれを「追加」するようです。
コード (カプセル化をスキップ)
そして、それをテストします
Neo4j クエリ ブラウザに移動すると、(Foo1)-[:BAR1]->(Bar1) と (Foo1)-[:BAR2]->(Bar2) が表示されます。
そして、これが最も重要なアクションです。Spring コンテナーを再起動し、このフォロー テストを実行します (同時に実行しないでください)。
Neo4j クエリ ブラウザに移動すると、3 つの関係 (Foo1)-[:BAR1]->(Bar1) および (Foo1)-[:BAR1]->(Bar3) および (Foo1)-[:BAR2] が表示されます。 →(Bar2) 元の関係(Bar1)は削除されません。
スプリング コンテナ (または Neo4j セッション) が再起動されると、1 対 1 の関係が完全に崩れてしまうようです。
現在の回避策は、すべての関係を @NoteEntity public class Foo {
それを修正する他の方法はありますか?
neo4j - Spring Data Neo4j 4 を介して特定の関連オブジェクトを持つエンティティを取得するにはどうすればよいですか
次の (プロジェクト、ユーザー、タスク) ドメイン オブジェクトがあります。Spring Data Neo4j 4 (SDN4) を介して特定の関連オブジェクトを持つエンティティを取得するにはどうすればよいですか? たとえば、関連するタスクはあるがユーザーがいないプロジェクトを取得したいとします。このサンプルは機能しません。depth
ユーザーオブジェクトを取得するため、メソッドで定義するのneo4jTemplate.load
は適切ではありません。
//---------