簡體   English   中英

如何使用Python將批量數據插入到Neo4j中

[英]How to insert Bulk data into Neo4j using Python

我想使用py2neo將一些數據插入到Neo4j中。 鏈接到數據文件。 我是Neo4j新手。 有人能告訴我如何將批量數據插入Neo4j 。實際上我想做Neo4j性能測試.....

我試過這個,但這只適用於小數據集......

from pprint import pprint
from py2neo import neo4j,node, rel
graph_db = neo4j.GraphDatabaseService()

def insert_data():
    die_hard = graph_db.create(
        node(name="Bruce Willis"),
        node(name="John McClane"),
        node(name="Alan Rickman"),
        node(name="Hans Gruber"),
        node(name="Nakatomi Plaza"),
        rel(0, "PLAYS", 1),
        rel(2, "PLAYS", 3),
        rel(1, "VISITS", 4),
        rel(3, "STEALS_FROM", 4),
        rel(1, "KILLS", 3),)
    pprint(die_hard)

insert_data()

錯誤:

src/test/java/org/neo4j/batchimport/TestDataGenerator.java:3: error: package org.junit does not exist
import org.junit.Ignore;
                ^
src/test/java/org/neo4j/batchimport/TestDataGenerator.java:14: error: cannot find symbol
@Ignore
 ^
  symbol: class Ignore
2 errors

我強烈建議您使用' Geoff '格式代表'圖形導出目標文件格式'。

在此方法中,您基本上生成一個包含節點和關系信息的文本文件,然后用於在批量插入中填充數據庫。

' Load2Neo '模塊用於批量插入信息。

使用它之后,我可以說它非常快。 請務必查看此處的簡單文檔。 只要您遵循語法規則,您就可以獲得Geoff的流暢體驗!

Geoff由Nigel Small開發,他也是Py2Neo(Neo4j的python驅動程序)的作者。 你遇到問題並希望得到快速幫助,確保你給Nigel發了一條推文 他幫忙了!

不確定這是否是您遇到的問題,但是當我嘗試您的示例時,我的[name =]語法出錯了。 傳遞給node()構造函數的是字典。 node()構造函數有多種語法,我沒有看到與您使用的語法相匹配的語法。 所以,嘗試使用這樣的字典語法:

node({"name": "Bruce Willis"})

另外,我不確定你是否配置了默認的neo4j url,但是我必須在new4j.GraphDatabaseService()調用中指定一個連接點url。

所以,你的代碼看起來像:

from pprint import pprint
from py2neo import neo4j, node, rel
graph_db = neo4j.GraphDatabaseService('http://localhost:7474/db/data')

def insert_data():
    die_hard = graph_db.create(
        node({"name": "Bruce Willis"}),
        node({"name": "John McClane"}),
        node({"name": "Alan Rickman"}),
        node({"name": "Hans Gruber"}),
        node({"name": "Nakatomi Plaza"}),
        rel(0, "PLAYS", 1),
        rel(2, "PLAYS", 3),
        rel(1, "VISITS", 4),
        rel(3, "STEALS_FROM", 4),
        rel(1, "KILLS", 3),)
    pprint(die_hard)

insert_data()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM