从CSV文件将特定节点导入Neo4J

时间:2019-07-17 14:32:54

标签: import neo4j cypher load-csv

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

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

我想导入特定类型的节点(例如,“ 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})

1 个答案:

答案 0 :(得分: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})