Nuestro equipo de redactores ha pasado mucho tiempo investigando la resolución a tus interrogantes, te ofrecemos la solución por esto nuestro deseo es servirte de mucha ayuda.
Solución:
Como mencionó, la forma más fácil es detener Neo4j, soltar el data/graph.db
carpeta y reinícialo.
Eliminar un gráfico grande a través de Cypher siempre será más lento pero aún factible si usa un tamaño de transacción adecuado para evitar problemas de memoria (recuerde que las transacciones se acumulan en la memoria primero antes de comprometerse). Por lo general, 50-100k operaciones atómicas es una buena idea. Puede agregar un límite a su declaración de eliminación para controlar los tamaños de tx e informar cuántos nodos se han eliminado. Vuelva a ejecutar esta declaración hasta que se devuelva un valor de 0:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
WITH n,r LIMIT 50000
DELETE n,r
RETURN count(n) as deletedNodesCount
Según el documento oficial aquí:
MATCH (n)
DETACH DELETE n
pero también dijo This query isn’t for deleting large amounts of data
. así que es mejor usarlo con límite.
match (n)
with n limit 10000
DETACH DELETE n;
Escribí este pequeño script, lo agregué en mi carpeta NEO/bin.
Probado en la comunidad v3.0.6
#!/bin/sh
echo Stopping neo4j
./neo4j stop
echo Erasing ALL data
rm -rf ../data/databases/graph.db
./neo4j start
echo Done
Lo uso cuando mis importaciones LOAD CSV son malas.
Espero eso ayude
Comentarios y calificaciones del post
Si estás de acuerdo, eres capaz de dejar una noticia acerca de qué te ha parecido este ensayo.