11.5. Delete

11.5.1. Delete single node
11.5.2. Delete a node and connected relationships
11.5.3. Delete all nodes and relationships

Deleting graph elements — nodes and relationships, is done with DELETE.

For removing properties and labels, see Section 11.6, “Remove”.

The examples start out with the following database:

cypher-delete-graph.svg

11.5.1. Delete single node

To delete a node, use the DELETE clause.

Query. 

MATCH (n { name: 'Peter' })
DELETE n

Nothing is returned from this query, except the count of affected nodes.

Result

Nodes deleted: 1

(empty result)


Try this query live. create (_0 {`age`:25, `name`:"Tobias"}) create (_1 {`age`:34, `name`:"Peter"}) create (_2 {`age`:36, `name`:"Andres"}) create _2-[:`KNOWS`]->_0 create _2-[:`KNOWS`]->_1 match (n {name: 'Peter'}) delete n

11.5.2. Delete a node and connected relationships

If you are trying to delete a node with relationships on it, you have to delete these as well.

Query. 

MATCH (n { name: 'Andres' })-[r]-()
DELETE n, r

Nothing is returned from this query, except the count of affected nodes.

Result

Nodes deleted: 1
Relationships deleted: 2

(empty result)


Try this query live. create (_0 {`age`:25, `name`:"Tobias"}) create (_1 {`age`:34, `name`:"Peter"}) create (_2 {`age`:36, `name`:"Andres"}) create _2-[:`KNOWS`]->_0 create _2-[:`KNOWS`]->_1 match (n {name: 'Andres'})-[r]-() delete n, r

11.5.3. Delete all nodes and relationships

This query isn’t for deleting large amounts of data, but is nice when playing around with small example data sets.

Query. 

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

Nothing is returned from this query, except the count of affected nodes.

Result

Nodes deleted: 3
Relationships deleted: 2

(empty result)


Try this query live. create (_0 {`age`:25, `name`:"Tobias"}) create (_1 {`age`:34, `name`:"Peter"}) create (_2 {`age`:36, `name`:"Andres"}) create _2-[:`KNOWS`]->_0 create _2-[:`KNOWS`]->_1 MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r