【问题标题】:Neo4j CSV Import Type ErrorNeo4j CSV 导入类型错误
【发布时间】:2016-04-07 15:10:50
【问题描述】:

我正在尝试将 CSV 文件导入 Neo4j(社区版 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,没有隐藏条目等)。

非常感谢您对解决此问题的所有帮助。

最好的

孩子

【问题讨论】:

    标签: java csv neo4j


    【解决方案1】:

    您正在为行标题提供字段,因此请在导入中使用它们 -

    LOAD CSV WITH HEADERS FROM   
    'file:///test.csv' AS line
    CREATE (:Title_Node { title: line.title, identifier: line.id, value: line.value})
    

    【讨论】:

      【解决方案2】:

      这是一个错误消息的经典示例,完全正确,但不是很有帮助!

      如果您愿意,可以为行索引提供文字-

      LOAD CSV WITH HEADERS FROM   
      'file:///test.csv' AS line
      CREATE (:Title_Node { title: line['title'], identifier: line['id'], value: line['value']})
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-25
        • 2015-07-31
        • 2017-06-07
        相关资源
        最近更新 更多