我有一个csv格式的数据集。其中一个字段是类型,如枚举。基于这种类型,我需要在使用csv load加载数据时创建不同类型的节点和关系。您可以在csv中为具有定义其子类型的属性的超类型调用一行。
我真的无法弄清楚如何在密码中完成这项工作。我唯一的选择是将每个类型的一个csv文件拆分成一个csv文件并运行不同的密码?
答案 0 :(得分:5)
这document on conditional statements有帮助。
以下是基于列值加载的简单示例:
数据: A,B 福特汽车 雪佛兰,卡车 马自达,汽车 GMC,卡车 F150,卡车
Cypher代码:
load csv with headers from "file:/testfile.csv" as row
FOREACH(ignoreMe IN CASE WHEN trim(row.b) = "truck" THEN [1] ELSE [] END | MERGE (p:Truck {vehicleType: row.a}))
FOREACH(ignoreMe IN CASE WHEN trim(row.b) = "car" THEN [1] ELSE [] END | MERGE (p:Car {vehicleType: row.a}))
完成后,您将创建不同类型的节点。