Jump to ratings and reviews
Rate this book

Graph Algorithms - Practical Examples in Apache Spark & Neo4j

Rate this book
Whether you are building dynamic network models or forecasting real-world behavior, this book illustrates how graph algorithms deliver value: from finding vulnerabilities and bottlenecks to detecting communities and improving machine learning predictions.

We walk you through hands-on examples of how to use graph algorithms in Apache Spark and Neo4j. We include sample code and tips for over 20 practical graph algorithms that cover optimal pathfinding, importance through centrality, and community detection using methods like clustering and partitioning. Read this book to:
Download Your Free Copy of O'Reilly’s Graph Algorithms

Learn how graph analytics vary from conventional statistical analysis
Understand how classic graph algorithms work and how they are applied
Dive into popular algorithms like PageRank, Label Propagation and Louvain Modularity to find out how subtle parameters impact results
Get guidance on which algorithms to use for different types of questions
Explore graph algorithm examples with working code and sample datasets for both Spark and Neo4j
See how connected feature extraction increases machine learning accuracy and precision
Walk through creating an ML workflow for link prediction combining Neo4j and Spark

257 pages, ebook

Published May 1, 2019

56 people are currently reading
276 people want to read

About the author

Mark Needham

18 books10 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
26 (33%)
4 stars
36 (46%)
3 stars
12 (15%)
2 stars
4 (5%)
1 star
0 (0%)
Displaying 1 - 12 of 12 reviews
Profile Image for Vinayak Hegde.
729 reviews94 followers
July 19, 2019
Probably 4.5 Stars. The book covers graph algorithms with good theory as well as practical coverage. It starts with the basics of graph theory and then delves into concepts like pathfinding, centrality, community detecting and more. The book is well organised with sufficient amount of detail without dumbing it down. The best part I liked was the links to further studies, research papers and books if you are interested in exploring the concept more.

The examples are based on Neo4J and Apache Spark. I would have liked a little more coverage on these technologies but this is only a minor flaw. The examples in the book are quite useful (not just toy examples) and are good starting points for practical exploration. Overall a fantastic introduction to graph algorithms.
Profile Image for Ivaylo.
267 reviews25 followers
May 16, 2020
Безплатен даунлоуд от сайта на Neo4j е очевидно рекламна брошура, нали? Сигурно, но ако всички рекламни брошури бяха толкова полезни, щях да си започвам сутрините със СПАМ фолдъра :)
Profile Image for Fred Cheyunski.
351 reviews13 followers
July 9, 2021
Diagrams/Use Cases Make Helpful for Non-Programmers - Since I read Robinson and Webber’s "Graph Databases: New Opportunities for Connected Data" and have tried my hand as a non-programmer in building a GDB, I was both interested and weary of tackling this book. I believed I could use expanding my GDB analytic abilities, but as before was a little nervous about whether I could handle such a tome. To my relief, Needham and Hodler’s little missive is very readable, with many diagrams and use cases that make it possible to follow for someone like me who is still a novice in the world of connected data. (Since this submission, I discovered Barabasi's "Linked: How Everything Is Connected to Everything Else and What It Means for Business, Science, and Everyday Life" which provides additional history and context that others may find useful in this regard; see my review.)

The book has eight chapters: (1) Introduction, (2) Graph Theory and Concepts, (3) Graph Platforms and Processing, (4) Pathfinding and Graph Search, (5) Chapter 5. Centrality Algorithms, (6) Community Detection, Algorithms, (7) Graph Algorithms in Practice, and (8) Using Graph Algorithms to Enhance Machine Learning. There is also an Appendix with additional Information and Resources (such as other sources of graph algorithms and related assistance).

Some aspects I particularly liked and found useful are the recap of basic concepts such as the origins of graph theory in Euler’s seven bridges problem, the differences between charts versus graphs, and the explanation of graph algorithms and their benefits. For instance, I smiled when I saw mention of the power law (e.g. that a few nodes have most of the relationships, while most have relative few) as I had come across the term in Brockman’s "This Idea Is Brilliant: Lost, Overlooked, and Underappreciated Scientific Concepts Everyone Should Know (Edge Question Series)." It makes sense that algorithms enable such analysis and the testing of hypothesis as in Schrage’s "Serious Play: How the World's Best Companies Simulate to Innovate" and for literature discovery.

My only real GDB exposure is with Neo4j so the Apache Spark aspects are not as meaningful for me at this point. Having done a little work with the “Shortest Path” commands those aspects of the text inspire further exploration in that direction. It seems that adding ‘weighting’ to my GDB would help me pursue the path finding further as well as patterns such as ‘triangles’ of nodes. Many of us who have traveled in our jobs can certainly relate to the Yelp and Travel Consulting use cases and these instances seem to bring the various analytic approaches together. Also, while the machine learning chapter is mostly out of my league, it is heartening to see how data charts can also be included in Neo4j along with their representation in nodes and relationships. It was also fascinating to see a brief mention of the analysis of Facebook data, the influence of social networks in voting and to wonder about whether GDB analytics have been used as suggested by Stephens-Davidowitz in "Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are" or in the Brexit vote campaign (see my review of "9 Lessons in Brexit").

While it is interesting to see the commands for the respective algorithms and use cases laid out step by step, I realize that adapting them for my own graph is the way I will really learn. This translation is where the work comes in and despite a decent book it presents challenges particularly for us non-programmers. However, it is helpful to have such a guide, and I commend it to others just as I plan to use it to get myself further down the GDB path.
1 review1 follower
March 24, 2020
the first half of the book is great - it explains the basics of various algorithm types and has a lot of cross-referrences and is a very good introduction that helped me a lot.
However once you reach chapter 7, Graph Algorithms in Practice, the quality changes dramatically.
The links provided in the text don't work, the cited repository has empty readmes and is overall the wrong repository for the task. importing the data into neo4j now already takes the second day of my time. looking at the repo with the actual yelp import code, issues are open and uncommented by the author of the book since 5 months that would be easy fixes.

TL/DR; first half great, second half a page takes as long working through as a chapter did beforehand.
Profile Image for Jin Shusong.
79 reviews1 follower
September 19, 2021
After reading the book, I knew some typical algorithm I have to learn to mine graph data with spark. I tried neo4j too. However, because of the upgrade, some programs in the book now cannot run directly in the new version of neo4j.
Profile Image for Tommy Verhaegen.
2,944 reviews5 followers
October 18, 2019
A great and broad introduction to graph algorithms to be used in Data Analytics (Machine Learning and Artificial Intelligence).
The background is clearly explained as well as the difference (and advantage) of graph algorithms over classic data queries (mostly standard SQL).
The book is loaded with practival examples, based on public data, so it is not only a guide but also a practical tutorial. After reading and doing the exeercises the reader will have a small toolkit to start developing his/her own projects. And all for free.
It may not be necessary to already be a data analytics expert or mathematics/statistics guru but some basic knowledge certainly helps. This is not a book for light reading and magically acquiring analytics skill. But for the newbie it allows to acquire these skill in a very short time with some perseverence.
Profile Image for Yaro.
21 reviews
August 31, 2022
This great book introducing graph algorithms(like path finding, centrality, community detection) using graph database neo4j and Apache Spark.
The only minus is Cypher syntax is badly explained, so I read the official neo4j guide in parallel to this book to understand it. Same with Spark: you should have some prior knowledge to understand examples( in my opinion)
But overall book is very useful and inspiring!
Displaying 1 - 12 of 12 reviews

Can't find what you're looking for?

Get help and learn more about the design.