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

What this book covers

Chapter 1, Introducing Graphs in the Real World, takes you through why you should consider graphs. What are the fundamental attributes of graph data structures, such as nodes and edges? It also covers how graphs are used in various industries and provides a gentle introduction to igraph and NetworkX.

Chapter 2, Working with Graph Data Models, deals with how to work with graphs. From there, you will implement a model in Python to recommend the most popular television show.

Chapter 3, Data Model Transformation – Relational to Graph Databases, gets hands-on with MySQL, considers how data gets ingested into MySQL from your graph databases, and then looks at building a recommendation engine to recommend similar games to a user, based on their gaming history on the popular platform Steam.

Chapter 4, Building a Knowledge Graph, puts your skills to work on building a knowledge graph to analyze medical abstracts, clean the data, and then proceed to perform graph analysis and community detection on the knowledge graph.

Chapter 5, Working with Graph Databases, looks into working with Neo4j and storing data in a graph database using Cypher commands. Python will then be used to interact with our graph database by connecting Neo4j to Python.

Chapter 6, Pipeline Development, includes all you need to know to design a schema and allow it to work with your graph pipeline to finally make product recommendations across Neo4j, igraph, and Python.

Chapter 7, Refactoring and Evolving Schemas, deals with why you would need to refactor, how to evolve effectively, and how to apply these changes to your development life cycle.

Chapter 8, Perfect Projections, deals with understanding, creating, analyzing, and using projections in Neo4j and igraph.

Chapter 9, Common Errors and Debugging, explains how to debug graph issues and how to deal with some of the most common issues in Neo4j and igraph.