Book Image

Hands-On Graph Analytics with Neo4j

By : Estelle Scifo
Book Image

Hands-On Graph Analytics with Neo4j

By: Estelle Scifo

Overview of this book

Neo4j is a graph database that includes plugins to run complex graph algorithms. The book starts with an introduction to the basics of graph analytics, the Cypher query language, and graph architecture components, and helps you to understand why enterprises have started to adopt graph analytics within their organizations. You’ll find out how to implement Neo4j algorithms and techniques and explore various graph analytics methods to reveal complex relationships in your data. You’ll be able to implement graph analytics catering to different domains such as fraud detection, graph-based search, recommendation systems, social networking, and data management. You’ll also learn how to store data in graph databases and extract valuable insights from it. As you become well-versed with the techniques, you’ll discover graph machine learning in order to address simple to complex challenges using Neo4j. You will also understand how to use graph data in a machine learning model in order to make predictions based on your data. Finally, you’ll get to grips with structuring a web application for production using Neo4j. By the end of this book, you’ll not only be able to harness the power of graphs to handle a broad range of problem areas, but you’ll also have learned how to use Neo4j efficiently to identify complex relationships in your data.
Table of Contents (18 chapters)
1
Section 1: Graph Modeling with Neo4j
5
Section 2: Graph Algorithms
10
Section 3: Machine Learning on Graphs
14
Section 4: Neo4j for Production
Preface

Interest in graph databases and especially Neo4j is increasing, both because of the naturalness of a graph data model and the range of data analyses they permit. This book is a journey inside the world of graphs and Neo4j. We will explore Neo4j and Cypher, but also different plugins (officially supported or from third parties), to extend database capabilities in terms of data types (APOC or Neo4j Spatial) or Data Science and Machine Learning applications using the Graph Data Science (GDS) plugin or the GraphAware NLP plugins.

A large part of the book covers graph algorithms. You will learn both how they work by running through an example implementation in python for the most famous algorithms (shortest path, PageRank or Label Propagation) and how to use them in practice from a Neo4j graph. We will also give some example applications to inspire you about when to use these algorithms for your use-cases.

Once you will be more familiar with the different types of algorithms that can be run on a graph to extract information about its individual components (nodes) or the overall graph structure, we will switch to some Data Science problems and lean how a graph structure and graph algorithms can enhance a model predictive power.

Finally, we will see that Neo4j, on top of being a fantastic tool for data analysis, can also be used to expose the data in a web application for our analysis to go live.