Этот код загружается нормально, но занял какое-то время, поэтому я решил использовать периодическую загрузку apoc. Я добавил CALL apoc.periodic.iterate('
в начало и ',{batchSize:10000, iterateList:true, parallel:true})
в конец. Но у меня возникают проблемы с ошибкой.
// URL ONLY
CALL apoc.periodic.iterate('
LOAD CSV WITH HEADERS FROM ("file:///sessions/4_hour_parsed_and_ready.csv") AS row
MERGE (a:Sender { name: row.From, domain: row.Sender_Sub_Fld})
MERGE (b:Link { name: row.Url_Sub_Fld, topLevelDomain: row.Url_Tld, htmlEncodedMessage: row.HTML_Encoded})
MERGE (c:Recipient { name: row.To})
WITH a,b,c,row
WHERE row.FileName = "false" AND NOT row.Url_Tld = "false"
CALL apoc.merge.relationship(a, row.Outcome, {}, {}, b) YIELD rel as rel1
CALL apoc.merge.relationship(b, row.Outcome2, {}, {}, c) YIELD rel as rel2
RETURN a,b,c
',{batchSize:10000, iterateList:true, parallel:true})
Я сталкиваюсь с ошибкой:
Neo.ClientError.Statement.SyntaxError: Procedure call does not provide the required number of arguments: got 2 expected 3.
Procedure apoc.periodic.iterate has signature: apoc.periodic.iterate(cypherIterate :: STRING?, cypherAction :: STRING?, config :: MAP?) :: batches :: INTEGER?, total :: INTEGER?, timeTaken :: INTEGER?, committedOperations :: INTEGER?, failedOperations :: INTEGER?, failedBatches :: INTEGER?, retries :: INTEGER?, errorMessages :: MAP?, batch :: MAP?, operations :: MAP?, wasTerminated :: BOOLEAN?, failedParams :: MAP?
meaning that it expects 3 arguments of type STRING?, STRING?, MAP?
Description: apoc.periodic.iterate('statement returning items', 'statement per item', {batchSize:1000,iterateList:true,parallel:false,params:{},concurrency:50,retries:0}) YIELD batches, total - run the second statement for each item returned by the first statement. Returns number of batches and total processed rows (line 2, column 1 (offset: 12))
"CALL apoc.periodic.iterate('"
^