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

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

spring - 同じタイプの複数の Relationship クラス

spring-data-neo4j を使用して、クラスを aとの両方@RelationshipEntity(type="OWNS")にリンクするためにを使用して 2 つのクラスを作成したいと考えています。PersonPetCar

実際Nodeにクエリを実行して、タイプなどRelationshipを確認できるため、これは問題なくグラフ データベースに適切に保存されます。

しかし、使用しようとする@RelatedTo(type="OWNS", elementClass=Pet.class)とクラスキャスト例外が発生するか、遅延初期化を使用すると誤った結果が得られます。

toString()my person (myは省略されていますが、単にtoString()for each フィールドを呼び出すだけです)を印刷しようとしたときに得られる結果は次のとおりです。

これが可能かどうか、行う必要があるかどうか、単なるバグまたは欠落している機能かどうかを誰かが知っていますか?

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

neo4j - Neo4j の TypeRepresentationStrategy を構成する

現在、neo4j を使用した Java プロジェクトに取り組んでいます。

Spring Data Neo4jを使用し、グッド リレーションシップブックからほとんどの情報を取得します。

このドキュメントでは、グラフの標準エンティティ タイプ表現はIndexingNodeTypeRepresentationStrategyであると述べています。

私たちのプロジェクトでは、サブリファレンス ノードを持つプロジェクトを優先します。

リポジトリを操作するときにこの戦略を使用するように neo4j を構成するにはどうすればよいですか。HelloWorld の例から始めたので、現在、次のようなリポジトリ インターフェイスがあります。

さらに、ノード エンティティがあります (関係のないコードのほとんどは省略します)。

TypeRepresentationStrategyを設定する方法の小さな例を誰でも提供できますか?

これはSpring構成で実行できますか?

構成は次のようになります。

編集:

別のセッションの後、私はついにそれを機能させることができました!Michael Hungers の回答に基づいて開始しましたが、Bean を作成できませんでした。彼の例がどこからのものかを見つけました: gitHub。ただし、これはまだうまくいきませんでした。TypeRepresentationStrategyFactory クラスのソース コードを詳しく調べ始めました。Strategy は非公開の列挙型であることがわかりました。これは、私が提供しようとした 2 番目のコンストラクター引数です。私のプロジェクトでは、タイプ Strategy としてそれを検出することはありませんでした。

ストラテジーは非公開なので、最初は少し懐疑的でした。つまり、タイプ Strategy が見つからないため、コードで TypeRepresentationStrategyFactory をインスタンス化することさえできませんでした。私はすぐに、Spring がそのようなことを実行できると思われることを知りました: Beans with private constructor

最終的に、コンストラクターの引数をまったく識別していなかったため、Michael のソリューションを調整する必要がありました。私が何をしたとしても。多分それは私の設定です、私は本当に知りません。しかし、最終的に、プライベート列挙から Beanを作成し、これをコンストラクターへの参照として提供するソリューションを思いつきました。

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

neo4j - Spring Data Neo4j - @RelationshipType の問題

@RelationshipTypeリレーションシップ タイプにフィールドの注釈が付けられている場合、リレーションシップを取得できません。

Neoclipse では関係が正しいように見えますが、アプリケーションで結果を取得していません。

動作しないコードは次のとおりです (簡略化):

と:

動作するコードは次のとおりです。

