用于加载csv的neo4j cypher导入脚本中的IF条件

时间:2016-04-13 23:28:16

标签: neo4j

我有一个一次性导入脚本.cql编写,使用cypher将数据加载到neo4j。

我们在.cql脚本中提到了多个文件~60个文件。我可以在每个load语句上有一个if条件来检查文件是否存在。如果存在,则运行该代码块跳过

类似的东西:

    if(file1 exists)   // how can i have if statement like this?
    LOAD CSV WITH HEADERS FROM 
    "file:///C:/file1"
    AS csvLine 
    CREATE (p:Capability{id:csvLIne.ID,name:csvLine.Name});

    if(file2 exists) // how can i have if statement like this?
    LOAD CSV WITH HEADERS FROM 
    "file:///C:/file2"
    AS csvLine 
    CREATE (p:Position{id:csvLIne.ID,name:csvLine.Name});

    if(file3 exists)
    LOAD CSV WITH HEADERS FROM 
    "file:///C:/file3"
    AS csvLine 
    CREATE (p:busProc{id:csvLIne.ID,name:csvLine.Name});

    if(file4 exists)
    LOAD CSV WITH HEADERS FROM 
    "file:///C:/file4"
    AS csvLine 
    CREATE (p:Role{id:csvLIne.ID,name:csvLine.Name});

1 个答案:

答案 0 :(得分:0)

Cypher没有提供测试文件存在的方法,因此无法按照您的建议进行测试。

由于您似乎在Windows上运行,因此您可以编写一个批处理文件来测试每个文件是否存在,并为找到的每个文件运行相应的Cypher脚本。