Graph Databases in Action (Manning)

Author:  Dave Bechberger and Josh Perryman
Publisher: Manning
Pages: 366
ISBN: 978-1617296376
Print: 1617296376
Audience: Developers interested in graph databases
Rating: 4.5
Reviewer: Kay Ewbank

This book sets out to give developers building applications using graph databases an understanding of graphs, graph databases, and how to interact with them from an application.

The ideal reader of this book would be a programmer with a reasonable knowledge about writing apps for SQL databases, and who now needs to write apps that work with graph databases. You do learn about graph databases along the way, but essentially it's about how to write the app.

 

Banner

The book opens with a brief overview of what graphs and graph databases are,  and how to identify if your application is a graph problem. This is followed by a chapter on graph data modeling that includes a discussion on creating a conceptual model, and taking that as the basis of a logical data model.

graphdbinaction

The next three chapters get down to the problem of navigating through the graph and returning data from it, beginning with how to run basic and recursive transversals through a graph. As with most of the book, the examples use Apache Tinkerpop's Gremlin as the query language and Java as the programming language. Gremlin isn't the most popular graph query language - Cypher and OpenCypher are more widely used, but the authors say they wanted their examples to be portable across different graph databases.

Having shown how to perform a transverse of the graph, the next chapter expands this to graph transversals with data mutation, i.e. changing the graph by adding, modifying or deleting vertices, edges or properties. The authors then look at formatting the results returned by the transversals.

This first part of the book ends with a chapter on developing an application, connecting to the database, retrieving data, adding, modifying and deleting data, and translating the list and path tranversals into methods in the application.

Part two of the book extends the application started at the end of part one, starting by extending the data model for more complex uses such as recommendation engines. The recommendation engine is then extended to show how to use a known-walk pattern to create a stronger recommendation engine. Known-walk patterns are those where you (or your application) knows the vertices and edges that should be transversed to find something. This part of the book conclused with a look at adding personalization - filtering the data based on the connections of a particular user.

The final part of the book is titled Beyond the basics, and discusses how to troubleshoot performance problems with transversals, what supernodes are (nodes with a large number of incident edges) and why they cause problems, and how to deal with anti-patterns such as the application use not really being suitable for a graph database, dirty data and transverses without parameters.

The final chapter looks at where to go next in graph-backed applications, common algorithms and how to apply them to specific problems, and using graphs in machine learning apps.

Verdict: Overall, I felt this book was a good introduction to creating applications for graph databases. For a programmer used to working with standard SQL databases, working with graphs represents a radical change in the way you think and the way you work, and this book explains the concepts that you need to grasp. You might well have to use a different query language in your real-life graph app, but by the end of the book you should understand more clearly what graph databases are all about.

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Clean Craftsmanship

Author: Robert C. Martin
Publisher: Addison-Wesley
Date: November 2021
Pages: 416
ISBN: 978-0136915713
Print: 013691571X
Kindle:B095C16LSW
Audience: General
Rating: 4
Reviewer: Mike James
Well, I'm a clean craftsman - are you?



Supercharged Python

Author: Brian Overland and John Bennett
Publisher: Addison-Wesley
Date: July 2019
Pages: 672
ISBN: 978-0135159941
Print: 0135159946
Kindle: B07T93J28B
Audience: Python developers
Rating: 3
Reviewer: Mike James
This book's challenge on its front cover is "Take Your Code to the Next Level". Is this the boo [ ... ]


More Reviews

 

Last Updated ( Saturday, 29 May 2021 )