0

私は Neo4j Server 2.3.2 バージョンを使用しており、Unmanaged プラグインを使用して非構造化データを解析し、グラフにロードしています。

それをしている間、ノードが重複し、シーケンシャル処理のスループットが遅い(バッチ処理でも)という状況に陥りました。繰り返しのデータ ロードのユース ケースを考慮して、次のいずれかを使用して (サーバー プラグインを使用して) 並列データ処理を求めます。

  1. ファイルを分割する

  2. 分割加工・ねじ切り

現在、並列の日付読み込みで、私が予測できる最大の課題は、重複するノードの作成を回避する方法など、データの整合性の問題に対処することです。Neo4j の参考資料を読んでいると、独自のノードを作成する次のオプションが見つかりました。

オプション:

  1. [推奨] Cypher と一意の制約を使用して一意のノードを取得または作成する

  2. [その他] Java API からの悲観的ロック

  3. [その他] 従来のインデックスを使用して一意のノードを取得または作成する

さて、問題は、Java API を使用してこの一意の制約をどこから適用できるかです。キャプチャして制約を適用できるイベント情報を探しています。いくつかのイベント/メソッドをロード/呼び出すための最良の方法を教えてください。そこに制約を適用するためのコードを挿入します。

また、任意のエンティティが作成される前に、Cipher を使用してこの独自の施行を定義する方法はありますか。

前もって感謝します

参考文献:

  1. http://neo4j.com/docs/stable/transactions-unique-nodes.html

  2. http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html#tutorials-java-embedded-unique-get-or-create

  3. http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html#tutorials-java-embedded-unique-get-or-create-with-factory

  4. http://neo4j.com/docs/stable/rest-api-unique-indexes.html

  5. http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html#tutorials-java-embedded-unique-pessimistic

  6. http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html#tutorials-java-embedded-unique-get-or-create

  7. http://neo4j.com/docs/stable/javadocs/org/neo4j/graphdb/index/Index.html#putIfAbsent%28T,%20java.lang.String,%20java.lang.Object%29
4

1 に答える 1

1

それは非常に単純でした。どういうわけか、暗号について読んでいるときにそれを見逃していました:(

それはまるで...

CREATE CONSTRAINT ON (n:Person) ASSERT n.name IS UNIQUE;

CREATE CONSTRAINT ON (n:Person) ASSERT n.role IS UNIQUE;

于 2016-03-16T02:45:27.053 に答える