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

How to use a projection

The steps that follow will refer to setting up a Neo4j instance, creating a data store, and using Cypher to work with our projection. This will combine the skills we have learned in subsequent chapters and distill them all in one place:

  1. Let’s first create a new Neo4j database again, as we did in the last few chapters, to store our film knowledge graph. We will call it Projection DB and use the password testpython again, before starting up the database.
  2. As we have detailed previously in Chapters 5, 6, and 7, we will create a new admin user using :server user add (in the Neo4j Browser), with the name admin, the password testpython, and the PUBLIC and admin roles added. For more detailed information on how to do this, please refer back to any of the previous three chapters.
  3. In this chapter, because our dataset is large, we are going to use LOAD CSV to import data into Neo4j. To do this, we must first move movie.csv into a folder Neo4j can...