Я новичок в neo4j. У меня есть файл .csv с двумя столбцами, разделенными ",". Первый столбец содержит имена, а второй столбец содержит фамилии:
Lname,Fname
Brown,Helen
Right,Eliza
Green,Helen
Pink,Kate
Yellow,Helen
Я хочу создать узлы для столбца Lname и узлы для столбца Fname . Для строк, имеющих одинаковое Fname, я хочу подключить Lname к соответствующему Fname. Например, я хочу иметь узел "Хелен", который соединен с "Хелен" тремя узлами "Коричневый", "Зеленый" и "Желтый". Я также хочу подключить узлы "Fname" к "центральному узлу". Я написал этот код:
LOAD CSV WITH HEADERS FROM 'file:///names.csv' AS row
WITH row.Fname AS first, row.Lname AS last
MERGE (p:la {last: last})
MERGE (o:fi {first: first})
MERGE (c:central {name: "central node"})
MERGE (c)-[r:CONTAINS {first:first}]->(o)-[rel:CONTAINS {first: first}]->(p)
RETURN count(o)
, когда я запускаю этот код и отображаю вывод, используя этот запрос:
MATCH (c:central)-[r:CONTAINS]->(o:fi)-[rel:CONTAINS]->(p:la)
RETURN c, r, o, rel, p
Я получаю этот график в качестве вывода:
Как вы видите по количеству фамилий, у меня такое же количество связей с именами. Например, у меня есть 3 связи от "центрального узла" до "Хелен", но я хочу только одно отношение от "центрального узла" к "Елене". Что здесь не так?