Para excluir nós e relacionamentos usando Cypher, use o comando
DELETE
cláusula. O
DELETE
cláusula é usada dentro do MATCH
instrução para excluir quaisquer dados correspondidos. Assim, o
DELETE
cláusula é usada no mesmo lugar em que usamos o RETURN
cláusula em nossos exemplos anteriores. Exemplo
A declaração a seguir exclui o Álbum nó chamado Assassinos :
MATCH (a:Album {Name: "Killers"}) DELETE a
É uma boa ideia verificar se você está prestes a excluir os dados corretos antes de excluí-los.
Para fazer isso, construa sua declaração com um
RETURN
cláusula primeiro e, em seguida, execute-a. Isso permite que você verifique se vai excluir os dados corretos ou não. Quando estiver satisfeito com os dados corretos, basta alternar o RETURN
cláusula em um DELETE
cláusula. Exclusão de vários nós
Você também pode excluir vários nós de uma só vez. Simplesmente construa seu
MATCH
para incluir todos os nós que você deseja excluir. MATCH (a:Artist {Name: "Iron Maiden"}), (b:Album {Name: "Powerslave"}) DELETE a, b
Excluindo todos os nós
Você pode excluir todos os nós do banco de dados simplesmente omitindo qualquer critério de filtragem. Assim como quando selecionamos todos os nós do banco de dados, você também pode excluí-los.
MATCH (n) DELETE n
Exclusão de nós com relacionamentos
Há um pequeno problema com a exclusão de nós. E isto é, você só pode excluir nós se eles não tiverem nenhum relacionamento. Em outras palavras, você deve excluir quaisquer relacionamentos antes de excluir o próprio nó.
Se você tentar executar o
DELETE
acima instrução em nós que têm relacionamentos, você verá uma mensagem de erro como esta:Esta mensagem de erro está nos dizendo que temos que excluir qualquer relacionamento antes de excluir o nó.
Felizmente, existe uma maneira rápida e fácil de fazer isso. Vamos cobri-lo a seguir na exclusão de relacionamentos.