9. Toy
Story
Movie
Animated
Nodes can be identified by
one or more labels
title: Toy Story
released: 1995
Nodes represent
things
Nodes can hold
properties as key/value
pairs
20. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
21. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
22. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
Movie
ACTED_IN
Person
23. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
24. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
25. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
26. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
27. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
28. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
29. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
30. Cypher is a declarative language that allows you
to identify patterns in your data using an ASCII-
art style syntax consisting of brackets, dashes
and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
31. Writing to Neo4j
// Create a pattern
CREATE (:Person {name: "Tom Hanks"})
-[:ACTED_IN {roles: "Woody"}]->
(:Movie {title: "Toy Story"})
32. Writing to Neo4j
// Find or create using MERGE
MERGE (p:Person {name: "Tom Hanks"})
33. Writing to Neo4j
// Find or create using MERGE
MERGE (p:Person {name: "Tom Hanks"})
MERGE (m:Movie {title: "Toy Story"})
34. Writing to Neo4j
// Find or create using MERGE
MERGE (p:Person {name: "Tom Hanks"})
MERGE (m:Movie {title: "Toy Story"})
MERGE (p)-[r:ACTED_IN]->(m)
35. Writing to Neo4j
// Find or create using MERGE
MERGE (p:Person {name: "Tom Hanks"})
MERGE (m:Movie {title: "Toy Story"})
MERGE (p)-[r:ACTED_IN]->(m)
SET r.roles = "Woody"
36. Reading from Neo4j
// Find a pattern in the database
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)
37. Reading from Neo4j
// Find a pattern in the database
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)
// Filter on a node property
WHERE m.title = "Toy Story"
38. // Find a pattern in the database
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)
// Filter on a node property
WHERE m.title = "Toy Story"
// Choose what to return
RETURN p.name AS actor, r.roles AS roles
Reading from Neo4j
39. // Find a pattern in the database
SQL Equivalent
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)
FROM/JOIN
// Filter on a node property
WHERE m.title = "Toy Story"
WHERE
// Choose what to return
RETURN p.name AS actor, r.roles AS roles SELECT
Reading from Neo4j
40. // Actors who acted with Tom Hanks also acted in...
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)
<-[:ACTED_IN]-(p2)-[r2:ACTED_IN]->(m2:Movie)
WHERE p.name = "Tom Hanks"
// Return their name and a list of the movie titles
RETURN p2.name AS actor, collect(m2.title) AS
movies
Reading from Neo4j
42. LOAD CSV WITH HEADERS FROM 'file:///stations.csv' AS row
MERGE (s:Station {id: row.id})
SET s.name = row.name,
s.zone = row.zone,
s.location = point({
latitude: toFloat(row.latitude),
longitude: toFloat(row.longitude)
})
Going Underground
43. LOAD CSV WITH HEADERS FROM 'file:///lines.csv' AS row
MERGE (l:Line {id: row.line})
SET l += row {
.name,
.colour,
.stripe
}
Going Underground
44. Going Underground
LOAD CSV WITH HEADERS FROM 'file:///stops.csv' AS row
MATCH (s1:Station {id: row.station1})
MATCH (s2:Station {id: row.station2})
MATCH (l:Line {id: row.line})
CALL apoc.create.relationship(
s1,
toUpper(replace(l.name, ' ', '_')), {}, s2
) YIELD rel
47. MATCH (start:Station {name: "Liverpool Street"})
MATCH (end:Station {name: "Kensington (Olympia)"})
MATCH path = allShortestPaths((start)-[*..99]-(end))
WHERE all(r in relationships(path) WHERE not r:`WATERLOO_&_CITY_LINE`)
AND all(n in nodes(path) WHERE not r:Busy)
RETURN path
48. ● Completely Free
● Hands-on Courses
teaching Neo4j Fundamentals, Cypher,
Drivers and Graph Data Science
● Curated Learning Paths
catering for everyone from beginners to
experts
● Free Certifications
graphacademy.neo4j.com
Learn more with
Notas do Editor
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
Graphs essentially consist of nodes, and these nodes represent things, they represent entities. In this case it's a MacBook, it could be a product, a car, a location, it's something physical.We can identify these nodes with one or more labels.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.
And the way we query this structure of known term relationships is with a language called cypher. Cypher is a declarative query language that allows you to identify patterns in your data. In this case, a customer who is rated a product. We do that by drawing the patterns on screen using an ASCII-art style syntax.