Как удалить / создать базы данных в Neo4j?
можно ли создавать/удалять различные базы данных в графической базе данных СУБД Neo4j как в MySQL? Или, по крайней мере, как удалить все узлы и отношения существующего графика, чтобы получить чистую настройку для тестов, например, с помощью команд оболочки, подобных rmrel
или rm
?
12 ответов
вы можете просто удалить весь каталог graph с помощью rm -rf
, потому что Neo4j не хранит ничего вне этого:
rm -rf data/*
кроме того, вы можете, конечно, перебирать все узлы и удалять их отношения и сами узлы, но это может быть слишком дорого только для тестирования ...
еще более простая команда для удаления всех узлов и связей:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
создание новой базы данных в Neo4j
перед запуском сообщества neo4j нажмите кнопку Обзор
и выберите другой каталог
и нажимаем кнопку Старт.
новая база данных, созданная на этом direcory
Из СУБД Neo4j 2.3,
мы можем удалить все узлы со связями,
MATCH (n)
DETACH DELETE n
В настоящее время нет никакой возможности создать несколько баз данных в Noe4j. Вам нужно сделать несколько хранилищ данных Neo4j. См.ссылка.
для всех, кому нужен чистый график для запуска набора тестов -https://github.com/jexp/neo4j-clean-remote-db-addon - отличное расширение, позволяющее очистить БД с помощью вызова REST. Очевидно, однако, не используйте его в производстве!
быстрый и грязный способ, который отлично работает:
bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
запустите тестовый код на другом экземпляре neo4j.
- скопируйте каталог neo4j в новое место. Используйте это для проверки. cd в новый каталог.
- измените порт, чтобы вы могли запускать тесты и использовать его обычно одновременно. Чтобы изменить порт open
conf/neo4j-server.properties
и setorg.neo4j.server.webserver.port
к неиспользуемому. - запустите тестовый сервер при настройке. Do
./neo4j stop
иrm -rf data/graph.db
на демонтаж.
Подробнее см. СУБД Neo4j: Как переключить базу данных? и docs.
в СУБД Neo4j на 2.0.0 ? больше не поддерживается. Вместо этого используйте необязательный матч:
START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
простой ответ: нет
лучший способ "начать все сначала" - это
- переместить в другую пустую папку data
или
- закрыть Neo4j полностью
- очистить старую папку данных
- перезапустите Neo4j и установите пустую папку в качестве папки данных
существует способ удалить все узлы и отношения (как описано здесь)
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
в 2.0.0-M6 вы можете выполнить следующий скрипт шифрования для удаления всех узлов и отношений:
start n=node(*)
match (n)-[r?]-()
delete n,r
начиная с версии 3 я считаю, что теперь можно создавать отдельные экземпляры базы данных, и поэтому их местоположение немного отличается.
ссылаясь на:https://neo4j.com/developer/guide-import-csv/
The --в розницу.БД, очевидно, является целевой базой данных, которая не должна содержать существующую базу данных.
на моем поле Ubuntu местоположение находится в:
/var/lib/neo4j/data/databases
где я сейчас вижу только graph.db
что я считаю, должно быть по умолчанию.
вы можете удалить файлы данных, и если вы хотите пройти через этот путь, я бы рекомендовал удалить только ваш график.БД, например. В противном случае вы испортите свою аутентификационную информацию.