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.