The REMOVE clause is used to remove properties from vertex and edges.

Terminal REMOVE clauses

A REMOVE clause that is not followed by another clause is a terminal clause. When a cypher query ends with a terminal clause, no results will be returned from the cypher function call. However, the cypher function call still requires a column list definition. When cypher ends with a terminal node, define a single value in the column list definition: no data will be returned in this variable.

Remove a property

Cypher does not allow storing null in properties. Instead, if no value exists, the property is just not there. So, removing a property value on a node or a relationship is also done with REMOVE.

Query

  1. SELECT *
  2. FROM cypher('graph_name', $$
  3. MATCH (andres {name: 'Andres'})
  4. REMOVE andres.age
  5. RETURN andres
  6. $$) as (andres agtype);

The node is returned, and no property age exists on it.

Result

andres
{id: 3; label: ‘Person’; properties: {name:”Andres”}}::vertex
1 row(s) returned