ただし、これは私のユースケースには適していません (インスタンスRelationshipの任意の組み合わせの間にさまざまなタイプがたくさんありEntityます。

完全なテスト コードは以下のとおりです。AgencyItemは両方とも のサブクラスですEntity

最後の行は、テストが失敗している場所です。手がかりはありますか?

M

PS。私はNeo4jの素人で、たまたま見つけ@RelationshipTypeたので、笑えるほど間違ったことをしているかもしれません。そうだといい!

0 投票する
3 に答える
1433 参照

spring - Springデータneo4jとINキーワードを使用したクエリ

リレーションシップに接続されたさまざまなノードがあります。これらの関係では、列挙型のいくつかのプロパティを使用し、Cyper言語を使用して関係をクエリし、配列内にEnumプロパティを持つもののみを返します。また、クエリしようとしているリレーションシップは、クエリしたいプロパティを持つ別のサブクラスのサブクラスです。次に例を示します。

可視性がプライベート、ネットワーク、またはパブリックのいずれかになり得る列挙型であると想像してください。次に、リポジトリで次のクエリを試しましたが、常にすべてを返すか、エラーをスローします。

私が本当に使いたいのは「IN」演算子ですが、それはINが何であるかを知らないかのようにエラーをスローします。

可視性がインデックスに登録されていませんか?または私はこれをすることになっていないのですか?代わりに、Visibilityプロパティを文字列で変更しようとはしていません。これは、クエリを実行できる他のStringプロパティがあるため、機能するはずです。'IN'演算子の使用はボーナスです!

編集1:私はspring-data-neo4j2.0.1.RELEASEを使用しています。を使用して単体テストでこれを実行しようとしていますが、デフォルト構成を使用してサーバーを実行しているときorg.neo4j.test.ImpermanentGraphDatabaseにクエリが機能することに気付きました@Query("start s=node({0}) match s-[r:TYPE]->e where r.visibility='Private' return r")が、それでも単体テストでは機能しません。また、サーバーを実行している場合でも、「IN」句はエラーをスローします。これは私が使用しているバージョンに関連していますか?より新しいバージョンを使用しようとしたことを覚えていますが、依存関係が失敗したため、再試行する必要があります。

編集2:そこで、spring-data-neo4jのバージョンを2.1.0.BUILD-SNAPSHOTに更新し、neo4jバージョンも1.7にアップグレードしました。これで、「IN」キーワードのエラーは発生しませんが、検索対象の値を渡すためにどの構文を使用すればよいかわかりません。だから持っている

のような単純な文字列を渡す場合は機能しますが、一致を返しても何も返さないものPublicを渡す場合は機能しません。のパラメータも変更してみましたが、まったく機能しません。Public, PrivatePublicString visibilityString[] visibility

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

spring - spring-data-neo4jでインデックス付けされていないlong型のフィールド

タイトル通り。注釈付きのPOJOを作成しました。その中に、インデックスを付けて検索したい@NodeEntity識別子として使用したいフィールドがあります。long

POJOを使用しneo4jTemplateて保存すると、問題なく保存され、neo4jがクラスのインデックス名を作成しているのがわかりますが、インデックスに対してクエリを実行しようとすると、何も表示されません。

intとの両方でフィールドを試しましたlongが、どちらも機能しないようです。1クエリを実行するときに、、、の両方を試しましたが、ノードを返すものは1lありません。"1"

int値がまたはであるキー/値を使用してインデックスを作成できlong、それらが正常に機能することを確認できます。

他の誰かがこれに遭遇しましたか?

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

date - 日付を Spring Data neo4j と比較する

プロパティの関係を照会する場合java.util.Date、どの構文を使用すればよいですか? 次のようなクエリを使用してみました (これは、私がやろうとしていることを示すための単なる例です。変数名に注意を払わないでください):

しかし、次のエラーがスローされます。

私も日付を渡してみましたが、同じエラーがスローされますが、Long と Date を比較しようとしています。

spring-data-neo4j バージョン 2.0.1.RELEASE を使用しています

0 投票する
3 に答える
3574 参照

spring - org.neo4j.graphdb.NotInTransactionException

これに頭を悩ませて1週間が経ちましたが、まだ解決策が見つからないようです。spring-data-neo4j maven アーティファクトと、この問題を引き起こす次のコード行を使用しています。

メソッドを実行すると、次のエラーが発生します

accessorSet.add(classDescriptor);

スタックトレース:

私のエンティティは次のとおりです:( User.java )

( Project.java )

助けてください !依存関係ツリーが添付されています。

依存関係ツリー

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

spring - Spring Data NEO4J:リレーションの値がnull

Spring 3.1(Milestone)とSpring Data Neo4J2.1RCプロジェクトを実行しています。すべてが正常に起動し、neo4jデータベースが必要に応じて入力され、neoclipseにも表示されます。

ここで、IDによってエンティティ(Container.javaと呼びます)をフェッチし、関係を「イベント」にします。

Container.javaの関係は、次のようにモデル化されています。

container.getEvents()にアクセスしてそれらを反復処理すると、単一のイベントにIDがあることがわかりますが、他のすべてのプロパティはnullです:( neoclipseで確認すると、すべてのプロパティが適切に保存されます。

ある種の「熱心な」または「遅延」読み込みはありますか?@RelationshipTypeは使用しません。

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

neo4j - neo4j にトランザクション イベント ハンドラを登録する

私は現在、Neo4j で Spring Data を使用しておりSpringRestGraphDatabase、特定のトランザクション イベント ハンドラーを登録できるようにサブクラス化しました。

registerTransactionEventHandlerそのためにメソッドを呼び出します。残念ながら、私は常に次の例外を受け取ります。

AbstractRemote をよく見ると、常に例外がスローされることがわかります。

register メソッドのRestGraphDatabase実装が提供されていないため、例外が発生します。特に拡張しているため、どの代替手段を使用すればよいかわかりませんSpringRestGraphDatabase

よりクリーンな代替手段はありますか?

(私は v2.1.0.M1 を使用しています)

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

spring-security - Neo4j スプリング セキュリティ

Neo4j のようなグラフ データベースは、「ユーザー」と、スプリング セキュリティがアクセス権をチェックする情報を格納するのに適していますか?