Neo4jはCSVからノードにプロパティを追加します

ポルジャズ

何百万ものノードを含むラベルPersonがあります。ノードにはいくつかのプロパティがあり、CSVファイルからノードに新しいプロパティを追加しようとしています。その人の名前と名前でそれらを一致させようとしていますが、クエリが遅すぎます。クエリは次のとおりです。

USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'file:///personaldata.csv' AS line1 MATCH (p:Person {forename:line1.forename, surname:line1.surname}) SET p.newPersonNumber=line1.newPersonNumber

クエリを終了する前に、クエリを1時間ほど実行したままにしました。私は何か間違ったことをしていますか?私は上のインデックスを持っていることに注意してくださいforenamesurname

フランク・パヴァゴー

クエリをプロファイリングして、実際にインデックスが使用されているかどうかを確認してください。

PROFILE
WITH "qwe" AS forename, "asd" AS surname
MATCH (p:Person {forename: forename, surname: surname})
RETURN p

そうでない場合は、強制することができます。

WITH "qwe" AS forename, "asd" AS surname
MATCH (p:Person {forename: forename, surname: surname})
USING INDEX p:Person(forename)
USING INDEX p:Person(surname)
RETURN p

Cypher refcard(強調鉱山)で述べたように

Cypherが次善のインデックスを使用する場合、または複数のインデックスを使用する必要がある場合は、インデックスの使用を強制できます

の章も参照してくださいUSING


更新

現在、同じノードで複数のインデックスを使用することはサポートされていないため、クエリが遅い理由と、実際に何かを実行するかどうかに焦点を当てましょう。LOAD CSVサブセットの実際のプロファイルを作成し、データが何かに一致するかどうかを確認できます

PROFILE
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///personaldata.csv' AS line1
WITH line1
LIMIT 10
OPTIONAL MATCH (p:Person {forename:line1.forename, surname:line1.surname})
RETURN p, line1.newPersonNumber

このようにして、MATCH検索結果が何かを検出することを確認できます(つまり、名前と名前にトリミングなどは必要ありません)。また、クエリにとってより有益なインデックスを確認することもできます。使用されるインデックスは1つだけなので、結果は次のようになります。他のプロパティでフィルタリングされ、最も判別的なインデックスを使用すると高速になります。すべての人がジョンズである場合は、名前のインデックスを使用することをお勧めしますが、全員がジョンズである場合は、フォアネームのインデックスを使用します。それらがすべてJohnDoesである場合、重複の問題があります...とにかく、2つのプロファイル(いずれかのインデックスを使用)間のフィルタリングステップの数値を比較すると、インデックスの分布がわかります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ノード間に直接の関係がない場合は、Neo4jのcsvfileから関係にプロパティを追加します

分類Dev

neo4jノードプロパティからISO日付を取得します

分類Dev

既存のノードneo4jサイファーにプロパティを追加する方法は?

分類Dev

Neo4jは特定のプロパティでノードを取得しますJavaAPI

分類Dev

IDノードをプロパティに追加し、結果neo4jでノードのいくつかのプロパティを削除するにはどうすればよいですか?

分類Dev

Neo4j、ノードプロパティ値の順序に従って関係を作成します

分類Dev

cypherの現在のノードの親ノードのプロパティを継承します-neo4j

分類Dev

Neo4jはテキストファイルからプロパティをマージします

分類Dev

Neo4jでCSVから関係にプロパティを条件付きで追加する方法

分類Dev

Neo4jはCSVファイルからノードを更新します

分類Dev

Python Bolt Driverを使用して多くのプロパティをneo4jノードに設定するにはどうすればよいですか?

分類Dev

Neo4j Cypherは、指定されたプロパティとの関係に達するまでノードを取得します

分類Dev

Neo4Jプロパティが存在する場合はノードをマージし、関係のある別のノードを作成します

分類Dev

プロパティを最初のプロパティとして作成する方法(Neo4jブラウザのノードに表示されます)

分類Dev

Neo4jでプロパティ値が重複しているノードを取得するにはどうすればよいですか?

分類Dev

Neo4Jで同じプロパティを持つノード間の関係を作成します

分類Dev

Spring Data Neo4jは新しいノードを挿入せず、同じプロパティを持つ既存のノードのみを更新します

