Я пытаюсь импортировать файл CSV в Neo4j базу данных с помощью следующего запроса:Не удается успешно импортировать CSV в Neo4j
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///I:/Traces.csv" AS row
MERGE (e:Event {SystemCall: coalesce(row.syscall, "No Value"), ReturnValue: coalesce(row.retvalue,"No Value"), ReturnTime: coalesce(row.rettime,"No Value"), CallTime: coalesce(row.calltime,"No Value")})
MERGE (s:Subject {ProcessName: coalesce(row.processname, "No Value"), Pid: coalesce(row.pid, "No Value"), tid: coalesce(row.tid, "No Value")})
MERGE (o:Object {Argument1: coalesce(row.arg1, "No Value"), Argument2: coalesce(row.arg2, "No Value")})
MERGE (e)-[:IS_GENERATED_BY]->(s)
MERGE (e)-[:AFFECTS]->(o)
MERGE (e)-[:AFFECTS] ->(s)
Файл CSV размещен на месте: https://drive.google.com/open?id=0B8vCvM9jIcTzRktRTGpxOUZXQjA
Запрос занимает почти 80К миллисекунды для запуска, но не возвращает строку. Пожалуйста помоги.
Когда вы говорите, что «не возвращает строку», вы имеете в виду, что ничего не ставит в БД? В вашем запросе нет предложения 'RETURN', поэтому он не должен« возвращать »любые строки. Кроме того, вы можете просто показать первые несколько строк из файла (скажем, первые 10)? Файл размером 40 Мбайт слишком велик, чтобы ожидать от нас загрузки. – cybersam
Я пытался подражать аналогичному запросу, который работал для меня, чтобы сгенерировать график LOAD CSV WITH HEADERS FROM "file: /// C: /test.csv" AS line MERGE (n: MyNode {Name: line. Source}) MERGE (m: MyNode {Name: line.Target}) MERGE (n) - [: TO {dist: line.distance}] -> (m) Этот продукт отлично работал без письменного возврата. Здесь строки не вставлены. Снимок экрана с содержимым файла: https://drive.google.com/open?id=0B8vCvM9jIcTzajgzOGdsSGd0RDQ Я поместил символы подчеркивания в поля заголовка и повторил запрос без какого-либо эффекта. –