問題タブ [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 - Spring @Component として Neo4j OGM コンバーターを使用することは可能ですか?
@Component として注釈が付けられたカスタムコンバーターがあり、ブート時に @Autowired を介して Spring によって注入される MyBean に依存します。
MyEntity には、そのコンバーターによって変換されるフィールド MyObject があります。OGM は、Neo4j から MyEntity を取得するとすぐに、MyObjectToStringConverter から toEntityAttribute を呼び出します。しかし、私はNPEを取得しています。OGM は、Spring によって作成された私のコンバーターを再利用していないようで、MyBean の依存関係は常に NULL です。
OGM は私のコンバーターを Spring コンテキストから取得できるはずですか?
MyBean を OGM で初期化する方法はありますか?
そうでない場合、自分でコンバーターを登録できますか?
java - Neo4J OGM の設定関係プロパティ
昨日、Neo4j OGM を知り、すぐに新しいプロジェクトを作成して、その動作をテストしました。私が遭遇した問題の 1 つは、Relationhip プロパティを設定することです。これは私のプロジェクトにとって非常に重要です。次に例を示します。
部屋ノード:
接続ノード (関係):
}
主な方法:
ご覧のとおり、メイン メソッドで長さを設定しましたが、 http://localhost:7474でデータベースを確認すると、ノード間の関係が表示されますが、プロパティがないと表示されます。
コンソール出力は次のとおりです。 http://pastebin.com/CByfmVcR
プロパティの設定に関するヘルプは非常に高く評価されます。それとも、オブジェクトを neo4J データベースにマッピングする別の/より簡単な方法はありますか?
ありがとう
java - 春のデータ neo4j 4 日付がキャストできない
spring data neo4j 4 を使用しています。オブジェクトを正常に保存しました。しかし、neo4j からオブジェクトを取得すると、次の例外が発生します。
コード:
例外:
java - Neo4j-OGM 関係がロードされない
私のプロジェクトには、関係によって接続されているMapNodesConnectRelation
があります。ConenctRelation
プロパティの長さがあります。ノードとその関係はNeo4J
問題なくデータベースに保存されます。しかし、ノードをロードするときrelationsList
は空です。
MapNode クラス
ConnectRelation クラス:
塗りつぶしと読み込みの方法:
私が抱えている問題は、深さが 1 より大きい値に設定されている場合でも、ノードをロードするときに MapNode の関係フィールドが空であることです。
前もって感謝します!
neo4j - Neo4j - エンド ノード サブクラス タイプに基づく識別関係
spring-data-neo4j 4 データ モデルで継承が使用されている場合、エンド ノード タイプに基づいてリレーションシップを読み込んで判別するときに、スーパー クラスが判別子として使用されていることに気付きました。spring-data-neo4j-4 にサブクラスをディスクリミネータとして強制的に使用させる方法はありますか?
たとえば、左側に次のようなデータ モデル (クラス ダイアグラム) があり、右側にその neo4j データベース表現があるとします。
現在、次の行に沿ったコードを持つ Owner エンティティがあるとします。
spring-data-neo4j-4 フレームワークは、Dog と Cat の両方を Cats のセットと Dogs のセットに自動的にマップするため、2 つの「犬」(実際にはそのうちの 1 つが猫ですが) と 2 つの「データベースからロードされた猫 (ただし、そのうちの 1 つは実際には犬です)。データ モデルからスーパー クラス Pet と BaseNodeEntity を削除すると、Dog と Cat はそれぞれのセットに自動的に正しくマップされます。
spring-data-neo4j-4 にデータ モデルを正しくマッピングさせる方法はありますか? または、データ モデルを強制的に変更する必要がありますか? 多くの再利用が行われているため、データ モデルからスーパー クラスを削除することに熱心ではありません。余分な関係を追加する (つまり、OWNS を CAT_OWNER と DOG_OWNER に分割する) ことも同様に面倒です。
アップデート
この動作に一貫性がないことに気付きました。マッピングをテストする単体テストを作成しました。奇妙なことに、成功することもあれば失敗することもあります (誤って猫を犬として、犬を猫としてマッピングすることもあれば、そうでないこともあります)。単体テストを手動で 10 回実行すると、次の合格/不合格の結果が得られました。
確かに、マッピングの動作は一貫している必要があります。これは SDN-4 のバグでしょうか?
2016 年 5 月 8 日更新
この度は更新が滞り申し訳ございません。私はこのプロジェクトに再び取り組む機会を得たばかりです。これを再テストしたところ、最新の安定した neo4j リリースで同じ結果が得られました。
テスト ケースで使用された実際のドメイン モデルを下に添付しました。テスト ケースの詳細は、 https://github.com/johndeverall/thescene-spa/issues/142で確認できます。テスト ケース コードは次のとおりです。
テストケースが示す問題
次の方法:
2 つのタグと、実際にはイベントであるタグを含む、createdTags のセットを持つメンバー オブジェクトを返します。
私の実際のドメイン モデルは以下のとおりです (Dogs and Cats に簡略化されていません)。
追加情報:
@NodeEntity アノテーションを使用して、BaseNodeEntity 以外のすべてのモデル オブジェクトにアノテーションを付けてみました。プロパティには注釈が付けられます。
2016 年 5 月 9 日更新
loadMemberByEmailAddressPasswordAccount の ogm コードをリポジトリの派生ファインダーと交換すると、同じ断続的な結果が得られます。
java - ロック付き Neo4j Java OGM 選択
Java OGM for Neo4j を使用して、そのパスの最後のノードをロックしてパスを選択しようとしています。
サイファーでそれを行うために、次のクエリを作成しました。
State
最後のリーフをロックして(プロパティを変更して)必要なパスを選択します。
ただし、このクエリを実行しようとすると:
私は得るjava.lang.RuntimeException: query() only allows read only cypher. To make modifications use execute()
これを行う適切な方法は何ですか?
java - Neo4j-ogm クエリ パス
私の Java コードには、ツリー内のルートからリーフまでの最短パスを一致させるためのクエリがあります。
ただし、次のようにこれをクエリしようとすると
o
マップされたオブジェクトの代わりに ofArrayList
が含まれています。LinkedHashMap
パス要素のラベルと、関係の開始ノードと終了ノードを特定することさえできません。
私は何を間違っていますか?
java - 複数の関係を持つ SDN4 エンティティを保存すると、Neo4j 2.3.1 サーバーが停止する
私はガイド サービスのアプリケーションを作成しており、デジタル オーシャン ドロップレットで Neo4j 2.3.1 の 3 サーバー クラスターを実行しています。また、Tomcat で実行されている JSF Web アプリから Spring Data Neo4j 4.0.0.RELEASE を使用して、データの書き込みとクエリを実行しています。
80以上のインスタンスを正常に保存した他のノードとの潜在的に7つの異なる関係を持つノードがありますが、ノードを保存しようとすると、インスタンス1のマスターneo4jサーバーで突然メモリ不足エラーが発生し始めました。Neo4j サーバーのメモリ設定を次のように更新しました。
OutOfMemoryError は発生しなくなりましたが、ノードを保存しようとするとサーバーが失敗します。サーバーが正常に機能しなくなる前に、データを照会できます。サーバー 1 のマスター data/log/console.log ファイルにエラー メッセージが表示されることはありませんが、サーバー 2 スレーブの data/log/console.log ファイルには次のメッセージが表示されます。
Node Entity Java コード:
保存するために使用するコードは、SDN4 GraphRepository 保存によるものです。
GraphRepository 保存:
このノードを保存するときにサーバーが突然失敗し始める原因についてのアイデアはありますか? 現在、Neo4j データベースには 19957 個のノードがあり、そのほとんどが DateTree を構成しています。現在行っている方法よりもノードを保存するためのより良い方法はありますか?
ティア
scala - 慣用的な Scala クラスで neo4j OGM を使用するにはどうすればよいですか?
ドメイン オブジェクトの慣用的な (つまり、ケース クラス、不変の) Scala クラスで Neo4j の新しい OGM ライブラリを使用したいと考えています。
次のクラスを Neo4j OGM で動作させるために使用できる追加の注釈はありますか? @GraphId が見つからないため、以下に定義されている国は保持されません。変更可能なグラフ ID メンバー var を追加すると (すでに望ましくありませんが...)、オブジェクトは永続化されますが、name プロパティはありません。
今のところ、変更可能なプロパティを持つ Java のようなクラスを使用することにこだわっていますか?
ありがとう!スティーブ