Graph Databases introduces graphs and graph databases to
technology enthusiasts, developers, and database architects.

Graph Databases, published by O’Reilly Media, discusses the problems that are well aligned with graph databases, with examples drawn from practical, real-world use cases. This book also looks at the ecosystem of complementary technologies, highlighting what differentiates graph databases from other database technologies, both relational and NOSQL.

Graph Databases is written by Ian Robinson, Jim Webber, and Emil Eifrém, graph experts and enthusiasts at Neo Technology, creators of Neo4j, the world’s leading graph database.

Table of Contents

1. Introduction
What is a Graph?
A High-Level View of the Graph Space
The Power of Graph Databases
2. Options for Storing Connected Data
Relational Databases Lack Relationships
NOSQL Databases Also Lack Relationships
Graph Databases Embrace Relationships
3. Data Modeling with Graphs
Models and Graphs
The Property Graph Model
Querying Graph: Introduction to Cypher
Comparison of Relational and Graph Modeling
Cross-Domain Models
Common Modeling Pitfalls
Avoiding Anti-Patterns
4. Building a Graph Database Application
Data Modeling
Application Architecture
Capacity Planning
5. Graphs in the Real World
Why Organizations Choose Graph Databases
Common Use Cases
Real-World Examples
6. Graph Database Internals
Native Graph Processing
Native Graph Storage
Programmatic APIs
Nonfunctional Characteristics
7. Predictive Analysis with Graph Theory
Depth- and Breadth- First Search
Path-Finding with Dijkstra’s Algorithm
The A* Algorithm
Graph Theory and Predictive Modeling
Local Bridges

This official released version of Graph Databases, published by O’Reilly Media, is compliments of Neo Technology, creators of Neo4j.

Purchase the Print Version

Order Print Version

Errata for Graph Databases

Submit and Review Errata

Share Button

90 comments on “

  1. Walker on said:


  2. thanks alot!!!

  3. Tushar on said:

    How about modelling a family tree/genealogy using graph database

    • adminwp on said:

      Hi Tushar,

      Yes, graph database are a natural fit to family trees and we have customers doing just that. Check out this fun family tree – Games of Thrones – on our Learn Neo4j with Cypher page:


  4. Roger on said:

    Shouldn’t the arrows in Fig. 3.1 be pointing in the opposite direction in order to make the figure congruent with the ASCII art Cypher expression below the figure?

  5. Kyle on said:

    Thank you very much. This will be very useful.

  6. Johannes on said:

    Thank you very much.

  7. Saul Lozano on said:

    Thanks for this! Now I don’t have any excuses more to get deeper in touch with graph databases. :-)

  8. shashank agarwal on said:

    Thanks for making it freely available!

  9. Chris on said:

    Thank you!

  10. Courtney on said:

    Thank you for sharing!!!

  11. Yord on said:

    Many thanks for your kindness!

  12. Resul Alkan on said:

    Thank you very much! I’m very grateful for this e-book.

  13. rdebliek on said:

    Thanks a lot; highly interesting subject.

  14. luizjoze on said:

    Thank you

  15. Touchtap on said:

    Cool thanks!

  16. Mawuli on said:


  17. Alvaro Brange on said:

    Thanks for the book. I want to know more about graph databases, despite I already have been using Neo4j


  18. kamel on said:

    Thanks for this interesting book.

  19. konstantin sergeev on said:

    i supposed that graph database is more convinient to represent real word objects naturally

  20. Pui Kwan on said:

    Thanks for sharing this!

Leave a Reply

Your email address will not be published. Required fields are marked *


HTML tags are not allowed.

Neo4j 2.0 – Eine Graphdatenbank für alle
Michael Hunger Das einzige deutsche Buch zu Neo4j, umfassend und aktuell für Version 2.0. Gratis E-Book zum Download
Jetzt reinschauen »
Ian Robinson’s Blog: Running the Graph Databases Book Examples
The current version of Neo4j has two different types of index: named indexes and automatic indexes. The Cypher query examples throughout the Graph Databases book use named indexes.
There’s a problem, however: data created using a Cypher CREATE statement won’t be indexed in a named index. This has led to some confusion for anyone wanting to code along with the examples: if you use the CREATE statements as published, the query examples won’t work.

Read the full blog here

Ian Robinson is the Director of Customer Success for Neo Technology, the company behind Neo4j. He is a co-author of REST in Practice (O’Reilly) and a contributor to the forthcoming REST: From Research to Practice (Springer) and Service Design Patterns (Addison-Wesley).