Как использовать apoc.load.csv в сочетании с apoc.create.node

Мне нужно импортировать файл CSV и создать узел из каждой записи. Я использую APOC, потому что предположительно я могу использовать столбец в файле CSV, чтобы определить каждый тип узла при создании узлов.

Это не работает:

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

Это ошибка:

Procedure call inside a query does not support naming results implicitly (name explicitly using `YIELD` instead) (line 2, column 1 (offset: 124))
"CALL apoc.create.node(['map.AttributeName'], {key:['map.NodeID']}) return count(*)"

Я также попробовал этот синтаксис:

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

2 ответа

Можете ли вы попробовать это:

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

Я просто добавляю YIELD материал на узле создания.

ура

Вы забыли YIELD node после звонка apoc.create.node процедура. Попробуй это:

CALL apoc.load.csv('FILE:///C:/Temp/Test/Test/Neo4jTest/import/Neo4j_AttributeProvenance.csv',{sep:","}) YIELD map
CALL apoc.create.node(['map.AttributeName'], {key:['map.NodeID']}) YIELD node
return count(*) 
Другие вопросы по тегам