我是neo4j数据库的新手。我试图通过加载csv文件从图表db中的现有节点中更新特定的节点。我更新的值csv文件如下所示
ID,SHOPNAME,DIVISION,DISTRICT,THANA
01760,Xyz,RAJSHAHI,JOYPURHAT,Panchbibi
01761,Abc,DHAKA,GAZIPUR,Gazipur Sadar和我的查询代码
CALL apoc.periodic.iterate('LOAD CSV WITH HEADERS FROM "file:///nodes_AGENT_U_20190610.csv" AS line return line','MERGE (p:Agent{ID:TOINT(line[0])}) ON MATCH SET p.SHOPNAME=TOINT(line[1]) ' ,{batchSize:10000, iterateList:true, parallel:true});但我错了
“预期Long(0)为org.neo4j.values.storable.TextValue,但它是org.neo4j.values.storable.LongValue":1
我试着用TOINTEGER函数来解决这个问题,但没有为我工作,请帮助我解决这个问题。我正在使用Neo4j 3.5和apoc版本3.5.0.4谢谢
发布于 2019-06-18 07:21:35
在用column name加载数据时,需要使用LOAD CSV WITH HEADERS从行/行访问值。
请检查以下查询:
CALL apoc.periodic.iterate('LOAD CSV WITH HEADERS FROM
"file:///nodes_AGENT_U_20190610.csv" AS line return line',
'MERGE (p:Agent{ID:TOINT(line.ID)})
ON MATCH SET p.SHOPNAME=TOINT(line.SHOPNAME) ' ,
{batchSize:10000, iterateList:true, parallel:true});发布于 2020-02-01 09:53:21
我同意上面的回答,也同意更多的知识,因为你可能认为我在某个地方见过这样的用法:
不过,您也可以在下面查询您使用的方式,但是这里没有标题,这就是为什么:将CSV从“https://neo4j.com/docs/cypher-manual/4.0/csv/artists-fieldterminator.csv”加载为行FIELDTERMINATOR;“创建”(:艺人{ name: line1 : toInteger(line2)})
https://stackoverflow.com/questions/56643517
复制相似问题