問題タブ [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.

0 投票する
1 に答える
392 参照

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 で初期化する方法はありますか?

そうでない場合、自分でコンバーターを登録できますか?

0 投票する
1 に答える
1333 参照

java - Neo4J OGM の設定関係プロパティ

昨日、Neo4j OGM を知り、すぐに新しいプロジェクトを作成して、その動作をテストしました。私が遭遇した問題の 1 つは、Relationhip プロパティを設定することです。これは私のプロジェクトにとって非常に重要です。次に例を示します。

部屋ノード:

接続ノード (関係):

}

主な方法:

ご覧のとおり、メイン メソッドで長さを設定しましたが、 http://localhost:7474でデータベースを確認すると、ノード間の関係が表示されますが、プロパティがないと表示されます。

コンソール出力は次のとおりです。 http://pastebin.com/CByfmVcR

プロパティの設定に関するヘルプは非常に高く評価されます。それとも、オブジェクトを neo4J データベースにマッピングする別の/より簡単な方法はありますか?

ありがとう

0 投票する
1 に答える
209 参照

java - 春のデータ neo4j 4 日付がキャストできない

spring data neo4j 4 を使用しています。オブジェクトを正常に保存しました。しかし、neo4j からオブジェクトを取得すると、次の例外が発生します。

コード:

例外:

0 投票する
1 に答える
300 参照

java - Neo4j-OGM 関係がロードされない

私のプロジェクトには、関係によって接続されているMapNodesConnectRelationがあります。ConenctRelationプロパティの長さがあります。ノードとその関係はNeo4J問題なくデータベースに保存されます。しかし、ノードをロードするときrelationsListは空です。


MapNode クラス


ConnectRelation クラス:


塗りつぶしと読み込みの方法:

私が抱えている問題は、深さが 1 より大きい値に設定されている場合でも、ノードをロードするときに MapNode の関係フィールドが空であることです。

前もって感謝します!

0 投票する
1 に答える
183 参照

neo4j - Neo4j - エンド ノード サブクラス タイプに基づく識別関係

spring-data-neo4j 4 データ モデルで継承が使用されている場合、エンド ノード タイプに基づいてリレーションシップを読み込んで判別するときに、スーパー クラスが判別子として使用されていることに気付きました。spring-data-neo4j-4 にサブクラスをディスクリミネータとして強制的に使用させる方法はありますか?

たとえば、左側に次のようなデータ モデル (クラス ダイアグラム) があり、右側にその neo4j データベース表現があるとします。

クラス図と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 に簡略化されていません)。

OGM図

追加情報:

@NodeEntity アノテーションを使用して、BaseNodeEntity 以外のすべてのモデル オブジェクトにアノテーションを付けてみました。プロパティには注釈が付けられます。

2016 年 5 月 9 日更新

loadMemberByEmailAddressPasswordAccount の ogm コードをリポジトリの派生ファインダーと交換すると、同じ断続的な結果が得られます。

0 投票する
2 に答える
135 参照

java - ロック付き Neo4j Java OGM 選択

Java OGM for Neo4j を使用して、そのパスの最後のノードをロックしてパスを選択しようとしています。

サイファーでそれを行うために、次のクエリを作成しました。

State最後のリーフをロックして(プロパティを変更して)必要なパスを選択します。

ただし、このクエリを実行しようとすると:

私は得るjava.lang.RuntimeException: query() only allows read only cypher. To make modifications use execute()

これを行う適切な方法は何ですか?

0 投票する
2 に答える
526 参照

java - Neo4j-ogm クエリ パス

私の Java コードには、ツリー内のルートからリーフまでの最短パスを一致させるためのクエリがあります。

ただし、次のようにこれをクエリしようとすると

oマップされたオブジェクトの代わりに ofArrayListが含まれています。LinkedHashMap

パス要素のラベルと、関係の開始ノードと終了ノードを特定することさえできません。

私は何を間違っていますか?

0 投票する
1 に答える
107 参照

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 を構成しています。現在行っている方法よりもノードを保存するためのより良い方法はありますか?

ティア

0 投票する
1 に答える
165 参照

scala - 慣用的な Scala クラスで neo4j OGM を使用するにはどうすればよいですか?

ドメイン オブジェクトの慣用的な (つまり、ケース クラス、不変の) Scala クラスで Neo4j の新しい OGM ライブラリを使用したいと考えています。

次のクラスを Neo4j OGM で動作させるために使用できる追加の注釈はありますか? @GraphId が見つからないため、以下に定義されている国は保持されません。変更可能なグラフ ID メンバー var を追加すると (すでに望ましくありませんが...)、オブジェクトは永続化されますが、name プロパティはありません。

今のところ、変更可能なプロパティを持つ Java のようなクラスを使用することにこだわっていますか?

ありがとう!スティーブ