我使用以下代码在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
请帮忙。
答案 0 :(得分:2)
您的CSV文件没有标题,但您的查询指定了WITH HEADERS
选项。删除该选项后再试一次。
此外,不推荐使用TOINT()
函数。您应该使用TOINTEGER()
代替。
并且,如果您的其他查询想要将timestamp
属性值视为数值,则应使用TOINTEGER
转换row[3]
值,以便您的其他查询不必总是进行相同的转换。