Vztahy můžete smazat stejným způsobem jako vymazání uzlů – porovnáním vztahů, které chcete odstranit.
Najednou můžete odstranit jeden nebo více vztahů. Můžete dokonce odstranit všechny vztahy v databázi.
Nejprve, pro osvěžení paměti, zde jsou vztahy, které jsme vytvořili dříve:
Odstraníme vztah typu RELEASED .
Existuje několik způsobů, jak na to můžeme jít. Podívejme se na tři.
Následující příkaz je poměrně široký — odstraní všechny vztahy typu RELEASED :
MATCH ()-[r:RELEASED]-() DELETE r
Můžete být také konkrétnější a napsat něco takového:
MATCH (:Artist)-[r:RELEASED]-(:Album) DELETE r
Výše uvedené prohlášení bude odpovídat všem Umělcům uzly, které mají typ vztahu RELEASED s albem uzel.
Můžete být ještě konkrétnější a udělat něco takového:
MATCH (:Artist {Name: "Strapping Young Lad"})-[r:RELEASED]-(:Album {Name: "Heavy as a Really Heavy Thing"}) DELETE r
Jakékoli z těchto prohlášení bude mít za následek UVOLNĚNO vztah se maže. Graf bude vypadat takto:
Odstranění uzlů s připojenými vztahy
Uzly nelze odstranit, pokud jsou k nim stále připojeny vztahy.
Pokud se pokusíme spustit následující příkaz:
MATCH (a:Artist {Name: "Strapping Young Lad"}) DELETE a
Zobrazí se následující chyba:
Je to proto, že tento uzel má propojený vztah.
Jednou z možností je odstranit všechny vztahy a poté odstranit uzel.
Další možností je použít DETACH DELETE
doložka. DETACH DELETE
klauzule umožňuje odstranit uzel a všechny vztahy s ním spojené.
Výše uvedené prohlášení tedy můžeme změnit na toto:
MATCH (a:Artist {Name: "Strapping Young Lad"}) DETACH DELETE a
Spuštění tohoto příkazu bude mít za následek následující zprávu o úspěchu:
Smazat celou databázi
Můžete použít DETACH DELETE
o krok dále a smažte celou databázi.
Jednoduše odstraňte všechna kritéria filtrování a odstraní se všechny uzly a všechny vztahy.
Pokračujte a proveďte následující příkaz:
MATCH (n) DETACH DELETE n
V databázi již nemáme žádná data... takže hádám, že tímto návod končí :)
Pokud se chcete dozvědět více o práci s Neo4j, podívejte se na oficiální dokumentaci Neo4j.