Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Neo4j - Excluir um relacionamento usando Cypher


Você pode excluir relacionamentos da mesma forma que excluir nós — correspondendo aos relacionamentos que deseja excluir.

Você pode excluir um ou vários relacionamentos de uma só vez. Você pode até mesmo excluir todos os relacionamentos no banco de dados.

Primeiro, para relembrar a memória, aqui estão os relacionamentos que criamos anteriormente:

Vamos excluir o relacionamento do tipo LIBERADO .

Há várias maneiras de fazermos isso. Vejamos três.

A declaração a seguir é bastante ampla — ela excluirá todos os relacionamentos do tipo LIBERADO :
MATCH ()-[r:RELEASED]-() 
DELETE r

Você também pode ser mais específico e escrever algo assim:
MATCH (:Artist)-[r:RELEASED]-(:Album) 
DELETE r

A declaração acima corresponderá a todos os Artistas nós que têm um tipo de relacionamento RELEASED com um álbum nó.

Você poderia ser ainda mais específico e fazer algo assim:
MATCH (:Artist {Name: "Strapping Young Lad"})-[r:RELEASED]-(:Album {Name: "Heavy as a Really Heavy Thing"}) 
DELETE r

Qualquer uma dessas declarações resultará no LIBERADO relacionamento sendo deletado. O gráfico ficará assim:

Exclusão de nós com relacionamentos anexados


Os nós não podem ser excluídos se ainda tiverem relacionamentos anexados a eles.

Se tentarmos executar a seguinte instrução:
MATCH (a:Artist {Name: "Strapping Young Lad"}) DELETE a

Teremos o seguinte erro:

Isso ocorre porque esse nó tem um relacionamento conectado.

Uma opção é excluir todos os relacionamentos e, em seguida, excluir o nó.

Outra opção é usar o DETACH DELETE cláusula. O DETACH DELETE A cláusula permite excluir um nó e todos os relacionamentos conectados a ele.

Assim, podemos alterar a declaração acima para isso:
MATCH (a:Artist {Name: "Strapping Young Lad"}) DETACH DELETE a

A execução dessa instrução resultará na seguinte mensagem de sucesso:

Excluir todo o banco de dados


Você pode usar o DETACH DELETE um passo adiante e exclua todo o banco de dados.

Simplesmente remova qualquer critério de filtragem e ele excluirá todos os nós e todos os relacionamentos.

Vá em frente e execute a seguinte instrução:
MATCH (n) DETACH DELETE n

Não temos mais dados no banco de dados... então acho que esse é o fim do tutorial :)

Se você estiver interessado em aprender mais sobre como trabalhar com o Neo4j, confira a documentação oficial do Neo4j.