Mysql
 sql >> база данни >  >> RDS >> Mysql

Neo4j - Изтриване на връзка с помощта на Cypher

Можете да изтриете връзки по същия начин като изтриването на възли – като съпоставите връзката/ите, които искате да изтриете.

Можете да изтриете една или много връзки наведнъж. Можете дори да изтриете всички релации в базата данни.

Първо, като освежаване на паметта, ето връзките, които създадохме по-рано:

Нека изтрием връзката от тип RELEASED .

Има няколко начина, по които можем да направим това. Нека разгледаме три.

Следното изявление е доста широко — ще изтрие всички релации от тип RELEASED :

MATCH ()-[r:RELEASED]-() 
DELETE r

Можете също така да бъдете по-конкретни и да напишете нещо подобно:

MATCH (:Artist)-[r:RELEASED]-(:Album) 
DELETE r

Горното изявление ще съответства на всички Изпълнители възли, които имат тип връзка RELEASED с Албум възел.

Можете да бъдете още по-конкретни и да направите нещо подобно:

MATCH (:Artist {Name: "Strapping Young Lad"})-[r:RELEASED]-(:Album {Name: "Heavy as a Really Heavy Thing"}) 
DELETE r

Всяко от тези изявления ще доведе до RELEASED връзката се изтрива. Графиката ще изглежда така:

Изтриване на възли с прикачени връзки

Възлите не могат да бъдат изтрити, ако все още имат връзки към тях.

Ако се опитаме да изпълним следния оператор:

MATCH (a:Artist {Name: "Strapping Young Lad"}) DELETE a

Ще получим следната грешка:

Това е така, защото този възел има свързана връзка.

Една от опциите е да изтриете всички връзки, след което да изтриете възела.

Друга възможност е да използвате DETACH DELETE клауза. DETACH DELETE клаузата ви позволява да изтриете възел и всички връзки, свързани с него.

Така че можем да променим горното твърдение на това:

MATCH (a:Artist {Name: "Strapping Young Lad"}) DETACH DELETE a

Изпълнението на този оператор ще доведе до следното съобщение за успех:

Изтриване на цялата база данни

Можете да вземете DETACH DELETE стъпка напред и изтрийте цялата база данни.

Просто премахнете всички критерии за филтриране и това ще изтрие всички възли и всички връзки.

Продължете и изпълнете следния оператор:

MATCH (n) DETACH DELETE n

Вече нямаме никакви данни в базата данни... така че предполагам, че това е краят на урока :)

Ако се интересувате да научите повече за работата с Neo4j, вижте официалната документация на Neo4j.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Импортирайте CSV в MySQL

  2. PostgreSQL срещу MySQL:Кое е най-доброто?

  3. Функция MySQL ASIN() – Връща дъга синус на число

  4. Свържете се с отдалечена база данни MySQL чрез SSH с помощта на Java

  5. Как да автоматизирате миграцията от самостоятелен MySQL към Galera Cluster с помощта на Ansible