我正在做一些测试,以确定如何最好地将数据从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})
答案 0 :(得分:1)
您可以结合使用WITH
和WHERE
来过滤所需的行,并将过滤后的行传递给下一个创建节点的查询。
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})