問題タブ [spring-data-neo4j]
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 - 継承された @NodeEntity からのインデックスが期待される結果を返さない
私は一般的なエンティティクラスを持っています:
Entity クラスを拡張する Employee クラス:
テストで次のことに気付きました。
値を返しませんが、
どちらも期待どおりに戻ります。
「id」の名前を他のリテラルに変更し、1 (数値) と「1」 (文字列) の両方で検索しようとしましたが、それでも同じです。数値と関係があると思います。
@Indexed を間違った方法で使用しているのではないでしょうか?
使用: neo4j-version: 1.8 spring-data-neo4j.version: 2.1.0.RC4
neo4j - 単純なユース ケースでの Neo4j ノードの永続性の問題
私は現在、neo4j と春のデータを学習するためのいくつかのテスト サンプルを実装しています。cineast プロジェクトと spring-data hello-worlds のような他のサンプルに感謝します...
残念ながら、コードと他のサンプルコードのEclipseデバッガーにすでに時間を費やして、コンパイルを試みて解決策を見つけたとしても、理解できない問題に直面しています。この問題は、実際には些細なユースケースであっても、Neo4j の永続性を検証できないため、特にブロックされています...
ここに私がテストしているクラスがあります:
私は現在、次のjUnitテストケースに感謝してこのクラスをテストしています:
最初のテストは正常に実行されますが、2 番目のテストは失敗します。Eclipseデバッガーで確認すると、次のことがわかります。
- save メソッドの後、正しい firtName、lastName、および id 値を持つ SimplePersonImpl qqun が返されます。しかし、nodeId が null で、その理由がわかりません。しかし、この動作は spring-data hello-worlds サンプルでも同じであるため、私の問題はそこから来ていないと思います。
- 私のqqunオブジェクトでnodeIdがnullであっても、findOneメソッドでは、qqun.getNodeId()は1を返します。この値がどこから来ているのかわかりませんが、続けましょう
- findOne メソッドは retrieveQqun を返します。検索されたすべての Qqun プロパティが null であり、firstName での最初の assertEquals が失敗した理由のようです。
ここで、私がどこで何か間違ったことをしたのか本当にわかりません (私がしたと思います)。これらの点についていくつかの回答をいただければ幸いです (保存呼び出しの後に nodeId=null が表示されるのはなぜですか? すべてのプロパティが null である非 null オブジェクトを取得するのはなぜですか? ...) .
いくつかのエラーが発生する可能性がある最後のポイントは、テスト コンテキストの構成ですが、ここでも問題がどこにあるのかわかりません。
ありがとうございました
neo4j - Springデータを使用してneo4jから動的な値を取得する
インデックス「waypoints」を使用していくつかのポイントが格納されているneo4jデータベースがあります。いくつかのポイントを渡した後、いくつかのポイントを動的に取得したいと思います。このために、プレースホルダー{name1}を作成しました。
しかし、動的パラメータを使用してgetWayPointByNameを呼び出すと、
例外
neo4j - ノードのすべてのプロパティを使用してノードをグループ化するにはどうすればよいですか?
ノードのすべてのプロパティでグループ化されたノードを取得する必要があるという要件がありました。それはこれが好きです:私は次のようにサイファーSQLを書くことができるプロパティ「名前」と「アドレス」を持つneo4j dbに2つのノードを持っています:ノードを開始=ノード(0)マッチノード - >レコードリターンカウント()、レコード.Name,record.address. 簡単にできます。しかし今の問題は、おそらく 50 代の多くのプロパティがあり、プロパティ名が固定されていないことです。次のようにサイファーを記述します: start node=node(0) match node-->record return count( ), record, but it望む結果が得られません。誰でも手を差し伸べることができますか?ありがとう。
entity - SpringDataNeo4jによる監査
私は現在、SpringDataNeo4jを利用するプロジェクトに取り組んでいます。NodeEntityが作成されるたびに、作成日とユーザーを含む参照されたAuditNodeEntityを作成したいと思います。
私が思いついた解決策は、サービスレイヤーのcreateメソッドにフックするAOPアスペクトを作成することです。これは、カスケードされていないエンティティでは正常に機能しますが、カスケードされたエンティティについてはどうでしょうか。これはサービスレイヤーで明示的に渡されないため、AOPクラスはそれらをインターセプトしません。JPAにエンティティリスナーのような概念はありますか、またはこのメカニズムにどのようにフックできますか?
java - spring-data-neo4j で getter と setter を使用するようにする
こんにちは、Stackoverflower さん。
私は最近、Spring の Spring.Data.Neo4j コネクタを Neo4J データベースと組み合わせて使用しようとしました。構成を正しく行った後、次の問題が発生しました。JavaFX ベースのエンティティを格納すると、JavaFX プロパティが null に設定されました。spring.data.neo4j は getter と setter を使用していないように見えますが、代わりにリフレクションを使用しているため、これが最も可能性が高いです。JavaFX プロパティを永続化する方法がわからないため、DB から取得するときに null 値を永続化して上書きします。
これは私のエンティティです
Spring.data.neo4j でアクセスに getter と setter を使用して、JavaFX Bean を保持できるようにすることは可能ですか? それとも私は何か間違ったことをしていますか?
助けてくれてありがとう、カール
spring - LuceneCypherクエリ戦略
まず、使用しているテクノロジーは、Neo4j、Spring、Spring Data Neo4j(すべて最新の安定バージョン)です。
ユーザーはすべてのエンティティを個別に検索でき、すべてのエンティティに対してすべてのグローバル検索を提供できる必要があります。グローバル検索の実装方法に関する提案を集めてほしいと思います。以下は、エンティティをクエリする方法を示すいくつかの(簡略化された!)コードです。各エンティティは独自のLuceneインデックスを使用します。
エンティティ構造:
リポジトリクラス:
リポジトリクラスにアクセスする方法(ここでも、非常に単純化されています):
したがって、単一のエンティティタイプを検索する場合、これはすべてうまく機能します。誰かが、すべてのエンティティタイプを検索するグローバル検索を実装するのが最善のアプローチであると提案できますか?
私が考えていたと思う:
エンティティごとのインデックスではなく、単一のLuceneインデックスを使用します。「a.name」や「b.name」のように@IndexedにfieldNameを指定します。次に、「globalIndex:(a.name:foo OR b.name:foo)」のような単一のクエリですべてのフィールド名を使用します(実際には、これが可能かどうかはわかりません)
エンティティタイプごとに個別の検索呼び出しを起動し、結果を結合します。ただし、インデックススコアに基づくページングと並べ替えを実装することは困難です。
比較的小さなデータセットを使用するため、パフォーマンスについては心配していません。
最後の質問:Cypher Luceneクエリから返される結果は、常にインデックススコアで並べ替えられていますか?そうでない場合、SDNでこれをどのように行う必要がありますか?
spring - Spring Data Neo4j リポジトリには PagingAndSortingRepository がありません
Spring Data Neo4j を評価するための小さなユース ケースを実装しました。PublicRepository
を拡張するインターフェースがありますGraphRepository
。
インターフェイスは次のようになります。
これは私に Error を与えています"The hierarchy of the type PublicRepository is inconsistent"
。
このタイプのエラーは、現在のクラスによって拡張/実装されているクラス/インターフェイスの 1 つが、別のクラス/インターフェイスを拡張/実装しているために発生します。
コア ライブラリのパッケージを調べたところ、拡張されorg.springframework.data.repository
たインターフェイスがライブラリに存在しないことがわかりました。Neo4j Dataの Github Repository で同じものを検索しました。しかし、このインターフェースもそこにはありません。PagingAndSortingRepository
CRUDRepository
Googleで同じことを検索しましたが、この問題の解決策は見つかりませんでした。Neo4jデータの問題キューにもありませんでした。したがって、これを参照してください。
- 誰かがこの問題に遭遇しましたか?
- Neo4j Data Library を春のアプリケーションと統合する他の方法はありますか?
- このインターフェースで spring-data-neo4j jar ファイルはどこにありますか?
- そうでない場合、現在コンパイルされている jar と統合できるインターフェイス定義ファイルはどこにありますか? 同じために必要な環境設定は何ですか?
spring - Spring Data Neo4j サンプル プログラム エラー
Neo4j と Spring Data Neo4j を理解するための小さなアプリケーションを作成しています。しかし、私は常に NullPointerException を受け取りました。したがって、Spring Data Neo4jの最も単純な例の 1 つを使用し、JUnit の main() でテスト ファイルを更新しました。私のテストファイルは次のとおりです。
私のSpringコンテキスト構成は次のとおりです。
テスト コードを実行するたびに、次のエラーが発生します。
構成で見逃したものはありますか? それとも、ここで何か追加が必要ですか?私の知る限り、Neo4j は「target/neo4j-db」にグラフ データベースを作成します。また、私のマシンは Ubuntu なので、マシンに Neo4j の debian パッケージをインストールしました。それで、REST APIを使ってそれを使用しようとしました。そのため、Spring コンテキスト ファイルに次の構成を作成しました。
しかし、それでも同じ例外が発生します。
参考までに: Spring、Spring Data Neo4j、および Neo4j ライブラリを Eclipse のビルドパスに含めました。
編集:
これに関する応答がなかったので、ここの例で提供されているように、JUnit テスト ケースと同じ例を試しました。
JUnit テスト ケースでは、各メソッドで次のエラーが発生しました。
これは、org/neo4j/cypherdsl/grammar/Execute という名前のクラスが見つからないか、見つからないことを示しています。
これはライブラリの 1 つが欠けていることを意味しますが、Neo4j ライブラリには という名前のパッケージが表示されneo4j-cypher-1.8.jar
ます。しかし、これで私は見つかりませんでしたcypherdsl
。
編集2:
最後に、JUnitでは機能しましたが、public static void main()
[psvm]
. herecypherdsl
からダウンロードできるライブラリが 1 つありませんでした。しかし、なぜ私が行くとうまくいかないのですか?psvm
neo4j - spring data neo4jは既存のデータベースを使用
私は Spring Data Neo4j を使用しており、Spring で 1 つのアプリケーションを作成しました。JUnit テスト ケースを利用してアプリケーションを実行できました。しかし、テスト ケースを実行するたびに、 を使用して指定したディレクトリ パスに新しいデータベースが作成されます<neo4j:config storeDirectory="target/neo4j-db"/>
。これにより、ワークスペースがEclipseに存在するのと同じ場所にdbが作成されます。
デフォルトでデータベースが/var/lib/neo4j/data/graph.db
. でデータベースを作成する代わりに、アプリケーションでこのデータベースを使用したいと考えていますtarget/neo4j-db
。私は置き換えようとtarget/neo4j-db
し/var/lib/neo4j/data/graph.db
、データベースへの読み取りと書き込みの許可を与えました。しかし、うまくいきません。
この構成の何が問題になっていますか? 何か不足していますか?