Возможно ли создать/удалить различные базы данных в базе данных графа Neo4j, как в MySQL? Или, по крайней мере, как удалить все узлы и отношения существующего графика, чтобы получить чистую настройку для тестов, например, используя команды оболочки, похожие на rmrel
или rm
?
Как удалить/создать базы данных в Neo4j?
Ответ 1
Вы можете просто удалить весь каталог графа с помощью rm -rf
, потому что Neo4j не хранит ничего вне этого:
rm -rf data/*
Кроме того, вы можете, конечно, перебирать все узлы и удалять их отношения и сами узлы, но это может быть слишком дорогостоящим только для тестирования...
Ответ 2
еще более простая команда для удаления всех узлов и связей:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
Ответ 3
Создание новой базы данных в Neo4j
Перед запуском сообщества neo4j нажмите кнопку просмотра
и выберите другой каталог
и нажмите кнопку "Пуск".
Новая база данных, созданная в этой директории
Ответ 4
Из Neo4j 2.3,
Мы можем удалить все узлы с отношениями,
MATCH (n)
DETACH DELETE n
В настоящее время нет никакой возможности создавать несколько баз данных в Noe4j. Вам нужно сделать несколько хранилищ данных Neo4j. См. ссылку.
Ответ 5
Для всех, кому нужен чистый граф для запуска набора тестов, https://github.com/jexp/neo4j-clean-remote-db-addon - отличное расширение, позволяющее очистить db через вызов REST. Очевидно, однако, не используйте его в производстве!
Ответ 6
быстрый и грязный способ, который отлично работает:
bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
Ответ 7
Запустите свой тестовый код на другом экземпляре neo4j.
- Скопируйте каталог neo4j в новое место. Используйте это для тестирования. cd в новый каталог.
- Измените порт, чтобы вы могли запускать свои тесты и использовать его одновременно. Чтобы изменить порт, откройте
conf/neo4j-server.properties
и установитеorg.neo4j.server.webserver.port
на неиспользуемый. - Запустите тестовый сервер при настройке. Сделайте
./neo4j stop
иrm -rf data/graph.db
при срыве.
Подробнее см. neo4j: Как переключить базу данных? и docs.
Ответ 8
В Neo4j 2.0.0 есть? больше не поддерживается. Вместо этого используйте ОПЦИОНАЛЬНЫЙ МАТЧ:
START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
Ответ 9
Самый простой ответ: НЕТ
Лучший способ "начать" -
- перейдите в другую пустую папку с данными
или
- закрыть Neo4j полностью
- удалить старую папку данных
- перезапустите Neo4j и установите пустую папку в папку данных
Существует способ удалить все узлы и отношения (как описано здесь)
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
Ответ 10
В 2.0.0 -M6 Вы можете выполнить следующий Cypher script, чтобы удалить все узлы и отношения:
start n=node(*)
match (n)-[r?]-()
delete n,r
Ответ 11
Начиная с версии 3, я считаю, что теперь можно создавать отдельные экземпляры базы данных и, следовательно, их расположение немного отличается.
Ссылаясь на: https://neo4j.com/developer/guide-import-csv/
. --into retail.db, очевидно, является целевой базой данных, которая не должна содержать существующую базу данных.
В моем поле Ubuntu местоположение находится в:
/var/lib/neo4j/data/databases
Здесь я вижу только graph.db
, который, по моему мнению, должен быть по умолчанию.
Ответ 12
Вы можете удалить свои файлы данных, и если вы захотите пройти этот путь, я бы рекомендовал удалить только ваш graph.db, например. В противном случае вы собираетесь испортить вашу информацию об аутентификации.