Как удалить / создать базы данных в Neo4j?
-
12-10-2019 - |
Вопрос
Можно ли создавать / удалять разные базы данных в базе данных graph Neo4j как в MySQL?Или, по крайней мере, как удалить все узлы и взаимосвязи существующего графика, чтобы получить чистую настройку для тестов, например, используя команды оболочки, подобные rmrel
или rm
?
Решение
Вы можете просто удалить весь графический каталог с помощью rm -rf
, потому что NEO4J не хранит ничего снаружи:
rm -rf data/*
Кроме того, вы, конечно, можете перевернуть все узлы и удалить их отношения и сами узлы, но это может быть слишком дорого всего для тестирования ...
Другие советы
Еще более простая команда по удалению всех узлов и отношений:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
От neo4j 2.3,
Мы можем удалить Все узлы с отношениями,
MATCH (n)
DETACH DELETE n
В настоящее время нет никакой возможности создания нескольких баз данных в NOE4J. Вам нужно сделать несколько магазинов данных NEO4J. Видеть ссылка.
Создание новой базы данных в NEO4J
Перед началом сообщества NEO4J Нажмите на опцию просмотра
и выберите другой каталог
и нажмите кнопку «Пуск».
Новая база данных, созданная в этом направлении
Быстрый и грязный способ, который работает нормально:
bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
Для тех, кому нужен чистый график, чтобы запустить тестовый набор - https://github.com/jexp/neo4j-clean-remote-db-addon это отличное расширение, позволяющее очистить БД с помощью вызова отдыха. Очевидно, что не используйте его в производстве!
Запустите свой тестовый код на другом экземпляре neo4j.
- Скопируйте ваш каталог neo4j в новое местоположение.Используйте это для тестирования.вставьте компакт-диск в новый каталог.
- Измените порт, чтобы вы могли запускать свои тесты и использовать его в обычном режиме одновременно.Чтобы изменить порт, откройте
conf/neo4j-server.properties
и установитьorg.neo4j.server.webserver.port
к неиспользуемому. - Запустите тестовый сервер при настройке.Делай
./neo4j stop
иrm -rf data/graph.db
при демонтаже.
Для получения более подробной информации смотрите neo4j:Как переключить базу данных? и тот Документы.
В Neo4j 2.0.0? больше не поддерживается. Вместо этого используйте дополнительное совпадение:
START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
Самый простой ответ: НЕТ
Лучший способ «начать» - это
- перейти к другой пустой папке данных
или же
- Закрыть neo4j полностью
- опустошить старую папку данных
- Перезапустите NEO4J и установите пустую папку в качестве папки данных
Есть способ удалить все узлы и отношения (как описано здесь)
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
В 2.0.0 -M6 вы можете выполнить следующий скрипт Cypher, чтобы удалить все узлы и отношения:
start n=node(*)
match (n)-[r?]-()
delete n,r
Начиная с версии 3, я считаю, что теперь можно создать отдельные экземпляры базы данных, и, следовательно, их местоположение немного отличается.
Ссылаясь на:https://neo4j.com/developer/guide-import-csv/
-into stailc.db, очевидно, является целевой базой данных, которая не должна содержать существующую базу данных.
На моей коробке Ubuntu расположение в:
/var/lib/neo4j/data/databases
где я сейчас вижу graph.db
что, я считаю, должен быть дефолтом.
Вы можете удалить свои файлы данных, и если вы хотите пройти через это, я бы порекомендовал удалить, например, только ваш graph.db. В противном случае вы собираетесь испортить информацию о аутентификации.