Book Image

Graph Data Modeling in Python

By : Gary Hutson, Matt Jackson
Book Image

Graph Data Modeling in Python

By: Gary Hutson, Matt Jackson

Overview of this book

Graphs have become increasingly integral to powering the products and services we use in our daily lives, driving social media, online shopping recommendations, and even fraud detection. With this book, you’ll see how a good graph data model can help enhance efficiency and unlock hidden insights through complex network analysis. Graph Data Modeling in Python will guide you through designing, implementing, and harnessing a variety of graph data models using the popular open source Python libraries NetworkX and igraph. Following practical use cases and examples, you’ll find out how to design optimal graph models capable of supporting a wide range of queries and features. Moreover, you’ll seamlessly transition from traditional relational databases and tabular data to the dynamic world of graph data structures that allow powerful, path-based analyses. As well as learning how to manage a persistent graph database using Neo4j, you’ll also get to grips with adapting your network model to evolving data requirements. By the end of this book, you’ll be able to transform tabular data into powerful graph data models. In essence, you’ll build your knowledge from beginner to advanced-level practitioner in no time.
Table of Contents (16 chapters)
Part 1: Getting Started with Graph Data Modeling
Part 2: Making the Graph Transition
Part 3: Storing and Productionizing Graphs
Part 4: Graphing Like a Pro


We have covered so much in this chapter, and now you should have a good understanding of the power of in-memory databases, such as Neo4j. We started our quest for knowledge by looking at how you can set up your Neo4j instance, where we did all the configuration to install a local version of Neo4j and get up and running quickly.

Following on from this, we looked at how you can then start to perform queries against the Neo4j database, using a query language known as Cypher. For some of you, this will have been your first exposure to Cypher, and we took you through how this language is similar to other query languages, such as SQL. To get a better understanding of how to use Cypher, a good resource is the Neo4j website (

Upping the ante, we then started to look at how you store data in your Neo4j graph database, using a combination of Cypher and Python’s cypher package, to start interacting with your graph database.

This culminated...