Я знаю, что было задано много подобных вопросов. Но похоже, что ответы не могут решить мою проблему. У меня очень большой график, около 1 миллиона узлов и 3 миллиона отношений. Когда я пытаюсь удалить их, используя следующие инструкции:Как удалить все узлы и все отношения в neo4j
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
После этого сервер разбился. ОК, я добавил ПРЕДЕЛ:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
WITH n,r LIMIT 1000000
DELETE n,r
Сервер не будет врезаться, но исключение проявляется:
org.neo4j.kernel.api.exceptions.TransactionFailureException: Node record Node[1578965,used=false,rel=662269,prop=-1,labels=Inline(0x0:[]),light] still has relationships
Я думаю LIMIT +1000000 остановит мое удаление на отношения. Затем он обращается к удалению узла. которые вызывают это исключение. Я прав? потому что я не совсем понимаю процесс LIMIT 1000000.
Итак, что мне делать? Я не хочу удалять файл базы данных каждый раз, когда мне нужно очистить свой график. Установка большего объема памяти может помочь, но размер моего графика также может стать больше. Крушение произойдет в конечном итоге.
Спасибо за весь ваш ответ. Я попробовал оба метода. Исключение «Neo.DatabaseError.Statement.ExecutionFailure» будет отображаться во второй раз я запускаю заявление:
MATCH (n)
WITH n LIMIT 1000000
DETACH DELETE n
или это заявление:
MATCH()-[r]-()
WITH r
LIMIT 1000000
DELETE r
сдаюсь. Думаю, мне лучше удалить все файлы в моей папке. Это простой способ для меня.
Вы пробовали уменьшить размер партии, т. Е. Предел? – Luanne