sql >> Databáze >  >> RDS >> Mysql

Neo4j - Odstranit vztah pomocí Cypher

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.


  1. Vytváření názvů tabulek, které jsou vyhrazenými slovy/klíčovými slovy v MS SQL Server

  2. Funkce JSON_ARRAY() v Oracle

  3. Funkce změny velikosti písmen VBA

  4. jaký je dobrý způsob horizontálního úlomku v postgresql