我尝试将CSV文件导入Neo4j(Community Edition V 2.3.2)。 CSV的结构如下:
id,title,value,updated
123456,"title 1",10,20160407
123457,"title 2",11,20160405
CSV路径在Neo4j属性文件中设置。
当我使用以下导入语句时
LOAD CSV WITH HEADERS FROM
'file:///test.csv' AS line
CREATE (:Title_Node { title: line[1], identifier: toInt(line[0]), value: line[3]})
我收到以下错误消息:
警告:预期1是java.lang.String,但它是java.lang.Long
当我用
查询test.csv文件时LOAD CSV WITH HEADERS FROM 'file:///test.csv'
AS line
RETURN line.title, line.id, line.value;
Cypher可以毫无问题地访问数据。
+------------------------------------+
| line.title | line.id | line.value |
+------------------------------------+
| "title 1" | "123456" | "10" |
| "title 2" | "123457" | "11" |
+------------------------------------+
效果发生在浏览器和shell中。
我在Having `Neo.ClientError.Statement.InvalidType` in Neo4j找到了以下问题并尝试了在此答案中发布的Neo4j链接中提到的提示,但收效甚微。 CSV文件本身似乎没有结构(UTF8,没有隐藏条目等)。
非常感谢每一个解决这个问题的帮助。
最佳
Krid
答案 0 :(得分:2)
您正在提供行标题的字段,因此请在导入中使用它们
LOAD CSV WITH HEADERS FROM
'file:///test.csv' AS line
CREATE (:Title_Node { title: line.title, identifier: line.id, value: line.value})
答案 1 :(得分:0)
这是一个错误信息的典型示例,它完全正确,但不是很有帮助!
如果您愿意,可以将文字提供给线索引 -
LOAD CSV WITH HEADERS FROM
'file:///test.csv' AS line
CREATE (:Title_Node { title: line['title'], identifier: line['id'], value: line['value']})