Hoe de neo4j-database resetten / wissen / verwijderen?

We kunnen alle knooppunten en relaties verwijderen door de volgende query te volgen.

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

Maar nieuw gemaakte node krijgt internal id as ({last node internal id} + 1) . Het wordt niet teruggezet naar nul.

Hoe kunnen we de neo4j-database resetten, zoals een nieuw gemaakte node krijgt een id als 0?

Vanaf 2.3 kunnen we alle knooppunten met relaties verwijderen,

MATCH (n)
DETACH DELETE n

Antwoord 1, autoriteit 100%

Sluit uw Neo4j-server af, voer een rm -rf data/graph.dbuit en start de server opnieuw op. Deze procedure wist uw gegevens volledig, dus ga er voorzichtig mee om.


Antwoord 2, autoriteit 40%

voer beide opdrachten uit.

match (a) -[r] -> () delete a, r

het bovenstaande commando zal alle knooppunten met relaties verwijderen.
voer dan uit,

match (a) delete a

en het verwijdert knooppunten die geen relaties hebben.


Antwoord 3, autoriteit 13%

Omgaan met meerdere databases.

Volgens Neo4j beheert documentatie over meerdere databases:

Een laatste administratief verschil is hoe u één database volledig kunt opschonen zonder de hele instantie met meerdere databases te beïnvloeden. Bij het omgaan met een enkele instantie en een enkele databasebenadering, kunnen gebruikers de hele instantie verwijderen en opnieuw beginnen. Met meerdere databases kunnen we dat echter niet doen, tenzij we ons op ons gemak voelen om in dat geval alles uit onze andere databases te verliezen.
De aanpak is vergelijkbaar met andere DBMS’en waar we de database kunnen laten vallen en opnieuw maken, maar al het andere behouden. Het commando van Cypher hiervoor is CREATE OR REPLACE DATABASE <name>. Dit zal de database maken (als deze nog niet bestaat) of een bestaande database vervangen door een schone.

Wanneer neo4j is gestart, is het mogelijk om toegang te krijgen tot twee databases, een systemdatabase en een standaard (neo4j) database. Om de neo4jdatabase te wissen/resetten:

1 – Schakel over naar systemdatabase:

:use system

2 – Toon alle databases die met de instantie zijn gemaakt:

SHOW DATABASES

3 – Voer de opdracht uit om de database te wissen.

CREATE OR REPLACE DATABASE <name>

4, Autoriteit 4%

Deze opdracht verwijdert alles, maar vereist dat APOC wordt geïnstalleerd:

call apoc.periodic.iterate (‘match (n) retourneren n’, ‘detach verwijderen n’, {batchsize: 1000})

Other episodes