1

我希望查询读取 CSV 文件并为文件中的每一行创建一个节点。

这是查询:

CALL apoc.load.csv('FILE:///C:/Temp/Test/Test/Neo4jTest/import/Neo4j_AttributeProvenance.csv',{sep:","})  YIELD map
CALL apoc.create.node(map.NodeType, {key:map.NodeID}) yield node return count(*)

这是错误:

Can't coerce `RootNode` to List<String>

这是数据文件:

NodeType,NodeID,SchemaName,TableName,AttributeName,DataType,PreviousNodeID
RootNode,queryprocessingtest.q01.testfieldatablec ,queryprocessingtest,q01,testfieldatablec ,varchar,
Node,queryprocessingtest.qc.testfieldatablec ,queryprocessingtest,qc,testfieldatablec ,varchar,queryprocessingtest.q01.testfieldatablec 
Node,queryprocessingtest.ttablec.testfieldatablec ,queryprocessingtest,ttablec,testfieldatablec ,varchar,queryprocessingtest.q01.testfieldatablec 
4

1 回答 1

3

apoc.create.node过程的第一个参数必须是一个数组

因此,您需要将 的值map.NodeType转换为数组:

CALL apoc.load.csv('FILE:///C:/Temp/Test/Test/Neo4jTest/import/Neo4j_AttributeProvenance.csv',{sep:","})  YIELD map
CALL apoc.create.node([map.NodeType], {key:map.NodeID}) yield node return count(*)
于 2017-07-18T19:15:13.293 回答