Neo.ClientError.Statement.TypeError:期望长(0)为org.neo4j.values.storable

时间:2018-04-19 18:14:46

标签: neo4j cypher

我使用以下代码在Neo4j中导入csv文件:

LOAD CSV WITH HEADERS FROM "file:///datafile.csv" AS row 
MERGE (u:User {id: toInt(row[0])}) 
MERGE (t:Team {id: toInt(row[1])})
MERGE (c:TeamChatSession {id: toInt(row[2])}) 
MERGE (u)-[:CreatesSession{timeStamp: row[3]}]->(c) 
MERGE (c)-[:OwnedBy{timeStamp: row[3]}]->(t)

我收到了这个错误:

Neo.ClientError.Statement.TypeError: Expected Long(0) to be a 
org.neo4j.values.storable.TextValue, but it was a 
org.neo4j.values.storable.LongValue

以下是我要导入的文件的概述。

1588,177,6776,1464233999.0
350,188,6777,1464234000.0
1588,177,6776,1464233999.0
350,188,6777,1464234000.0
740,81,6778,1464234001.0
1068,66,6779,1464234002.0
1554,52,6780,1464234003.0

请帮忙。

1 个答案:

答案 0 :(得分:2)

您的CSV文件没有标题,但您的查询指定了WITH HEADERS选项。删除该选项后再试一次。

此外,不推荐使用TOINT()函数。您应该使用TOINTEGER()代替。

并且,如果您的其他查询想要将timestamp属性值视为数值,则应使用TOINTEGER转换row[3]值,以便您的其他查询不必总是进行相同的转换。