Как удалить / создать базы данных в Neo4j? - PullRequest
101 голосов
/ 21 декабря 2010

Можно ли создавать / удалять разные базы данных в базе данных графа Neo4j как в MySQL?Или, по крайней мере, как удалить все узлы и связи существующего графа, чтобы получить чистую настройку для тестов, например, используя команды оболочки, подобные rmrel или rm?

Ответы [ 12 ]

95 голосов
/ 21 января 2014

Еще более простая команда для удаления всех узлов и связей:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
95 голосов
/ 22 декабря 2010

Вы можете просто удалить весь каталог графа с помощью rm -rf, потому что Neo4j не хранит ничего кроме этого:

rm -rf data/*

Кроме того, вы, конечно, можете перебирать все узлы и удалять их связи исами узлы, но это может быть слишком дорого только для тестирования ...

47 голосов
/ 29 мая 2014

Создание новой базы данных в Neo4j

Перед запуском сообщества neo4j нажмите кнопку обзора

enter image description here

и выберите другой каталог

enter image description here

enter image description here

и нажмите кнопку Пуск.

enter image description here

Новая база данных, созданная в этом каталоге

46 голосов
/ 28 октября 2015

от Neo4j 2.3,

Мы можем удалить все узлы со связями ,

MATCH (n)
DETACH DELETE n

В настоящее время нет никакой возможности создать несколько баз данных в Noe4j. Вам нужно сделать несколько хранилищ данных Neo4j. См. ссылка .

12 голосов
/ 15 июля 2014

быстрый и грязный способ, который отлично работает:

bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
11 голосов
/ 29 сентября 2011

Для тех, кому нужен чистый график для запуска набора тестов, - https://github.com/jexp/neo4j-clean-remote-db-addon - отличное расширение, позволяющее очистить базу данных посредством вызова REST. Очевидно, однако, не используйте его в производстве!

7 голосов
/ 20 марта 2013

Запустите тестовый код на другом экземпляре neo4j.

  1. Скопируйте каталог neo4j в новое место.Используйте это для тестирования.Перейдите в новый каталог.
  2. Измените порт, чтобы вы могли запускать свои тесты и одновременно нормально его использовать.Чтобы изменить порт, откройте conf/neo4j-server.properties и установите org.neo4j.server.webserver.port на неиспользуемый.
  3. Запустите тестовый сервер при настройке.Выполните ./neo4j stop и rm -rf data/graph.db при разрыве.

Подробнее см. neo4j: Как переключать базу данных? и документы .

6 голосов
/ 12 июня 2015

Самый простой ответ: НЕТ

Лучший способ "начать заново" - это

  • перейти в другую пустую папку данных

или

  • полностью закрыть Neo4j
  • очистить старую папку данных
  • перезапустить Neo4j и установить пустую папку в качестве папки данных

Существует способ удалить все узлы и отношения (как описано здесь )

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
6 голосов
/ 08 февраля 2014

В Neo4j 2.0.0?больше не поддерживается.Вместо этого используйте ОПЦИОННОЕ МАТЧ:

START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
1 голос
/ 25 апреля 2017

Начиная с версии 3, я считаю, что теперь возможно создавать отдельные экземпляры базы данных, и, следовательно, их расположение немного отличается.

Ссылаясь на: https://neo4j.com/developer/guide-import-csv/

Очевидно, что --into retail.db - это целевая база данных, которая не должна содержать существующую базу данных.

На моем Ubuntu box находится:

/var/lib/neo4j/data/databases где я сейчас вижу только graph.db, который, по моему мнению, должен быть по умолчанию.

...