Welcome to Manning India!

We are pleased to be able to offer regional eBook pricing for Indian residents.
All eBook prices are discounted 40% or more!
Graph Databases in Action
Dave Bechberger, Josh Perryman
  • MEAP began January 2019
  • Publication in June 2020 (estimated)
  • ISBN 9781617296376
  • 375 pages (estimated)
  • printed in black & white

A great introduction to Graph databases in general and will help you get up to speed quickly.

Douglas Duncan
Relationships in data often look far more like a web than an orderly set of rows and columns. Graph databases shine when it comes to revealing valuable insights within complex, interconnected data such as demographics, financial records, or computer networks. In Graph Databases in Action, experts Dave Bechberger and Josh Perryman illuminate the design and implementation of graph databases in real-world applications. You’ll learn how to choose the right database solutions for your tasks, and how to use your new knowledge to build agile, flexible, and high-performing graph-powered applications!
Table of Contents detailed table of contents

Part 1: Getting Started with Graph Databases

1 Introduction to Graphs

1.1 What is a graph?

1.1.1 What is a graph database?

1.1.2 Why Can’t I Use SQL?

1.2 Is my problem a graph problem?

1.2.1 Explore the questions

1.2.2 I’m still confused… Is this a graph problem?

1.3 Technologies used in this book

1.4 Summary

2 Graph Data Modeling

2.1 Understand the problem

2.1.1 Domain and scope

2.1.2 Business Entitles

2.1.3 Functionality

2.2 Developing your whiteboard model

2.3 Getting started with your friends

2.3.1 Translate entities to vertices

2.3.2 Translate relationships to edges

2.3.3 Find and assign properties

2.4 Check our model

2.5 Summary

3 Running Basic and Recursive Traversals

3.1 Why Gremlin?

3.1.1 Setting up our Environment

3.2 Traversing our Graph to Find our Friends

3.2.1 Fundamental Concepts of Traversing a Graph

3.2.2 Finding Ted’s Friends Using Gremlin

3.3 Traversing to Find Friends

3.3.1 Writing Recursive Traversals in Gremlin

3.4 Summary

4 Mutating a Graph and Path Finding Traversals

4.1 Adding Data to Our Graph

4.1.1 Creating New Graph Entities

4.1.2 Updating a Graph

4.1.3 Extending our Graph

4.2 Paths

4.2.1 Cycles in Graphs

4.2.2 Finding the Simple Path

4.3 Traversing and Filtering Edges

4.3.1 Introduction of “E” and “V” steps for Traversing Edges

4.3.2 Filtering with Edge Properties

4.3.3 Include Edges in Path Results

4.3.4 Performant Edge Counts and Denormalization

4.4 Summary

5 Formatting Results

5.1 Review of Values Steps

5.2 Constructing our Result Payload

5.3 Organizing our Results

5.3.1 Ordering results returned from a graph traversal

5.3.2 Grouping results returned from a graph traversal

5.3.3 Limiting Results

5.4 Summary

6 Developing an Application

6.1 Setting up the project

6.1.1 Setting up your own project

6.1.2 Accessing the example code and switching tags

6.1.3 Our starting point

6.2 Add a database driver to the project

6.2.1 Choosing the driver library

6.2.2 Update the pom.xml file dependencies with the driver details

6.3 Connecting to the database

6.4 Retrieving Data

6.5 Adding/Modifying/Deleting data

6.6 Building out our GluttonApp social network

6.7 Summary

Part 2: Building on Graph Databases

7 Data Modeling in Practice

7.1 Review of Data Modeling Process & Conceptual Data Model

7.1.1 Review of Step 1: Problem Definition

7.1.2 Review of Step 2: Conceptual Data Model

7.1.3 Review of Step 3: Logical Data Model

7.2 Adding a Recommendation Engine to our Data Model

7.2.1 Translate Entities to Vertices

7.2.2 Translate Relationships to Edges

7.2.3 Find and Assign Properties

7.2.4 Check our Model

7.3 Extending our Data Model for Personalization

7.4 Comparing the Results

7.5 Summary

8 Building Traversals Using Known Walks

8.1 Preparing to develop our traversals

8.1.1 Review of elements for each question

8.2 Writing Our First Recommendation Engine Traversal

8.2.1 Constructing Our Traversal

8.2.2 Pagination and graph databases

