問題タブ [spring-data-neo4j-4]
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 - SDN4 : finder メソッド名から派生したクエリの深さを定義する方法は?
次のようにリポジトリを定義しました。
リポジトリで findByName を呼び出すと、名前プロパティが一致するサービス項目のリストが実際に返されるように機能します。ただし、Service エンティティにはネストされたエンティティが含まれているため、このクエリのデフォルトの深さ 1 をオーバーライドできる必要があります。
.findAll(int) メソッドの場合と同様に、このクエリの深さを定義する方法はありますか?
neo4j - Neo4j: Spring Data Neo4j のネイティブ Java API (または同等の暗号クエリ)
過去数日間、DEMO のために Neo4j embedded-db を試していましたが、ネイティブ Java API のインデックス作成、lucene クエリ、さらにはファジー検索を実行することに完全に感銘を受けました。次に、Spring Data Neo4j 4.0 を使用してこの POC を運用することにしましたが、Cypher クエリとファジー検索で問題が発生しました。
私のドメインクラス「チーム」は次のようになります。
次のようにデータベースにデータを入力しています。
私の TeamRepository インターフェイスは次のようになります。
私のクエリは次のようになります。
List<Team> teams = teamRepository.findByTeamName("The Los Angeles Will be Playing in a state of Golden");
上記の CYPHER クエリは何も返しません。
以下のようなネイティブ Java API タイプのクエリを Spring で実行して、次の結果を取得できるようにしたいと考えています (teamIndex は、チーム名で作成した全文検索インデックスです)。
IndexHits<Node> found = teamIndex.query("Team-Names",queryString+"~0.5");
.
ネイティブ Java API が見つかりました:
- ロサンゼルス・レイカーズ
- ロサンゼルス・クリッパーズ・オブ・アナハイム
- ゴールデンステート・ウォリアーズ
- ロサンゼルス・スラッパーズ・オブ・アナハイム
- ロサンゼルス スリッパ オブ アナハイム
java - Neo4JTemplate 1 つのクエリで ID を作成して取得する - Spring Data Neo4j 4.0.0.M1
Spring Data Neo4j 3.1.2 でこのクエリを使用して、人を作成し、その ID を取得しました。
私の Neo4JTemplate を使用して、次のクエリを実行します。
サーバーサポートのため、Spring Data Neo4J 4.0.0.M1 を使用したいと思います。
SDN 4 では、Neo4jTemplate を使用してクエリを実行できます。
また
私の質問は次 のとおりです。neo4jTemplate を使用して、ノードを作成し、その ID を取得する 1 つのクエリのみを使用するにはどうすればよいですか?
PS: ID の作成と戻りは機能しますが、この問題を管理するクエリは 1 つだけです。
neo4j - SDN4 - 関係エンティティの子を更新すると、関係が削除される
GraphUnit でサポートされている統合テストを書いていますが、既存の関係が指す子ノードを更新しようとすると、奇妙な動作に気付きました。
次のようなバッキング グラフとの既存の関係があるとします。
次のようなコードを書いて更新しようとすると:
結果のグラフは次のようになります。
しかし、私はそれが次のようになることを期待しています:
GraphRepository を実行したときに表示される生のログ出力にはsave()
、関係を削除する Cypher クエリの DELETE ステートメントが含まれています。
これはバグですか?それとも、SDN4 関係エンティティを適切に更新していませんか? 効率的に更新を行うたびに、リレーションシップを削除してゼロから作成する必要がありますか?
neo4j - SDN4 - RelationshipEntity の末尾としてインターフェイスを使用すると、MappingException がスローされる
この機能は、ある時点では機能していましたが、最新の SDN4 スナップショット (7-16-15) では壊れているようです。
2 つのノード クラスがあります。1 つは中間の非リーフ ノードを表し、もう 1 つは次数 1 のリーフ頂点ノードを表します。2 つのクラスは、共通のインターフェイスを実装します。
前者は他の中間ノードまたはリーフ ノードに関連付けることができ、SimpleNode
クラスをNode
INTERFACEにマッピングすることでこの関係をモデル化しました。
Spring Boot アプリケーションを起動しようとすると、SDN マッピング例外が発生します。
繰り返しますが、これは 2015 年 7 月 16 日のスナップショットの前に機能していたので、私の質問は - これはサポートされていない機能ですか? これはバグですか?
不自然な例が https://github.com/simon-lam/sdn-4-demoにあります。
することで再現可能./gradlew clean test --debug
neo4j - SDN4 - GraphRepository findOne と findById
私は Spring Data Neo4j 4.0.0.RC1 を使用しており、GraphRepository
のfindOne
メソッドでいくつかの興味深い動作に気づいています。
2 つのGraphRepository
拡張子を指定すると、次のようになります。
次に、完全に白紙の状態でシングルを作成するSimpleNode
と、1L の ID が割り当てられたとします。を呼び出すと、 null ではなくotherNodeRepository.findOne(1L)
aが返されます。これは、メソッドが戻ってきており、SDN ノード タイプを尊重していないClassCastException
ことを示唆しています。findOne
SimpleNode
これは予想される動作ですか?これは、それぞれのリポジトリインターフェースでメソッドを作成することで回避できると思いfindById
ますが、直感に反するようであり、JPAリポジトリがそれを処理する方法とは明らかに矛盾しているようです。
java - Spring Data Neo4J 4 - GraphRepository の Order By が機能しない
neo4j-graphdatabase スタンドアロン サーバーを操作するには、Spring Data Neo4j 4.0.0.M1 の依存関係を pom に追加します。
ところで。私は独自の CDI 拡張機能を作成し、JavaEE 6 で使用しています (テスト済みで動作します)。
私は自分のアプリケーションで人を管理します。したがって、updatedTime ですべての人の順序を取得したい場合は、次の簡単なクエリを my で使用しますPersonRepository (GraphRepository<Person>)
。
私のテストでは、3 つのステートメントを持つ 3 人を作成しました。
1.
2.
3.
updatedTime DESC で注文されたすべての人を取得するには、次を使用します。
と取得しないでください
しかし
それをデバッグするために私は使用します
sudo ngrep -t -d any port 7474
...そして、私のneo4jサーバーからのコミットは問題ありませんでした:
だから今私の質問は:
1. 3 人の正しい順序を得るにはどうすればよいですか?
Iterable<Person>
2. この問題はobject-graph-mapping への変換に依存しますか?
3. この問題は、neo4j セッションからのキャッシングに依存していますか?