У меня есть импорт Cypher для первого импорта и файл new_neo_test_1.csv
, который имеет следующие столбцы: From
, To
, Sender_Sub_Fld
, DateTime
, Url
и FileHash
LOAD CSV WITH HEADERS FROM ("file:///sessions/new_neo_test_1.csv") AS row
MERGE (a:Sender { name: row.From, domain: row.Sender_Sub_Fld, datetime: datetime(row.DateTime) })
MERGE (b:Recipient { name: row.To, datetime: datetime(row.DateTime) })
WITH a,b,row
WHERE row.Url = "false" AND row.FileHash = "false"
CALL apoc.merge.relationship(a, row.Outcome2, {}, {datetime: datetime(row.DateTime)}, b, {}) YIELD rel as rel1
RETURN a,b
Моя цель - использовать что-то вроде следующего для остальной части импорта. Я хотел бы обновить свойство отношений datetime
, если узел уже существует. Вид последней увиденной собственности.
Я испробовал варианты apoc.atomic.update
, как показано ниже, но, похоже, не могу заставить его работать.
LOAD CSV WITH HEADERS FROM ("file:///sessions/new_neo_test_2.csv") AS row
MERGE (a:Sender { name: row.From, domain: row.Sender_Sub_Fld, datetime: datetime(row.DateTime) })
MERGE (b:Recipient { name: row.To, datetime: datetime(row.DateTime) })
WITH a,b,row
WHERE row.Url = "false" AND row.FileHash = "false"
CALL apoc.merge.relationship(a, row.Outcome2, {}, {}, b) YIELD rel as rel1
CALL apoc.atomic.update(rel1, datetime, datetime(row.DateTime)) YIELD datetime as newdatetime
RETURN a,b
Или, если есть другое предложение для решения моей проблемы, было бы очень признательно .