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. Thanks a lot!

  2. kevin on said:

    Thank you for the free book! I’d like to know if there are figures can be downloaded in the book?

  3. Thank you for the generosity!

  4. Daniil on said:


  5. Eideo on said:

    Great!thank you for sharing!

  6. CheeseshireCat on said:

    I have worked with a few graph DBs in a bit over than a decade, so it is no news to me, but nice to have a fresher look.

  7. adminwp on said:

    Our apologies for the email problems – I’ll will email you directly with the download link.


  8. Rui Ribeiro on said:

    Thanks for this opportunity to learn fresh and good stuff ! ;-)

  9. thank you

  10. Thanks for the book, looking forward for a new dimension other than rdb

  11. marcos on said:

    Thanks for the free PDF, Joe Strummer lives!

  12. Jesse on said:

    This put a smile on my face! -Thanx!

  13. Thank you for the book, looking forward to good read.

  14. thanks, this will be very helpful.

  15. Thank you for sharing this insightful book. Is there a way to provide feedback to the book? Thanks and regards, Onno

    • adminwp on said:

      Hi Onno,

      Please feel free to email me at and I’ll be happy to pass to our writers.

      Aileen Agricola

  16. Steveb on said:


  17. Marius Butuc on said:

    Thanks for making it freely available!
    How beginner friendly is it (beginner with graph databases or/and even graphs in general)?

  18. Thanks

  19. Thx for sharing. I’d start from it.

  20. Germán Claudio Gómez Ríos on said:

    Gracias por el libro, impresionante. Thanks!!!! Keep it up!!!

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).