© 2023 Neo4j, Inc. All rights reserved.
© 2023 Neo4j, Inc. All rights reserved.
Introduction to Graph Databases
© 2023 Neo4j, Inc. All rights reserved.
© 2023 Neo4j, Inc. All rights reserved.
Graph Components
© 2023 Neo4j, Inc. All rights reserved.
Graph components
Node (Vertex)
• The main data element from which graphs are constructed
Relationship (Edge)
• A link between two nodes. Has:
• Direction
• Type
• A node without relationships is permitted. A relationship without nodes is not
ACTED_IN
Keanu
Reeves
The
Matrix
© 2023 Neo4j, Inc. All rights reserved.
Property graph database
Node (Vertex)
Relationship (Edge)
Label
● Define node role (optional)
● Can have more than one
Properties
● Enrich a node or relationship
● No need for nulls!
name: Keanu Reeves
title: The Matrix
released: 1999
tagline: Welcome…
role: Neo
Person
Action
Movie
ACTED_IN
© 2023 Neo4j, Inc. All rights reserved.
© 2023 Neo4j, Inc. All rights reserved.
How do we query?
© 2023 Neo4j, Inc. All rights reserved. 6
Cypher
A pattern matching query language made for graphs
• Declarative
• Expressive
• Pattern-Matching
© 2023 Neo4j, Inc. All rights reserved.
Cypher: powerful and expressive query language
:LOVES
CREATE (:Person {name: 'Jane'})
NODE
Label Property
NODE
Label Property
RELATIONSHIP
-[:LOVES]-> (:Person { name: 'Arlo' })
name: 'Jane' name: 'Arlo'
Person Person
© 2023 Neo4j, Inc. All rights reserved.
Cypher: powerful and expressive query language
:MARRIED_TO
MATCH (p:Person {name: 'Jane'})
NODE
Label Property
NODE
Variable
RELATIONSHIP
-[:MARRIED_TO]-> (spouse:Person)
name: 'Jane'
Variable
RETURN p, spouse
Label
Person Person
© 2023 Neo4j, Inc. All rights reserved.
© 2023 Neo4j, Inc. All rights reserved.
Index Free Adjacency
Or Native vs Non-Native
© 2023 Neo4j, Inc. All rights reserved.
Visualization
Queries
Processing
Storage
Non-Native Graph DB
Native Graph DB RDBMS
Optimized for graph
workloads
Native vs Non-Native
© 2023 Neo4j, Inc. All rights reserved.
Index-Free Adjacency?
Person Person_Knows
Look up Person
A
B
C
A
B
C
A
… …
…
…
…
Look up Person
in Person_Knows
Look up People
who were known!
(* number of people)
4 Index Lookups
Look up Person
A
C
B
Chase pointers
(No index lookup!)
1 Index Lookup
(no matter HOW
many friends)

Office Tool Plus Free Download (Latest 2025)

  • 1.
    © 2023 Neo4j,Inc. All rights reserved. © 2023 Neo4j, Inc. All rights reserved. Introduction to Graph Databases
  • 2.
    © 2023 Neo4j,Inc. All rights reserved. © 2023 Neo4j, Inc. All rights reserved. Graph Components
  • 3.
    © 2023 Neo4j,Inc. All rights reserved. Graph components Node (Vertex) • The main data element from which graphs are constructed Relationship (Edge) • A link between two nodes. Has: • Direction • Type • A node without relationships is permitted. A relationship without nodes is not ACTED_IN Keanu Reeves The Matrix
  • 4.
    © 2023 Neo4j,Inc. All rights reserved. Property graph database Node (Vertex) Relationship (Edge) Label ● Define node role (optional) ● Can have more than one Properties ● Enrich a node or relationship ● No need for nulls! name: Keanu Reeves title: The Matrix released: 1999 tagline: Welcome… role: Neo Person Action Movie ACTED_IN
  • 5.
    © 2023 Neo4j,Inc. All rights reserved. © 2023 Neo4j, Inc. All rights reserved. How do we query?
  • 6.
    © 2023 Neo4j,Inc. All rights reserved. 6 Cypher A pattern matching query language made for graphs • Declarative • Expressive • Pattern-Matching
  • 7.
    © 2023 Neo4j,Inc. All rights reserved. Cypher: powerful and expressive query language :LOVES CREATE (:Person {name: 'Jane'}) NODE Label Property NODE Label Property RELATIONSHIP -[:LOVES]-> (:Person { name: 'Arlo' }) name: 'Jane' name: 'Arlo' Person Person
  • 8.
    © 2023 Neo4j,Inc. All rights reserved. Cypher: powerful and expressive query language :MARRIED_TO MATCH (p:Person {name: 'Jane'}) NODE Label Property NODE Variable RELATIONSHIP -[:MARRIED_TO]-> (spouse:Person) name: 'Jane' Variable RETURN p, spouse Label Person Person
  • 9.
    © 2023 Neo4j,Inc. All rights reserved. © 2023 Neo4j, Inc. All rights reserved. Index Free Adjacency Or Native vs Non-Native
  • 10.
    © 2023 Neo4j,Inc. All rights reserved. Visualization Queries Processing Storage Non-Native Graph DB Native Graph DB RDBMS Optimized for graph workloads Native vs Non-Native
  • 11.
    © 2023 Neo4j,Inc. All rights reserved. Index-Free Adjacency? Person Person_Knows Look up Person A B C A B C A … … … … … Look up Person in Person_Knows Look up People who were known! (* number of people) 4 Index Lookups Look up Person A C B Chase pointers (No index lookup!) 1 Index Lookup (no matter HOW many friends)