分類Dev

Neo4j はすべてのノードをその親プロパティとともにリストします

分類Dev

プロパティが重複しているNeo4jノードを削除する方法は?

分類Dev

neo4jで各ノードのプロパティを設定します

分類Dev

Neo4jグラフからプロパティを削除します

分類Dev

プロパティ値neo4jでノードを取得

分類Dev

Javascriptは、ブールプロパティによってNeo4jフィルターからデータを取得します

分類Dev

Neo4jでノードを別のノードプロパティでグループ化し、別のプロパティで並べ替えるにはどうすればよいですか?

分類Dev

Neo4jノードで特定のプロパティを表示する方法

分類Dev

ノード、リレーション、プロパティを削除する代わりに追加しているのに、Neo4jデータベースのサイズが先週に比べて小さいのはなぜですか

分類Dev

プロパティセットの長さを知らずに、Neo4jの複数のノードからのプロパティセットの最後の要素のみを比較するにはどうすればよいですか?

分類Dev

neo4jで2つのノードのプロパティ値が同じである場合に、プロパティの重複値に増分整数を追加するにはどうすればよいですか?

分類Dev

Neo4jは、ノードが存在する場合にのみプロパティを追加/更新します。そうでない場合は何もしません

Related 関連記事

  1. 1

    ノード間に直接の関係がない場合は、Neo4jのcsvfileから関係にプロパティを追加します

  2. 2

    neo4jノードプロパティからISO日付を取得します

  3. 3

    既存のノードneo4jサイファーにプロパティを追加する方法は?

  4. 4

    Neo4jは特定のプロパティでノードを取得しますJavaAPI

  5. 5

    IDノードをプロパティに追加し、結果neo4jでノードのいくつかのプロパティを削除するにはどうすればよいですか?

  6. 6

    Neo4j、ノードプロパティ値の順序に従って関係を作成します

  7. 7

    cypherの現在のノードの親ノードのプロパティを継承します-neo4j

  8. 8

    Neo4jはテキストファイルからプロパティをマージします

  9. 9

    Neo4jでCSVから関係にプロパティを条件付きで追加する方法

  10. 10

    Neo4jはCSVファイルからノードを更新します

  11. 11

    Python Bolt Driverを使用して多くのプロパティをneo4jノードに設定するにはどうすればよいですか?

  12. 12

    Neo4j Cypherは、指定されたプロパティとの関係に達するまでノードを取得します

  13. 13

    Neo4Jプロパティが存在する場合はノードをマージし、関係のある別のノードを作成します

  14. 14

    プロパティを最初のプロパティとして作成する方法(Neo4jブラウザのノードに表示されます)

  15. 15

    Neo4jでプロパティ値が重複しているノードを取得するにはどうすればよいですか?

  16. 16

    Neo4Jで同じプロパティを持つノード間の関係を作成します

  17. 17

    Spring Data Neo4jは新しいノードを挿入せず、同じプロパティを持つ既存のノードのみを更新します

  18. 18

    Neo4j はすべてのノードをその親プロパティとともにリストします

  19. 19

    プロパティが重複しているNeo4jノードを削除する方法は?

  20. 20

    neo4jで各ノードのプロパティを設定します

  21. 21

    Neo4jグラフからプロパティを削除します

  22. 22

    プロパティ値neo4jでノードを取得

  23. 23

    Javascriptは、ブールプロパティによってNeo4jフィルターからデータを取得します

  24. 24

    Neo4jでノードを別のノードプロパティでグループ化し、別のプロパティで並べ替えるにはどうすればよいですか?

  25. 25

    Neo4jノードで特定のプロパティを表示する方法

  26. 26

    ノード、リレーション、プロパティを削除する代わりに追加しているのに、Neo4jデータベースのサイズが先週に比べて小さいのはなぜですか

  27. 27

    プロパティセットの長さを知らずに、Neo4jの複数のノードからのプロパティセットの最後の要素のみを比較するにはどうすればよいですか?

  28. 28

    neo4jで2つのノードのプロパティ値が同じである場合に、プロパティの重複値に増分整数を追加するにはどうすればよいですか?

  29. 29

    Neo4jは、ノードが存在する場合にのみプロパティを追加/更新します。そうでない場合は何もしません

ホットタグ

アーカイブ