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

Import particular nodes into Neo4J from CSV file

我正在做一些测试,以弄清楚如何最好地将数据从 CSV 文件导入 Neo4J。我在 Person.csv 文件中有以下数据(3 headers、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})

您可以结合使用 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})