Я нашел способ создания логических ограничений для моего иерархического дерева.
Когда я хочу импортировать файл с 50 000 связей, я делаю этот запрос:
LOAD CSV WITH HEADERS FROM "file:///dump.csv" AS row
MERGE (a:Person {name:row.person1Name})
MERGE(b:Person {name:row.person2Name})
FOREACH (t in CASE WHEN NOT EXISTS((a)-[*]->(b)) THEN [1] ELSE [] END |
MERGE (a)-[pr:Managed]->(b))
С этимЗапрос Я могу проверить целостность своего дерева.
Моя самая большая проблема по-прежнему медлительность запроса: 3m20 для 50 000 отношений