Neo4j – Remove Clause
The REMOVE clause is used to remove properties and labels from graph elements (Nodes or Relationships).
The main difference between Neo4j CQL DELETE and REMOVE commands is −
- DELETE operation is used to delete nodes and associated relationships.
- REMOVE operation is used to remove labels and properties.
Removing a Property
You can remove a property of a node using MATCH along with the REMOVE clause.
Syntax
Following is the syntax to remove a property of a node using the REMOVE clause.
MATCH (node:label{properties . . . . . . . }) REMOVE node.property RETURN node
Example
Before proceeding with the example, create a node named Dhoni as shown below.
CREATE (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"})
Following is a sample Cypher Query to remove the above created node using the REMOVE clause.
MATCH (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) REMOVE Dhoni.POB RETURN Dhoni
To execute the above query, carry out the following steps −
Step 1 − Open the Neo4j desktop App and start the Neo4j Server. Open the built-in browser app of Neo4j using the URL http://localhost:7474/ as shown in the following screenshot.
Step 2 − Copy and paste the desired query in the dollar prompt and press the play button (to execute the query) highlighted in the following screenshot.
Result
On executing, you will get the following result. Here, you can observe that the node named POB was deleted.
Removing a Label From a Node
Similar to property, you can also remove a label from an existing node using the remove clause.
Syntax
Following is the syntax to remove a label from a node.
MATCH (node:label {properties . . . . . . . . . . . }) REMOVE node:label RETURN node
Example
Following is a sample Cypher Query to remove a label from an existing node using the remove clause.
MATCH (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) REMOVE Dhoni:player RETURN Dhoni
To execute the above query, carry out the following steps −
Step 1 − Open the Neo4j desktop App and start the Neo4j Server. Open the built-in browser app of Neo4j using the URL http://localhost:7474/ as shown in the following screenshot.
Step 2 − Copy and paste the desired query in the dollar prompt and press the play button (to execute the query) highlighted in the following screenshot.
Result
On executing, you will get the following result. Here, you can observe that the label was deleted from the node.
Removing Multiple Labels
You can also remove multiple labels from an existing node.
Syntax
Following is the syntax to remove multiple labels from a node.
MATCH (node:label1:label2 {properties . . . . . . . . }) REMOVE node:label1:label2 RETURN node
Example
Before proceeding with the example, create a node Ishant as shown below.
CREATE (Ishant:player:person {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})
Following is a sample Cypher Query to remove multiple labels from a node.
MATCH (Ishant:player:person {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) REMOVE Ishant:player:person RETURN Ishant
To execute the above query, carry out the following steps −
Step 1 − Open the Neo4j desktop App and start the Neo4j Server. Open the built-in browser app of Neo4j using the URL http://localhost:7474/ as shown in the following screenshot.
Step 2 − Copy and paste the desired query in the dollar prompt and press the play button (to execute the query) highlighted in the following screenshot.
Result
On executing, you will get the following result. Here, you can observe that the specified labels were deleted from the node.