8.3 Recommending the Highest Rated Restaurants

8.3.1 Constructing Our Traversal

8.4 Writing the Last Recommendation Engine Traversal

8.5 Summary

9 Working with Subgraphs

Part 3: Moving Beyond the Basics

10 Performance, pitfalls and anti-patterns

11 Graph analytics for non-Graph people


Appendix A: Apache TinkerPop Installation and Overview

A.1 Overview

A.1.1 Gremlin Traversal Language

A.1.2 TinkerGraph

A.1.3 Gremlin Console

A.1.4 Gremlin Language Variants

A.1.5 Gremlin Server

A.1.6 Documentation

A.2 Installation

A.2.1 Install and Verify the Java Runtime

A.2.2 Install Gremlin Console

A.2.3 Install Gremlin Server

A.2.4 Configure Gremlin Console to Connect to Gremlin Server

A.2.5 Using the Gremlin Console

Appendix B: Gremlin steps cheatsheet

Appendix C: Introduction to the Graph Ecosystem

C.1.1 Database versus Frameworks

C.1.2 Graph Frameworks

C.1.3 Graph Databases - RDF and Property Model

C.2 A Brief Introduction to Graph Query Languages


C.2.2 Cypher/openCypher

C.2.3 Apache TinkerPop Gremlin

C.2.4 GraphQL

C.2.5 SQL Derivatives

Appendix D: Further References

About the Technology

Graph databases store interconnected data in a more natural form, making them superior tools for representing data with rich relationships. Unlike in relational database management systems (RDBMS), where a more rigid view of data connections results in the loss of valuable insights, in graph databases, data connections are first priority. Graph databases store data and its connections, unlocking the potential to store, process, and query with incredible efficiency. With giants like NASA, eBay, Walmart, and Fortune 500 financial service providers leveraging this hot technology, graph database skills are priceless! Cloud databases like AWS Neptune and Microsoft CosmosDB now add to the growing list of graph databases powered by the Gremlin graph traversal language presented in this book.

About the book

Graph Databases in Action teaches you everything you need to know to begin building and running applications powered by graph databases. Right off the bat, seasoned graph database experts and authors Dave Bechberger and Josh Perryman introduce you to just enough graph theory, the graph database ecosystem, and a variety of datastores. You’ll also explore modelling basics in action with real-world examples, then go hands-on with querying, coding traversals, parsing results, and other essential tasks as you build your own graph-backed social network app complete with a recommendation engine!

With valuable firsthand experience under your belt, you’re ready for advanced concepts including query tuning, data model tuning, evolving your graphs, and pitfalls and anti-patterns like supernodes, hidden entities, and anemic edges. All examples are presented in the open source Apache TinkerPop framework and the Gremlin language, and almost all concepts and constructs are compatible with Cypher/openCypher databases such as Neo4j. With this comprehensive guide, you’ll be building graph-powered applications that dramatically increase the value of data—as well as your professional value to the companies savvy enough to use them!

What's inside

  • Graph database fundamentals
  • An overview of the graph database ecosystem
  • Relational vs. graph database modelling
  • Querying graphs using Gremlin
  • Real-world common graph use cases
  • Basic graph algorithms
  • A hands-on graph-backed application project
  • Performance tuning
  • Pitfalls and anti-patterns
  • Graph analytics

About the reader

For readers with basic Java and application development skills building in RDBMS systems such as Oracle, SQL Server, MySQL, and Postgres. No experience with graph databases is required.

About the authors

Dave Bechberger has extensive experience using graph databases as a product architect and a consultant. He’s spent his career leveraging cutting-edge technologies to build software in complex data domains such as bioinformatics, oil and gas, and supply chain management. He’s an active member of the graph community and has presented on a wide variety of graph-related topics at national and international conferences.

Josh Perryman is technologist with over two decades of diverse experience building and maintaining complex systems, including high performance computing (HPC) environments. Since 2014 he has focused on graph databases, especially in distributed or big data environments, and he regularly blogs and speaks at conferences about graph databases.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $49.99 pBook + eBook + liveBook
MEAP eBook $19.99 $39.99 pdf + ePub + kindle + liveBook
Prices displayed in rupees will be charged in USD when you check out.

placing your order...

Don't refresh or navigate away from the page.

FREE domestic shipping on three or more pBooks