У меня проблема с обновлением узла путем загрузки недавно обновленного файла CSV в. Neo4j. Так как это большой файл, я думаю, что нужно использовать процедуру apoc. Я обновил существующий узел, загрузив внешний обновленный файл без apoc. но проблема в том, что мне нужно обновить его параллельно с помощью apoc. вот мой элемент файла
оригинальный элемент в файле
ID,SHOPNAME,DIVISION,DISTRICT,THANA
1795,ARAFAT DISTRIBUTION,RAJSHAHI,JOYPURHAT,Panchbibi
1796,CONNECT DISTRIBUTION,DHAKA,GAZIPUR,Gazipur Sadar
1797,HUMAYUN KABIR,DHAKA,DHAKA,Demra
Я создал узел из этого CSV
тогда у меня есть другой обновленный файл u.csv, обновленные элементы приведены ниже
ID,SHOPNAME,DIVISION,DISTRICT,THANA
1795,ABC,RAJSHAHI,JOYPURHAT,Panchbibi
1796,XYZ,DHAKA,GAZIPUR,Gazipur Sadar
1797,HUMAYUN KABIR,DHAKA,DHAKA,Demra
без apoc мой запрос был
LOAD CSV FROM "file:///u.csv" AS line
MERGE (c:Agent {ID:line[0]})
ON MATCH SET c.SHOPNAME = line[1]
RETURN c
Этот код обновил нужный столбец, за исключением того, что у меня есть пустой узел
{"ID":"ID"}
мой первый вопрос: почему создается новый пустой узел и как я могу решить эту проблему
Теперь я хочу обновить большой файл, поэтому я использовал процедуру apoc для пакетной обработки
с apoc мой запрос был
CALL apoc.periodic.iterate('LOAD CSV WITH HEADERS FROM "file:///u.csv" AS line return line','MERGE (p:Agent{ID:TOINTEGER(line.ID)}) ON MATCH SET p.SHOPNAME=TOINTEGER(line.SHOPNAME) ' ,{batchSize:10000, iterateList:true, parallel:true});
но я не смог обновить определенные узлы, вместо этого он создал два узла со связанным идентификатором, поэтому я получаю 5 узлов здесь, а не 3 узла
{"ID":1795}
{"ID":1796}
Я очень новичок в neo4j, но пытаюсь учиться. пожалуйста, помогите мне решить проблему
Я использую neo4j 3.5.6 и apoc 3.5.0.4