Как я могу сопоставить узлы из загрузки CSV и передать значения из каждого совпадения в свойство массива отношения?
LOAD CSV WITH HEADERS FROM 'http://example.com/horse_races.csv' AS line
MATCH (j:Jockey { name: line.JOCKEY_NAME})
MATCH (h:Horse { name: line.HORSE_NAME})
MERGE (j)-[r:JOCKEYED]->(h)
ON MATCH SET r.date = r.date + date(line.RACE_DATE)
В настоящее время на merge
вы устанавливаете дату отношений только тогда, когда отношения уже существуют. Вы можете установить on create
для инициализации списка, когда он еще не существует:
LOAD CSV WITH HEADERS FROM 'file:///jockeys.csv' AS line
with distinct line MATCH (j:Jockey { name: line.JOCKEY_NAME}), (h:Horse { name: line.HORSE_NAME})
MERGE (j)-[r:JOCKEYED]->(h) ON CREATE SET r.date = [line.RACE_DATE]
ON MATCH SET r.date = r.date + date(line.RACE_DATE)
Это работает. Я использовал функцию date() во время инициализации списка, чтобы убедиться, что значение первого элемента правильно отформатировано.