diff options
author | Boris Verkhovskiy <boris.verk@gmail.com> | 2024-04-06 08:36:26 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-06 08:36:26 -0700 |
commit | 111ff839f3a9b96fecd1d186340bf57e0f27e177 (patch) | |
tree | 30d433ba19ec49808cc0f0de8a161835ad5f29c9 /cypher.html.markdown | |
parent | 9fa4b5af80f1cd7fe2469c198d02a21e4f8884a1 (diff) | |
parent | 3e687f1a8ccb1cd0d52a966005551d528ca141df (diff) |
Merge pull request #4881 from verhovsky/trailing-newlines
Remove leading and trailing empty lines in code blocks
Diffstat (limited to 'cypher.html.markdown')
-rw-r--r-- | cypher.html.markdown | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/cypher.html.markdown b/cypher.html.markdown index 32868354..5fe113a2 100644 --- a/cypher.html.markdown +++ b/cypher.html.markdown @@ -93,7 +93,6 @@ path = shortestPath( (user)-[:KNOWS*..5]-(other) ) // Tree navigation (root)<-[:PARENT*]-(leaf:Category)-[:ITEM]->(data:Product) - ``` @@ -101,13 +100,16 @@ Create queries --- Create a new node + ``` CREATE (a:Person {name:"Théo Gauchoux"}) RETURN a ``` + *`RETURN` allows to have a result after the query. It can be multiple, as `RETURN a, b`.* Create a new relationship (with 2 new nodes) + ``` CREATE (a:Person)-[k:KNOWS]-(b:Person) RETURN a,k,b @@ -117,36 +119,42 @@ Match queries --- Match all nodes + ``` MATCH (n) RETURN n ``` Match nodes by label + ``` MATCH (a:Person) RETURN a ``` Match nodes by label and property + ``` MATCH (a:Person {name:"Théo Gauchoux"}) RETURN a ``` Match nodes according to relationships (undirected) + ``` MATCH (a)-[:KNOWS]-(b) RETURN a,b ``` Match nodes according to relationships (directed) + ``` MATCH (a)-[:MANAGES]->(b) RETURN a,b ``` Match nodes with a `WHERE` clause + ``` MATCH (p:Person {name:"Théo Gauchoux"})-[s:LIVES_IN]->(city:City) WHERE s.since = 2015 @@ -154,6 +162,7 @@ RETURN p,state ``` You can use `MATCH WHERE` clause with `CREATE` clause + ``` MATCH (a), (b) WHERE a.name = "Jacquie" AND b.name = "Michel" @@ -165,6 +174,7 @@ Update queries --- Update a specific property of a node + ``` MATCH (p:Person) WHERE p.name = "Théo Gauchoux" @@ -172,6 +182,7 @@ SET p.age = 23 ``` Replace all properties of a node + ``` MATCH (p:Person) WHERE p.name = "Théo Gauchoux" @@ -179,6 +190,7 @@ SET p = {name: "Michel", age: 23} ``` Add new property to a node + ``` MATCH (p:Person) WHERE p.name = "Théo Gauchoux" @@ -186,6 +198,7 @@ SET p + = {studies: "IT Engineering"} ``` Add a label to a node + ``` MATCH (p:Person) WHERE p.name = "Théo Gauchoux" @@ -197,6 +210,7 @@ Delete queries --- Delete a specific node (linked relationships must be deleted before) + ``` MATCH (p:Person)-[relationship]-() WHERE p.name = "Théo Gauchoux" @@ -204,14 +218,17 @@ DELETE relationship, p ``` Remove a property in a specific node + ``` MATCH (p:Person) WHERE p.name = "Théo Gauchoux" REMOVE p.age ``` + *Pay attention to the `REMOVE`keyword, it's not `DELETE` !* Remove a label from a specific node + ``` MATCH (p:Person) WHERE p.name = "Théo Gauchoux" @@ -219,11 +236,13 @@ DELETE p:Person ``` Delete entire database + ``` MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n, r ``` + *Seriously, it's the `rm -rf /` of Cypher !* |