Как удалить / создать базы данных в Neo4j?

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

12 ответов


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

rm -rf data/*

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


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

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

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

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

enter image description here

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

enter image description here

enter image description here

и нажимаем кнопку Старт.

enter image description here

новая база данных, созданная на этом 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.

  1. скопируйте каталог neo4j в новое место. Используйте это для проверки. cd в новый каталог.
  2. измените порт, чтобы вы могли запускать тесты и использовать его обычно одновременно. Чтобы изменить порт open conf/neo4j-server.properties и set org.neo4j.server.webserver.port к неиспользуемому.
  3. запустите тестовый сервер при настройке. 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 что я считаю, должно быть по умолчанию.


вы можете удалить файлы данных, и если вы хотите пройти через этот путь, я бы рекомендовал удалить только ваш график.БД, например. В противном случае вы испортите свою аутентификационную информацию.