无法成功将csv导入neo4j

时间:2016-04-25 04:46:44

标签: neo4j cypher

我正在尝试使用以下查询将CSV文件导入neo4j数据库:

USING PERIODIC COMMIT

LOAD CSV WITH HEADERS FROM "file:///I:/Traces.csv" AS row

MERGE (e:Event {SystemCall: coalesce(row.syscall, "No Value"), ReturnValue: coalesce(row.retvalue,"No Value"), ReturnTime: coalesce(row.rettime,"No Value"), CallTime: coalesce(row.calltime,"No Value")})

MERGE (s:Subject {ProcessName: coalesce(row.processname, "No Value"), Pid: coalesce(row.pid, "No Value"), tid: coalesce(row.tid, "No Value")})
MERGE (o:Object {Argument1: coalesce(row.arg1, "No Value"), Argument2: coalesce(row.arg2, "No Value")})

MERGE (e)-[:IS_GENERATED_BY]->(s)
MERGE (e)-[:AFFECTS]->(o)
MERGE (e)-[:AFFECTS] ->(s)

CSV文件托管在以下位置:https://drive.google.com/open?id=0B8vCvM9jIcTzRktRTGpxOUZXQjA

查询运行大约需要80K毫秒但不返回任何行。请帮忙。

1 个答案:

答案 0 :(得分:0)

有两个问题。

  1. CSV文件中的逗号分隔符周围不能有多余的空格。 (另外,你应该在每一行的末尾删除额外的11个逗号。)
  2. CSV文件标题中的每个字段名称都必须与Cypher查询中的相应属性名称匹配。目前,大多数名称都不同。
  3. 顺便说一句,在谈论Cypher查询时,术语“返回”几乎总是指RETURN子句。您的问题与RETURN子句无关,实际上与数据创建有关。

    [UPDATE]

    此外,如果您想将大量数据导入到全新的neo4j数据库中,您应该考虑使用Import tool。它会比LOAD CSV快得多。