Question

Est-il possible de créer / supprimer des bases de données différentes dans la base de données graphique Neo4j comme dans MySQL? Ou, au moins, comment supprimer tous les nœuds 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?

Était-ce utile?

La solution

Vous pouvez simplement supprimer le répertoire entier graphique avec rm -rf, parce que Neo4j ne stocke rien en dehors de ce qui suit:

rm -rf data/*

En outre, vous pouvez bien sûr itérer à travers tous les nœuds et de supprimer leurs relations et les nœuds eux-mêmes, mais peut-être trop coûteux juste pour tester ...

Autres conseils

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

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

De Neo4j 2.3,

Nous pouvons supprimer tous les noeuds avec relations ,

MATCH (n)
DETACH DELETE n

À l'heure actuelle il n'y a pas toute possibilité de créer plusieurs bases de données Noe4j. Vous devez faire plusieurs magasins de données Neo4j. Voir .

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

Avant de commencer communauté Neo4j cliquez sur l'option de navigation

entrer image description ici

et choisissez un autre répertoire

entrer image description ici

entrer image description ici

et cliquez sur le bouton de démarrage.

entrer image description ici

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

moyen rapide et sale qui fonctionne très bien:

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

Pour toute autre personne qui a besoin d'un graphique propre à exécuter une suite de tests - https://github.com est une grande extension pour permettre la compensation du db par un appel REST / JEXP / Neo4j-nettoyage-db-distance addon . De toute évidence, cependant, ne pas l'utiliser dans la production!

Exécuter votre code de test sur une autre instance de Neo4j.

  1. Copiez votre répertoire Neo4j dans un nouvel emplacement. Utilisez-le pour tester. cd dans le nouveau répertoire.
  2. Modifier le port de sorte que vous pouvez exécuter vos tests et l'utiliser normalement en même temps. Pour changer le port conf/neo4j-server.properties ouvert et ensemble org.neo4j.server.webserver.port à un un utilisé.
  3. Démarrer le serveur de test sur la configuration. Faites ./neo4j stop et rm -rf data/graph.db sur teardown.

Pour plus de détails voir Neo4j: Comment passer la base de données et docs .

Dans Neo4j 2.0.0 le? ne sont plus pris en charge. Utilisez EN OPTION MATCH à la place:

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

réponse est plus simple: NON

La meilleure façon de « repartir à zéro » est à

  • passer à une autre données vide dossier

ou

  • fermer complètement Neo4j
  • vider l'ancien dossier de données
  • et redémarrer Neo4j régler le dossier vide que le dossier de données

Il y a un moyen de supprimer tous les nœuds et les relations (comme décrit )

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

2.0.0 -M6 Vous pouvez exécuter le script Cypher comme suit pour supprimer tous les nœuds et les relations:

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

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

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

  

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

Sur mon Ubuntu box l'emplacement est:

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

Vous pouvez supprimer vos fichiers de données et si vous voulez passer par cette façon, je recommanderais simplement supprimer votre graph.db, par exemple. Sinon, votre vont gâcher vos informations d'authentification.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top