加载CSV Neo4j";Neo.ClientError.Statement.SemanticError:无法使用Test1';的null属性值合并节点&引用;

加载CSV Neo4j";Neo.ClientError.Statement.SemanticError:无法使用Test1';的null属性值合并节点&引用;,csv,neo4j,cypher,Csv,Neo4j,Cypher,我正在使用下面链接中的grades.csv数据 我注意到csv文件中的所有字符串都在“”中,这会导致 错误消息: Neo.ClientError.Statement.SemanticError:无法使用Test1的null属性值合并节点 因此,我删除了标题中的“” 我试图运行的代码: 从加载带有标题的CSV'file:///grades.csv“作为一排 合并(t:Test1{Test1:row.Test1}) 返回计数(t); 错误消息: Neo.ClientError.Statemen

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

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

错误消息:
Neo.ClientError.Statement.SemanticError:无法使用Test1的null属性值合并节点

因此,我删除了标题中的“”

我试图运行的代码:

从加载带有标题的CSV'file:///grades.csv“作为一排
合并(t:Test1{Test1:row.Test1})
返回计数(t);
错误消息:

Neo.ClientError.Statement.SyntaxError:类型不匹配:应为Any、Map、Node、Relationship、Point、Duration、Date、Time、LocalTime、LocalDateTime或DateTime,但为列表(第2行第24列(偏移量:65))

“合并(t:Test1{Test1:row.Test1})

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

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

LOAD CSV ... 
WHERE row.Test1 IS NOT NULL
MERGE (t:Test1 {Test1: row.Test1})
RETURN count(t);
这些问题是:

  • 文件在“Airpump”行的Test1值后缺少逗号
  • 文件每行中的值之间有空格。(搜索regexp
    “,+”
    并替换为
    “,”

  • 在解决上述问题后,您的查询应该可以正常工作。

    错误是什么?谢谢。我更新了问题。对不起,我不熟悉StackOverflow的使用。谢谢。我已经尝试使用
    loadcsv从'file:///grades.csv'AS row WITH row,其中row.Test1不是NULL MERGE(t:Test1{Test1:row.Test1})返回计数(t)。我不太清楚为什么count的返回值是0,而neo4j数据库中没有加载任何内容。对不起,我也意识到了我在原始问题中犯的错误,并进行了更新。谢谢