web-dev-qa-db-fra.com

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 graph Neo4j comme dans MySQL? Ou, au moins, comment supprimer tous les nœuds et toutes les relations d’un graphique existant pour obtenir une configuration propre aux tests, par exemple, à l’aide de commandes Shell similaires à rmrel ou rm?

101
rmv

Vous pouvez simplement supprimer le répertoire entier du graphe avec rm -rf, car Neo4j ne stocke rien en dehors de cela:

rm -rf data/*

En outre, vous pouvez bien sûr parcourir tous les nœuds et supprimer leurs relations et les nœuds eux-mêmes, mais cela peut s'avérer trop coûteux, rien que pour les tests ...

95
Peter Neubauer

commande encore plus simple pour supprimer tous les nœuds et toutes les relations:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
96
John Bachir

À partir de Neo4j 2.3,

Nous pouvons supprimer tous les nœuds avec des relations ,

MATCH (n)
DETACH DELETE n

Il n’existe actuellement aucune option permettant de créer plusieurs bases de données dans Noe4j. Vous devez créer plusieurs magasins de données Neo4j. Voir référence .

47
Somnath Muluk

Création d'une nouvelle base de données dans Neo4j

Avant de démarrer la communauté neo4j, cliquez sur l'option de navigation.

enter image description here

et choisissez un répertoire différent

enter image description here

enter image description here

et cliquez sur le bouton de démarrage.

enter image description here

Nouvelle base de données créée sur ce répertoire

47
Bharathiraja

manière rapide et sale qui fonctionne bien:

bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
12
Scott

Pour tous ceux qui ont besoin d’un graphique vierge pour exécuter une suite de tests - https://github.com/jexp/neo4j-clean-remote-db-addon est une excellente extension permettant de nettoyer la base de données. Un appel REST. Évidemment, ne l'utilisez pas en production!

11
Matt Luongo

Exécutez votre code de test sur une autre instance de neo4j.

  1. Copiez votre répertoire neo4j dans un nouvel emplacement. Utilisez ceci pour tester. cd dans le nouveau répertoire.
  2. Changez le port pour pouvoir exécuter vos tests et l’utiliser normalement simultanément. Pour changer le port ouvert conf/neo4j-server.properties Et mettre org.neo4j.server.webserver.port à un non utilisé.
  3. Démarrez le serveur de test lors de l'installation. 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
Pramod

Dans Neo4j 2.0.0 le? n'est plus pris en charge. Utilisez OPTIONAL MATCH à la place:

START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
6
charles

La réponse la plus simple est: [~ # ~] non [~ # ~]

La meilleure façon de "recommencer" est de

  • passer à un autre dossier de données vide

ou

  • fermez Neo4j complètement
  • vider l'ancien dossier de données
  • redémarrez Neo4j et définissez le dossier vide comme dossier de données

Il existe un moyen de supprimer tous les nœuds et toutes les relations (comme décrit ici )

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

Dans la version 2.0.0 -M6, vous pouvez exécuter le script Cypher suivant pour supprimer tous les nœuds et toutes les relations:

start n=node(*)
match (n)-[r?]-()
delete n,r
1
Martin Seeler

À partir de la version 3, je pense qu’il est maintenant possible de créer des instances de base de données distinctes. Par conséquent, leur emplacement est légèrement différent.

Référence à: https://neo4j.com/developer/guide-import-csv/

Le --into retail.db est évidemment la base de données cible, qui ne doit pas contenir une base de données existante.

Sur ma boîte Ubuntu, l'emplacement est:

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

1
Antony

Vous pouvez supprimer vos fichiers de données et si vous souhaitez suivre cette procédure, je vous recommande de supprimer uniquement votre graph.db, par exemple. Sinon, vous allez gâcher vos informations d'authentification.

0
raeffray