【问题标题】:Loading relationships from a tsv file not working on neo4j从 tsv 文件加载关系在 neo4j 上不起作用
【发布时间】:2020-02-23 01:24:32
【问题描述】:

我正在尝试将 tsv 文件中的关系导入到 neo4j 中,其中包含大约 1,000,000 多行。我能够在几秒钟内成功导入包含 23,000 个节点的节点文件。尽管如此,当我尝试导入 tsv 关系文件时,neo4j 需要很长时间来计算这个文件(几个小时),只是为了说“没有更改没有创建任何关系”。我不知道我是否正确执行此操作,因为我对 neo4j 还很陌生。

我使用的是 neo4j 社区版。

The node file that is imported into neo4j looks like this: 

id      name    kind
Anatomy::UBERON:0000002 uterine cervix  Anatomy
Anatomy::UBERON:0000004 nose    Anatomy
Anatomy::UBERON:0000006 islet of Langerhans Anatomy

The relationship file looks like: 

source  metaedge    target
Gene::801       GiG     Gene::7428
Gene::5987      GiG     Gene::9412
Gene::5747      GiG     Gene::79738



//how im trying to link the relationships

using periodic commit 
LOAD CSV WITH HEADERS FROM 'file:///edges.tsv' as edges FIELDTERMINATOR'\t' 
MATCH (a:myNodes{name:edges.source})
MATCH(b:myNodes{name:edges.target})
CREATE (a)-[:CONNECTED{metaedge:edges.metaedge}]->(b)    


Don't know how to make this work and speed up the process as well.

【问题讨论】:

    标签: csv neo4j


    【解决方案1】:


    使用 PERIODIC COMMIT 你应该指定一个值

    该值取决于 Neo4j 的 RAM 可用性。 这个值可以在neo4j.conf中设置

    另外,您对 myNodes 的名称是否有唯一性限制?

    我建议不要从 web 应用程序运行您的导入,而是从 CLI 运行。 如果您的 RAM 有限,则单独运行服务器(不是桌面)

    运行另一个工具来查看 RAM 负载、CPU 负载、磁盘负载可以帮助您找到正确的导入设置。

    【讨论】:

    • 是的,我没有使用桌面 GUI,我最终使用了 neo4j 导入工具,我仔细阅读了在线文档,并在 2 秒内导入了所有内容。尽管如此,还是非常感谢您的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多