Saltar al contenido

La mejor manera de eliminar todos los nodos y relaciones en Cypher

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *