1. CREATE (jim:Person {name: 'Jim', age: 47})
2. MATCH (n:Person) WHERE n.name='Jim' RETURN n
3. MATCH (n:Person {name: 'Jim'}) DETACH DELETE n
4. MATCH (n:Person) WHERE n.name='Jim' RETURN n
5. MATCH (n)
WHERE NOT (EXISTS(n.emploi))
SET n.emploi=n.job
REMOVE n.job
RETURN properties(n)
6. MATCH(n) REMOVE n.emploi RETURN properties(n)
7. MATCH(n) RETURN n
8. MATCH (jim:Person {name: 'Jim'})
CREATE (sally:Person:Employee {name: 'Sally', age: 28}),
(john:Person:Employee {name: 'John', age: 30}),
(proj:Project {title: 'Graph Databases', town: 'Paris'}),
(dept:Department {name: '4FUTURE'}),
(jim)-[:MANAGER {since:'01/09/2015'}]->(sally),
(jim)-[:WORKS_WITH {since:'01/09/2015'}]->(sally),
(sally)-[:WORKS_WITH {since:'02/05/2014'}]->(john),
(jim)-[:COORDINATES {since:'02/03/2015'}]->(proj),
(sally)-[:PARTICIPATES {since:'02/03/2015'}]->(proj),
(sally)-[:BELONGS_TO]->(dept),
(john)-[:BELONGS_TO]->(dept)
9. MATCH (n) RETURN n
10. MATCH(n) --> () RETURN n
11. MATCH (john {name:"John"}) – [r ] - ()
RETURN TYPE(r)
12. MATCH (e: Employee) --> (d: Department)
RETURN e.name, d.name
13. MATCH (jim:Person {name: 'Jim'}) - [:MANAGER]->(sub)
RETURN jim, sub
14.
MATCH (sally:Employee { name: 'Sally' })
MATCH (projet:Project { title:'Graph Databases' })
MATCH (sally)-[r:PARTICIPATES] -> (projet)
RETURN r.since
15.
MATCH (sally:Employee)-[:PARTICIPATES]->(project)
WHERE sally.name="Sally" AND project.town ="Paris"
RETURN project.title
16.
MATCH (e)-[:PARTICIPATES]->(p)<-[:COORDINATES]-(c)
RETURN e.name, c.name
17.
MATCH(p: Person)
WHERE p.name='Jim' OR p.name='Sally'
RETURN p.name as oldest
ORDER BY p.age DESC LIMIT 1
18.
MATCH (sally:Person {name:"Sally"})-[:PARTICIPATES]->(project),
MATCH (john:Person {name:"John"})
WHERE NOT (john)-[:PARTICIPATES]->(project)
RETURN DISTINCT project.title
19.
MATCH(n) RETURN COUNT(n)
20.
MATCH () --> () RETURN COUNT(*)
MATCH () -[r] -() RETURN type(r), count(*)
21.
MATCH (e:Employee)-[:PARTICIPATES]->(p)
RETURN e.name, count(p)
ORDER BY count(p) DESC LIMIT 10
MATCH (n) -- () RETURN n, labels(n), count(*)
22.
MATCH (fof)-[:WORKS_WITH*2]-(jim :Person)
WHERE jim.name = 'Jim' and NOT (jim)-[:WORKS_WITH]-(fof)
RETURN DISTINCT fof.name
23.
MATCH p=shortestPath( (jim)-[*1..10]-(john) )
WHERE jim.name="Jim" and john.name = "John"
RETURN length(p)
24. MATCH p=shortestPath( (jim)-[*1..10]-(john) )
WHERE jim.name="Jim" and john.name = "John"
RETURN EXTRACT ( n in nodes(p) | n.name )
25.
MATCH (jim: Person {name:'Jim'})
MATCH (john:Person {name:'John'}),
p = allShortestPaths((jim)-[*1..10]-(john))
RETURN p
26.
MATCH (sally {name: 'Sally'})--(other)--(x)
RETURN other, count(DISTINCT x)+1 AS nbfoaf
MATCH (sally {name: 'Sally'})-->(other)-->(x)
WITH other, count(DISYINCT x)+1 AS nbfoaf
WHERE nbfoaf > 2
RETURN other, nbfoaf
27.
MATCH (n)
where n.name is not null
with n
ORDER BY n.name DESC LIMIT 4
RETURN collect(n.name)
28.
MATCH (p {title: 'Graph Databases'})--(other)
WITH other, p
ORDER BY other.name DESC LIMIT 1
MATCH (other)--(neigh) WHERE neigh <> p
RETURN distinct neigh.name