Я пытаюсь создать отношения из данных JSON путем сопоставления существующих узлов в базе данных.В частности, у меня есть узлы людей в экземпляре neo4j, и у меня есть набор данных, который соответствует их работе.Я хочу добавить отношение между узлами людей к узлам работы.
Данные JSON выглядят следующим образом:
{"id": "1", "name": "Picasso", "job": {"raw": "Painter"}}
{"id": "2", "name": "Beyonce", "job": {"raw": "Singer"}}
{"id": "3", "name": "Derek Jeter", "job": {"raw": "Baseball Player"}}
Мой запрос шифрования:
CALL apoc.load.json('file:/example.txt') YIELD value AS q
MATCH (p:Person {id:q.id})
WITH q, p
UNWIND q.job as job
WITH DISTINCT p, job
MERGE (j:Job {name: job.raw})
MERGE (p)-[:WORKS_AT_JOB]->(j)
Однако для некоторых узлов Person я получаю дублирующиеся отношения.Что я делаю не так?