2017-06-22 8 views
2

Ich benutze neo4j auf einem Linux-Maschine 16G Speicher und ich versuche, alle Graphen zu löschen. es hat 11353056 Beziehung vs 19900 Knoten. wenn ich nach dem Laden für eine Weile Match (n) detach delete n ausführen bekomme ich dich aus Speicherfehler.Neo4j löschen Grafik aus dem Speicher

Wie kann ich das Diagramm löschen? sollte ich fortfahren, indem ich die Beziehungen lösche und dann die Knoten lösche, um dieses Problem zu verhindern?

Antwort

1

Anstatt Cypher zu verwenden, um alle Graphen zu löschen, kann ich Neo4j stoppen und den Ordner data/graph.db löschen. Nach dem Neustart Neo4j.

Ein anderer Vorschlag ist, Ihre Löschabfrage mit einem Limit zu wiederholen, bis keine Datensätze mehr vorhanden sind.

Zum Beispiel:

Match (n) detach delete n limit 5000 
+0

wie ich eine Leistungsvergleiche mache, ist das Löschen der graph.db nicht die beste Sache zu tun. Sie sagen also, es ist besser, den Teil bis zum Ende zu löschen, als die Relationen und dann die Knoten zu löschen? –

+0

Ich glaube schon. Da abhängig von der Anzahl der Beziehungen Ihres Diagramms nur wenig Speicher verfügbar ist, können Sie nur diese Beziehungen löschen. Recht? –

+0

Ja, die Grafik hat für etwa 11M Beziehung –

0

tun, wie diese Datensätze mit einer Einschränkung zu entfernen:

MATCH (n) 
WITH n LIMIT 10000 
DETACH DELETE n 
RETURN count(*); 

Wenn Sie alles wie Eigenschaftsschlüssel zu entfernen, Neo4j Dienst beenden und alles entfernen data/graph.db

Verwandte Themen