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

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

Ответ 1

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

rm -rf data/*

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

Ответ 2

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

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

Ответ 3

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

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

enter image description here

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

enter image description here

enter image description here

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

enter image description here

Новая база данных, созданная в этой директории

Ответ 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, например. В противном случае вы собираетесь испортить вашу информацию об аутентификации.