Мой import.csv
создает много узлов, а слияние создает огромное декартово произведение и работает в transaction timeout
, поскольку данные так сильно выросли. В настоящее время я установил время ожидания транзакции на 1 секунду, потому что каждый другой запрос выполняется очень быстро и не должен занимать больше одной секунды.
Есть ли способ разделить или выполнить этот конкретный запрос на более мелкие фрагменты, чтобы предотвратить тайм-аут?
Повышение или отключение transaction timeout
в neo4j.conf
не вариант, потому что сервису neo4j требуется перезапуск для каждого изменения, сделанного в конфигурации.
Запрос, нарушающий тайм-аут из моего скрипта импорта:
MATCH (l:NameLabel)
MATCH (m:Movie {id: l.id,somevalue: l.somevalue})
MERGE (m)-[:LABEL {path: l.path}]->(l);
Nodecounts: 1000 Movie, 2500 Namelabel