加载CSV Neo4j“ Neo.ClientError.Statement.SemanticError:无法为Test1'使用空属性值合并节点”

时间:2019-11-07 05:00:56

标签: csv neo4j cypher

我正在使用下面链接中的grades.csv数据,

https://people.sc.fsu.edu/~jburkardt/data/csv/csv.html

我注意到csv文件中的所有字符串都在“”中,这会导致

错误消息: Neo.ClientError.Statement.SemanticError: Cannot merge node using null property value for Test1

所以我删除了标题中的“”

我试图运行的代码:

LOAD CSV WITH HEADERS FROM 'file:///grades.csv' AS row MERGE (t:Test1 {Test1: row.Test1}) RETURN count(t); 错误消息:

Neo.ClientError.Statement.SyntaxError: Type mismatch: expected Any, Map, Node, Relationship, Point, Duration, Date, Time, LocalTime, LocalDateTime or DateTime but was List<String> (line 2, column 24 (offset: 65)) "MERGE (t:Test1 {Test1: row.Test1})

2 个答案:

答案 0 :(得分:0)

基本上,您不能使用空属性值合并节点。您的情况下,文件中的一行或多行Test1必须为null。如果您没有看到Test1的空白值,请检查文件末尾是否有任何空白行。

您还可以在合并之前使用WHERE处理空检查,例如

LOAD CSV ... 
WHERE row.Test1 IS NOT NULL
MERGE (t:Test1 {Test1: row.Test1})
RETURN count(t);

答案 1 :(得分:0)

问题是:

  1. “ Airpump”行中的Test1值后,文件缺少逗号。
  2. 文件的每一行中的值之间都有空格。 (搜索正则表达式", +",并替换为","。)

您的查询应在解决上述问题后起作用。