Comment supprimer / créer des bases de données dans Neo4j?

est-il possible de créer/supprimer différentes bases de données dans la base de données graphique Neo4j comme dans MySQL? Ou, au moins, comment supprimer tous les noeuds et les relations d'un graphe existant pour obtenir une configuration propre pour les tests, par exemple, en utilisant des commandes shell similaires à rmrel ou rm ?

93
demandé sur Somnath Muluk 2010-12-21 13:56:36

12 réponses

vous pouvez simplement supprimer tout le répertoire graphique avec rm -rf , parce que Neo4j ne stocke rien en dehors de cela:

rm -rf data/*

aussi, vous pouvez bien sûr itérer à travers tous les noeuds et supprimer leurs relations et les noeuds eux-mêmes, mais cela pourrait être trop coûteux juste pour les essais ...

89
répondu Peter Neubauer 2014-10-24 11:38:25

commande encore plus simple pour supprimer tous les noeuds et les relations:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
87
répondu John Bachir 2014-01-21 06:32:57

Création d'une nouvelle Base de données Neo4j

avant de lancer la communauté neo4j, cliquez sur l'option de navigation

enter image description here

et choisir un répertoire différent

enter image description here

enter image description here

et cliquez sur le bouton démarrer.

enter image description here

Nouveau base de données créée sur cette direcory

45
répondu Bharathiraja 2017-04-11 13:59:52

De Neo4j 2.3,

nous pouvons supprimer tous les noeuds avec des relations ,

MATCH (n)
DETACH DELETE n

il n'y a actuellement aucune option pour créer plusieurs bases de données dans Noe4j. Vous devez faire plusieurs magasins de données Neo4j. Voir référence .

40
répondu Somnath Muluk 2017-05-23 12:26:43

pour toute autre personne qui a besoin d'un graphe propre pour exécuter une suite de test - https://github.com/jexp/neo4j-clean-remote-db-addon est une grande extension pour permettre de nettoyer le db par un appel de repos. Évidemment, ne l'utilisez pas dans la production!

11
répondu Matt Luongo 2011-09-29 17:32:00

chemin rapide et sale qui fonctionne bien:

bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
11
répondu Scott 2014-07-14 20:48:33

lancez votre code de test sur une instance neo4j différente.

  1. Copiez votre répertoire neo4j dans un nouvel emplacement. Utilisez ceci pour les tests. cd dans le nouveau répertoire.
  2. changez le port pour que vous puissiez exécuter vos tests et l'utiliser normalement simultanément. Pour changer le port, ouvrez conf/neo4j-server.properties et réglez org.neo4j.server.webserver.port sur un port non utilisé.
  3. démarrer le serveur de test sur setup. Faire ./neo4j stop et rm -rf data/graph.db sur le démontage.

pour plus de détails, voir neo4j: Comment changer de base de données? et le docs .

7
répondu Pramod 2017-05-23 11:33:13

Dans Neo4j 2.0.0 l' ? n'est plus supporté. Utilisez la correspondance optionnelle à la place:

START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
6
répondu charles 2014-02-08 03:25:08

la réponse la plus facile est: Non

La meilleure façon de "recommencer" est à

  • déplacer vers un autre vide du dossier de données

ou

  • fermer Neo4j complètement
  • vider l'ancien dossier de données
  • redémarrer Neo4j et définir le dossier vide comme le dossier de données

il y a un moyen pour supprimer tous les noeuds et les relations (comme décrit ici )

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
6
répondu user3194532 2015-06-11 22:19:51

dans 2.0.0 -M6 vous pouvez exécuter le script de Cypher suivant pour supprimer tous les noeuds et les relations:

start n=node(*)
match (n)-[r?]-()
delete n,r
1
répondu Martin Seeler 2013-11-14 10:02:11

à partir de la version 3 je crois qu'il est maintenant possible de créer des instances de base de données séparées et donc leur emplacement est légèrement différent.

se référant à: https://neo4j.com/developer/guide-import-csv /

--dans la vente de détail.db est évidemment la base de données cible, qui ne doit pas contenir une base de données existante.

Sur mon Ubuntu zone de l'emplacement:

/var/lib/neo4j/data/databases où je ne vois actuellement que graph.db qui, je crois, doit être la valeur par défaut.

1
répondu Antony 2017-04-25 11:50:52

vous pouvez supprimer vos fichiers de données et si vous voulez passer par cette voie, je recommande supprimer seulement votre graphique.db, par exemple. Sinon, vous allez salir vos informations d'authentification.

0
répondu raeffray 2015-10-07 14:57:42