2017-07-18 74 views
1

我希望查詢讀取CSV文件併爲文件中的每一行創建一個節點。如何解決這個創建CSV文件節點的Neo4j APOC查詢?

這裏的查詢:

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 

回答

3

apoc.create.node過程的第一個參數必須是array

所以,你需要的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(*) 
+0

所以,只需要添加方括號中的節點類型。驚人。非常感謝。我不知道我會在哪裏找到這些信息。 – nicomp

+0

@nicomp如果此答案已解決您的問題,請記住[接受它](https://meta.stackexchange.com/a/5235/360570)將此問題標記爲已解決並幫助本網站的其他用戶輕鬆找到正確的答案。 –