首页 文章

在Neo4j中从csv加载节点时有条件地创建节点和关系

提问于
浏览
3

我有一个csv格式的数据集 . 其中一个字段是类型,如枚举 . 基于这种类型,我需要在使用csv load加载数据时创建不同类型的节点和关系 . 您可以在csv中为具有定义其子类型的属性的超类型调用一行 .

我真的无法弄清楚如何在密码中完成这项工作 . 我唯一的选择是将每个类型的csv文件拆分为csv文件并运行不同的密码?

1 回答

  • 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}))
    

    完成后,您将创建不同类型的节点 .

相关问题