golangを使用して1000ノードをneo4jに挿入する

Hokutosei :

私はを使用してneo4jにデータをインポートしていますがneoism、ビッグデータ(1000ノード)のインポートに8秒かかる問題がいくつかあります。これは100ノードをインポートするコードの一部です。非常に基本的なコード、改善が必要、誰でも私がこれを改善するのを助けることができますか?

var wg sync.WaitGroup
for _, itemProps := range items {
    wg.Add(1)
    go func(i interface{}) {
        s := time.Now()
        cypher := neoism.CypherQuery{
            Statement: fmt.Sprintf(`
                CREATE (%v)
                SET i = {Props}
                RETURN i
            `, ItemLabel),
            Parameters: neoism.Props{"Props": i},
        }
        if err := database.ExecuteCypherQuery(cypher); err != nil {
            utils.Error(fmt.Sprintf("error ImportItemsNeo4j! %v", err))
            wg.Done()
            return
        }
        utils.Info(fmt.Sprintf("import Item success! took: %v", time.Since(s)))
        wg.Done()
    }(itemProps)
}
wg.Wait()
マイケル・ハンガー:

Afaik neoismはまだ古いAPIを使用しています。代わりにcqを使用してくださいhttps : //github.com/go-cq/cq

また、作成したものをバッチ処理する必要があります。

つまり、リクエストごとに複数のステートメントを送信します(例:リクエストごとに100ステートメント)

または、さらに優れた方法として、パラメータのリストを単一の暗号クエリに送信します。

たとえば{data}は [{id:1},{id:2},...]

UNWIND {data} as props
CREATE (n:Label) SET n = props

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Postmanツールを使用してNeo4jでノードを作成する

分類Dev

py2neoを使用してNeo4jにテキストデータを挿入します

分類Dev

.dataファイルから一括挿入を実行しているときに一意のエッジ/関係のみを使用してPythonを使用してneo4jでノードを作成する方法は?

分類Dev

Python辞書を使用してNeo4jにデータを入力する

分類Dev

CypherのFOREACHを使用してノードの配列をNeo4jに挿入すると、データが追加されるにつれて遅くなります

分類Dev

Neo4jノードのリストに関連するすべてのノードを取得します

分類Dev

Neo4j Cypherを使用して、相互に関連していないノードを見つける

分類Dev

neo4jは、入力による配列順にノードを照合します

分類Dev

Neo4jを使用して同じデータを持つノードをマージする

分類Dev

ノードがすでに存在する場合、NEO4JでUNWINDを使用して複数のノードを作成する

分類Dev

Java ConnectorJarを使用してneo4jですべてのノードの関係を取得する方法

分類Dev

neo4jで画面にすべてのノードを表示する方法

分類Dev

NEO4jを使用して、複数の関係を持つノードを表示する

分類Dev

Neo4jノードタイプを動的に作成する

分類Dev

Neo4j:既存のノードに関係を追加する

分類Dev

Neo4jでノードとRealtionshipを動的に作成する

分類Dev

スキーマインデックスを使用してNeo4jのノードを検索する

分類Dev

Neo4j: ノードに数値インデックスを使用する

分類Dev

neo4j cypher、ノードを検索し、IDによる関係です

分類Dev

neo4j OGMを使用してプロパティ名でノードを検索する

分類Dev

Neo4JでCypherを使用してノード間の拡張パスをクエリする方法は?

分類Dev

Neo4jでC#を使用してラベル付きノードを作成する方法

分類Dev

neo4jで暗号を使用してさまざまなパス長のノードを収集する

分類Dev

csvをneo4jの欠落しているノードにインポートします

分類Dev

Neo4j paramsを使用して一意を作成し、WithParamsを使用してノードを作成します

分類Dev

1回のトランザクションで2Mノード/関係をNeo4Jに挿入しても成功しません

分類Dev

ノードをノードのリストに変換するneo4j

分類Dev

中間ノードを削除し、そのすべての親ノードを子ノードに接続するためのneo4j暗号クエリ

分類Dev

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

Related 関連記事

  1. 1

    Postmanツールを使用してNeo4jでノードを作成する

  2. 2

    py2neoを使用してNeo4jにテキストデータを挿入します

  3. 3

    .dataファイルから一括挿入を実行しているときに一意のエッジ/関係のみを使用してPythonを使用してneo4jでノードを作成する方法は?

  4. 4

    Python辞書を使用してNeo4jにデータを入力する

  5. 5

    CypherのFOREACHを使用してノードの配列をNeo4jに挿入すると、データが追加されるにつれて遅くなります

  6. 6

    Neo4jノードのリストに関連するすべてのノードを取得します

  7. 7

    Neo4j Cypherを使用して、相互に関連していないノードを見つける

  8. 8

    neo4jは、入力による配列順にノードを照合します

  9. 9

    Neo4jを使用して同じデータを持つノードをマージする

  10. 10

    ノードがすでに存在する場合、NEO4JでUNWINDを使用して複数のノードを作成する

  11. 11

    Java ConnectorJarを使用してneo4jですべてのノードの関係を取得する方法

  12. 12

    neo4jで画面にすべてのノードを表示する方法

  13. 13

    NEO4jを使用して、複数の関係を持つノードを表示する

  14. 14

    Neo4jノードタイプを動的に作成する

  15. 15

    Neo4j:既存のノードに関係を追加する

  16. 16

    Neo4jでノードとRealtionshipを動的に作成する

  17. 17

    スキーマインデックスを使用してNeo4jのノードを検索する

  18. 18

    Neo4j: ノードに数値インデックスを使用する

  19. 19

    neo4j cypher、ノードを検索し、IDによる関係です

  20. 20

    neo4j OGMを使用してプロパティ名でノードを検索する

  21. 21

    Neo4JでCypherを使用してノード間の拡張パスをクエリする方法は?

  22. 22

    Neo4jでC#を使用してラベル付きノードを作成する方法

  23. 23

    neo4jで暗号を使用してさまざまなパス長のノードを収集する

  24. 24

    csvをneo4jの欠落しているノードにインポートします

  25. 25

    Neo4j paramsを使用して一意を作成し、WithParamsを使用してノードを作成します

  26. 26

    1回のトランザクションで2Mノード/関係をNeo4Jに挿入しても成功しません

  27. 27

    ノードをノードのリストに変換するneo4j

  28. 28

    中間ノードを削除し、そのすべての親ノードを子ノードに接続するためのneo4j暗号クエリ

  29. 29

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

ホットタグ

アーカイブ