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.