Frage

Ist es möglich, erstellen / löschen verschiedene Datenbanken in der Graphdatenbank Neo4j wie in MySQL? Oder zumindest, wie alle Knoten und Beziehungen eines bestehenden Graphen löschen einen sauberen Setup für Tests zu erhalten, zum Beispiel Shell-Befehle ähnlich wie rmrel oder rm?

War es hilfreich?

Lösung

Sie können nur das gesamte Grafik-Verzeichnis mit rm -rf entfernen, weil Neo4j ist nichts außerhalb zu speichern, dass:

rm -rf data/*

Auch Sie können Iterierte natürlich durch alle Knoten und ihre Beziehungen löschen und die Knoten selbst, aber das könnte zu teuer sein, nur den Zweck zu testen ...

Andere Tipps

noch einfacher Befehl, um alle Knoten und Beziehungen zu löschen:

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

Von Neo4j 2.3

Wir löschen alle Knoten mit Beziehungen ,

MATCH (n)
DETACH DELETE n

Zur Zeit gibt es keine jede Option auf mehrere Datenbanken in Noe4j zu erstellen. Sie müssen mehrere Filialen von Neo4j Daten machen. Siehe Referenz .

Erstellen von neuer Datenbank in Neo4j

Vor dem Start Neo4j Gemeinschaft klicken Sie auf die Browse-Option

eingeben Bild Beschreibung hier

und wählen Sie ein anderes Verzeichnis

eingeben Bild Beschreibung hier

eingeben Bild Beschreibung hier

und Starttaste klicken.

eingeben Bild Beschreibung hier

Neue Datenbank auf diesem erstellt direcory

schnelle und schmutzige Art und Weise, die gut funktioniert:

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

Für alle anderen, die eine saubere grafische Darstellung muss eine Testsuite laufen - https://github.com / jexp / Neo4j-clean-Remote-db-Addon ist eine große Erweiterung Löschen des db über eine REST-Aufruf zu ermöglichen. Offensichtlich aber, verwenden Sie es nicht in der Produktion!

Führen Sie Ihren Testcode auf einer anderen Neo4j Instanz.

  1. Kopieren Sie Neo4j Verzeichnis in einen neuen Standort. Verwenden Sie diese Option zum Testen. cd in das neue Verzeichnis.
  2. Ändern Sie den Port, so dass Sie Ihre Tests ausführen können und verwenden Sie es normalerweise gleichzeitig. Um den Port zu öffnen conf/neo4j-server.properties und Satz org.neo4j.server.webserver.port in einem nicht verwendet man ändern.
  3. Starten Sie den Test-Server auf Setup. Haben ./neo4j stop und rm -rf data/graph.db auf Teardown.

Weitere Informationen finden Sie unter Neo4j: Wie Datenbank wechseln und die docs .

In Neo4j 2.0.0 das? wird nicht mehr unterstützt. Verwendung OPTIONAL MATCH statt:

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

Die einfachste Antwort lautet: NO

Der beste Weg, um „neu anfangen“ zu

  • Umzug in ein anderes leeren Datenordner

oder

  • close Neo4j vollständig
  • leeren Sie den alten Datenordner
  • neu starten Neo4j und stellen Sie den leeren Ordner als Datenordner

Es gibt einen Weg, um alle Knoten und Beziehungen zu löschen (wie hier )

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

In 2.0.0 -M6 Sie können folgende Cypher Skript ausführen alle Knoten und Beziehungen zu löschen:

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

Ab Version 3 Ich glaube, dass es jetzt möglich ist, separate Datenbankinstanzen zu erstellen und damit ihre Lage ist etwas anders.

Mit Bezug auf: https://neo4j.com/developer/guide-import-csv /

Die --into retail.db ist offensichtlich die Zieldatenbank, die nicht über eine vorhandene Datenbank enthält.

Auf meinem Ubuntu Feld Speicherort ist in:

/var/lib/neo4j/data/databases wo ich sehe derzeit nur graph.db das meine Meinung nach muss der Standard sein.

Sie können Ihre Dateien löschen, und wenn Sie durch diese Art und Weise gehen wollen, würde ich empfehlen, nur Ihre graph.db löschen, zum Beispiel. Ansonsten werden Ihre Authentifizierungs-Info zu verwirren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top