問題タブ [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 - 関連するすべてのエンティティを Neo4jSessionFactory.queryForObject (または同様のもの) でロードします
neo4j-ogm を使用して、2 つのデータベース呼び出しを含む次のコードを作成しました。データベース呼び出しを 1 つだけにしたいのですが。
最初のデータベース呼び出しは
neo4jSession.queryForObject(Member.class, query, parameters);
2 番目のデータベース呼び出しは
return (Member)super(find(member);
super
はreturn session.load(Member.class, member.getId(), 1);
はどこsession
ですかneo4jSession
。
最初の API 呼び出しではノード / オブジェクトのみがフェッチされ、関連するノード / オブジェクトはフェッチされないため、2 番目の API 呼び出しを行います。2 番目の API 呼び出しは、ノードとそのすべての関係を更新します。
たった1回のデータベース呼び出しでこれらすべてを効率的に行う方法を知っている人はいますか?
queryForObject は、他の多くの neo4jSession メソッドがサポートしている可変深度をサポートしていないようです。
spring - Spring OGM-モデリングエンティティ
ある訪問者が居住者への保留中の訪問リクエストを作成するシナリオがあります。次に、居住者からの返信に基づいて、訪問が承認または拒否されます。しかし、新しいリクエストを作成する前に、訪問者が居住者から永久承認訪問許可を付与されている可能性もあります。その場合、承認サイクルを行う必要はありません。
継承を使用できるようにエンティティをモデル化したいのですが、承認/不承認が居住者から訪問者に発生する間、保留中の訪問要求の関係が訪問者から居住者に作成されます。
一般的な Person クラスは次のとおりです。
Entity クラスは spring-OGM の例と同じであることに注意してください。関係タイプが設定された Resident は次のとおりです。
そして訪問者:
以下は、一般的な Visit、PendingVisit、PermanentlyApprovedVisit 関係をこの順序で示したものです。
パブリック抽象クラス 訪問{
pendingVisit を作成しようとするとき、最初に PErmanentlyApprovedVisit 関係が既に存在するかどうかを確認します。私は自分のテストを書いていますが、これが私がテストする方法です:
最後に、これは ResidentRepository メソッドです。
しかし、実行すると、次の例外が発生し続けます。
ここで達成しようとしているモデリングの種類に問題はありますか? これが Prev と Next の問題である別のスレッドを読みました。
java - SDN4 - Neo4j OGM および JsonSubType アノテーション
私は SDN3 から SDN4 移行パスをたどりましたが、ここに記載されている同じ問題に遭遇しました: SDN4 - Neo4j OGM - Jackson 2
回答ではパッチが参照されており、neo4j-ogm 1.1.1 に適用されることが言及されています。それ以来、バージョン 1.1.1 と 1.1.2 を試しましたが、成功しませんでした。JsonSubType アノテーションを使用した SDN アノテーション付きエンティティのサンプルを次に示します。jackson-annotations 2.6.2 を使用しています。
JsonSubTypes アノテーションをコメントアウトすると、単体テストが機能します。ただし、リンクされたstackoverflowの質問のように例外が発生します。
アイデア、回避策はありますか?このパッチは、neo4j-ogm のリリースには適用されていないようです。
maven - この neo4j-ogm / mvn spring-boot:run の問題を診断するにはどうすればよいですか?
これを診断するために使用できる戦略を誰かが提案してくれることを願っています。spring-boot maven プラグインのバグである可能性があると思います。
永続化のために neo4j-ogm を使用するアプリケーションに取り組んでいます。
Eclipse で起動するか、実行可能な jar として起動すると、アプリケーションが起動して問題なく動作します。
それを使用して起動するmvn spring-boot:run
と、機能せず、次のスタック トレースがスローされます。
spring-boot maven プラグインが誤って実行している可能性があることについての指針はありますか?
追加情報
実行可能なjarとして開始すると、次のように出力されます。
mvn spring-boot:run
プリントアウトから始めます:
セッション ファクトリ コード
json - 可視化のためにNeo4j OGMエンティティをツリー形式ではなくGraphJSON形式で返す方法は?
ネストされたツリーのような形式で Neo4j OGM (オブジェクト グラフ マッピング) から JSON データを取得しています。 http://bl.ocks.org/mbostock/4063550
しかし、複雑なグラフを視覚化するには、JSON データを次の graphJSON 形式で取得する必要があります。 http://bl.ocks.org/mbostock/4062045
つまり、ノードとリンクが分離されています。
これは、Java を使用してさまざまな操作を実行した後、d3.js 視覚化を使用して Neo4j からデータを視覚化するためのものです。
java - Neo4j OGM はインターフェイスでうまく機能しますか?
私は 2 セットのクラスを開発しました。最初のセットは単なるクラスですが、2 番目のセットでは、クラスはインターフェイスから派生します。両方のクラスのセットは互いに模倣します。それらのリポジトリも同様です。ただし、リポジトリはクラスの最初のセット (ノードと関係) に対しては適切に機能します。ただし、2 番目のクラスのセットでは、リポジトリはレコードを挿入できますが、findAll メソッドは失敗し、レコードが返されません。
これは、リポジトリを持つクラスの最初のセットです -
これが2番目のクラスセットです -
ここで何か不足していますか?または、Neo4j OGM はクラス (インターフェイスを実装していない) でうまく機能しますか?
ソース コード全体はhttps://github.com/mmwaikar/java-neo-ogm-exにあります(念のために説明します)。ありがとう、マノジ。
spring-data-neo4j-4 - SDN4 を使用した関係の予期しない削除
データ モデルのテストで、neo4j-ogm コードを spring-data を使用するように変換した後、以前に合格したテストが失敗しました。ただし、spring-data-neo4j が問題の原因ではないことはほぼ確実です。もっと概念的に欠けているものがあります(セッションや汚れなどについて?)
テストの動作は次のとおりです。
以前は、ノード A がそのプロパティで更新され、テスト実行後にデータベース内のノード A とノード B の間に関係が存在していました。
ただし、変換後の結果は同じですが、オブジェクト A が 2 回目に保存された後、ノード A とノード B の間の関係がデータベースに存在しなくなる (削除される) ことを除きます。
この動作を変更するために私がしたことはありますか? 期待される動作は何ですか?