【问题标题】:Import particular nodes into Neo4J from CSV file从 CSV 文件将特定节点导入 Neo4J
【发布时间】:2019-07-17 14:32:54
【问题描述】:

我正在做一些测试,以了解如何最好地将 CSV 文件中的数据导入 Neo4J。我在 Person.csv 文件中有以下数据(3 个标题、Person_ID、名称和类型):

Person_ID       Name    Type
HUA001          Jaap    Layperson
HUA002          Teems   Priest
HUA003          Frank   Layperson

我想导入特定类型的节点(例如“外行人”)。

我考虑过使用 WHERE 语句创建一个 LOAD CSV 命令(见下文),但 Neo4J 并不特别喜欢 WHERE 语句。任何想法如何让这个(或具有类似结果的查询)工作?

LOAD CSV WITH HEADERS FROM 'file:///Person.csv' AS row 
WHERE row.Type='Layperson' 
CREATE (p:Person:Layperson {ID: row.Person_ID, name: row.Name})

【问题讨论】:

    标签: import neo4j cypher load-csv


    【解决方案1】:

    您可以结合使用WITHWHERE 来过滤所需的行并将过滤后的行传递给创建节点的下一个查询。

    LOAD CSV WITH HEADERS FROM 'file:///Person.csv' AS row 
    WITH row
    WHERE row.Type='Layperson'
    CREATE (p:Person:Layperson {ID: row.Person_ID, name: row.Name}) 
    

    【讨论】:

    • 太好了,谢谢!不知道有必要使用“WITH”语句。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 2021-09-02
    相关资源
    最近更新 更多