Nach meiner Erfahrung gibt es zwei Möglichkeiten, eine Neo4j-Datenbank zurückzusetzen, je nachdem, was Sie benötigen.
Methode 1: Löschen Sie einfach alle Knoten / Beziehungen / Indizes / Einschränkungen
Im Neo4j Browser oder in Py2neo mit graph.run()
( Link ).
# All nodes and relationships.
MATCH (n) DETACH DELETE n
# All indexes and constraints.
CALL apoc.schema.assert({},{},true) YIELD label, key RETURN *
Obwohl dieser Ansatz praktisch ist, ist er nicht geeignet, wenn ein Befehl neo4j-admin.bat import
für den BULK-Import verwendet wird, dh ideal, um Millionen von Knoten gleichzeitig schnell zu importieren .
Methode 2: Datenbank für BULK Import Tool zurücksetzen
Es ist nicht möglich, BULK zu importieren, wenn die Datenbank nicht leer ist . Ich habe die obige Methode ausprobiert, aber trotzdem den Fehler erhalten:
Import error: C:\Users\[username]\AppData\Local\Neo4j\Relate\Data\dbmss\dbms-dd16c384-78c5-4c21-94f3-b0e63e6c4e06\data\databases\neo4j already contains data, cannot do import here
Caused by:C:\Users\[username]\AppData\Local\Neo4j\Relate\Data\dbmss\dbms-dd16c384-78c5-4c21-94f3-b0e63e6c4e06\data\databases\neo4j already contains data, cannot do import here
java.lang.IllegalStateException: C:\Users\[username]\AppData\Local\Neo4j\Relate\Data\dbmss\dbms-dd16c384-78c5-4c21-94f3-b0e63e6c4e06\data\databases\neo4j already contains data, cannot do import here
Um dieses Problem zu beheben, habe ich die folgenden Ordner gelöscht:
c:\Users\[username]\AppData\Local\Neo4j\Relate\Data\dbmss\dbms-dd16c384-78c5-4c21-94f3-b0e63e6c4e06\data\databases\neo4j
und
c:\Users\[username]\AppData\Local\Neo4j\Relate\Data\dbmss\dbms-dd16c384-78c5-4c21-94f3-b0e63e6c4e06\data\transactions\neo4j
Führen Sie dann den Importbefehl aus:
"C:\Users\[username]\AppData\Local\Neo4j\Relate\Data\dbmss\dbms-dd16c384-78c5-4c21-94f3-b0e63e6c4e06\bin\neo4j-admin.bat" import --database=neo4j --multiline-fields=true --nodes=node_ABC.csv --nodes=node_XYZ.csv relationships=relationship_LMN.csv --relationships=relationship_UIO.csv
Starten Sie die Neo4j-Datenbank. In Neo4j Desktop sollten die Beschriftungen und Beziehungen jetzt erkannt werden.
Beachten Sie, dass die von mir gelöschte Datenbank ( neo4j ) und die Datenbank, in die ich importiert habe, identisch sind.
MATCH (n) DETACH DELETE n
alternativ verwenden.