Neo4j CSV导入类型错误

时间:2016-04-07 15:10:50

标签: java csv neo4j

我尝试将CS​​V文件导入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

2 个答案:

答案 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']})