with delete create and database neo4j nodes sql-delete relationships

database - delete - ¿Cómo eliminar/crear bases de datos en Neo4j?



neo4j match nodes with relationship (12)

De Neo4j 2.3,

Podemos eliminar todos los nodos con relaciones ,

MATCH (n) DETACH DELETE n

Actualmente no hay ninguna opción para crear múltiples bases de datos en Noe4j. Necesita hacer varias tiendas de datos de Neo4j. Ver reference .

¿Es posible crear / eliminar diferentes bases de datos en la base de datos de gráficos Neo4j como en MySQL? O, al menos, ¿cómo eliminar todos los nodos y las relaciones de un gráfico existente para obtener una configuración limpia para las pruebas, por ejemplo, utilizando comandos de shell similares a rmrel o rm ?


A partir de la versión 3, creo que ahora es posible crear instancias de bases de datos separadas y, por lo tanto, su ubicación es ligeramente diferente.

Refiriéndose a: https://neo4j.com/developer/guide-import-csv/

El --into retail.db es obviamente la base de datos de destino, que no debe contener una base de datos existente.

En mi cuadro de Ubuntu, la ubicación está en:

/var/lib/neo4j/data/databases donde actualmente solo veo graph.db que creo que debe ser el predeterminado.


Creando nueva base de datos en Neo4j

Antes de iniciar la comunidad neo4j, haga clic en la opción de navegación

y elige un directorio diferente

y haga clic en el botón de inicio.

Nueva base de datos creada en ese direcory


Ejecute su código de prueba en una instancia diferente de neo4j.

  1. Copie su directorio neo4j en una nueva ubicación. Use esto para probar cd en el nuevo directorio.
  2. Cambie el puerto para que pueda ejecutar sus pruebas y usarlo normalmente de forma simultánea. Para cambiar el puerto, abra conf/neo4j-server.properties y configure org.neo4j.server.webserver.port como no utilizado.
  3. Inicie el servidor de prueba en la configuración. Do ./neo4j stop y rm -rf data/graph.db en el desmontaje.

Para más detalles, vea neo4j: ¿Cómo cambiar la base de datos? y los docs .


En 2.0.0 -M6, puede ejecutar el siguiente script Cypher para eliminar todos los nodos y relaciones:

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


En Neo4j 2.0.0 el? ya no es compatible. Use el PARTIDO OPCIONAL en su lugar:

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


La respuesta más fácil es: NO

La mejor manera de "comenzar de nuevo" es

  • mover a otra carpeta de datos vacía

o

  • cerrar Neo4j por completo
  • vaciar la carpeta de datos anterior
  • reinicie Neo4j y configure la carpeta vacía como la carpeta de datos

Hay una forma de eliminar todos los nodos y las relaciones (como se describe aquí )

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


Para cualquier otra persona que necesite un gráfico limpio para ejecutar un conjunto de pruebas, https://github.com/jexp/neo4j-clean-remote-db-addon es una gran extensión para permitir borrar el db a través de una llamada REST. Obviamente, sin embargo, ¡no lo use en producción!


Puede eliminar sus archivos de datos y, si desea continuar de esta manera, le recomiendo que elimine solo su graph.db, por ejemplo. De lo contrario, vas a desordenar tu información de autenticación.


Simplemente puede eliminar todo el directorio de gráficos con rm -rf , porque Neo4j no está almacenando nada fuera de eso:

rm -rf data/*

Además, por supuesto puede iterar a través de todos los nodos y eliminar sus relaciones y los nodos, pero eso puede ser demasiado costoso solo para probar ...


comando aún más simple para eliminar todos los nodos y las relaciones:

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


manera rápida y sucia que funciona bien:

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