diff --git a/cypher/index.md b/cypher/index.md index 9ffed50..4a5f7c6 100644 --- a/cypher/index.md +++ b/cypher/index.md @@ -20,6 +20,7 @@ Cypher query consists of one or more clauses * [CREATE](/cypher/create) * [MERGE](/cypher/merge) * [DELETE](/cypher/delete) +* [REMOVE](/cypher/remove) * [SET](/cypher/set) * [WITH](/cypher/with) * [UNION](/cypher/union) @@ -41,4 +42,4 @@ See list of available graph [Algorithms](/cypher/algorithms) # Indexing -See how to utilize [Indexing](/cypher/indexing) \ No newline at end of file +See how to utilize [Indexing](/cypher/indexing) diff --git a/cypher/remove.md b/cypher/remove.md new file mode 100644 index 0000000..cd1010c --- /dev/null +++ b/cypher/remove.md @@ -0,0 +1,68 @@ +--- +title: "REMOVE" +nav_order: 22 +description: > + REMOVE is used to remove attributes from node and relationships, in addition to + removing labels from nodes. +parent: "Cypher Language" +--- + +# REMOVE + +## Example graph + +```cypher +CREATE + (billy :Player {name: 'Billy', score: 84}), + (andy :Player {name: 'Andy', score: 21}), + (lori :Player:Admin {name: 'Lori', score: 90}) +``` + +## Remove attributes + +The following query removes the 'score' attribute from the node +representing Andy. + +```cypher +MATCH (n {name: 'Andy'}) +REMOVE n.score +RETURN n.name, n.score +``` + +Result: +|n.name|n.score| +|------|-------| +|"Andy"| Null | + + +## Remove a label from a node + +To remove a label from a node use the REMOVE clause as follows: + +```cypher +MATCH (n {name: 'Lori'}) +REMOVE n:Admin +RETURN n.name, labels(n) +``` + +Result: +|n.name|labels(n)| +|------|--------| +|"Lori"|[Player]| + + +## Removing multiple labels from a node + +Similar to removing a single label from a node we can use the REMOVE clause +to remove multiple labels in one go + +```cypher +MATCH (n :Player {name: 'Lori'}) +REMOVE n:Admin:Player +RETURN n.name, labels(n) +``` + +Result: +|n.name|labels(n)| +|------|--------| +|"Lori"|[] |