Exploring Graphs with Elixir (PragProg)

This hands-on book will quickly get you building, querying, and comparing graph data models using a robust, concurrent programming language—Elixir.

Tony Hammond @tonyhammond

Series editor: Bruce A. Tate @redrapids
Developmental editor Jacquelyn Carter @jkcarter

Data is everywhere—it’s just not very well connected, which makes it super hard to relate dataset to dataset. Using graphs as the underlying glue, you can readily join data together and create navigation paths across diverse sets of data. Add Elixir, with its awesome power of concurrency, and you’ll soon be mastering data networks. Learn how different graph models can be accessed and used from within Elixir and how you can build a robust semantics overlay on top of graph data structures. We’ll start from the basics and examine the main graph paradigms. Get ready to embrace the world of connected data!

Graphs provide an intuitive and highly flexible means for organizing and querying huge amounts of loosely coupled data items. These data networks, or graphs in math speak, are typically stored and queried using graph databases. Elixir, with its noted support for fault-tolerance and concurrency, stands out as a language eminently suited to processing sparsely connected and distributed datasets.

Using Elixir and graph-aware packages in the Elixir ecosystem, you’ll easily be able to fit your data to graphs and networks, and gain new information insights. Build a testbed app for comparing native graph data with external graph databases. Develop a set of applications under a single umbrella app to drill down into graph structures. Build graph models in Elixir, and query graph databases of various stripes—using Cypher and Gremlin with property graphs and SPARQL with RDF graphs. Transform data from one graph modeling regime to another. Understand why property graphs are especially good at graph traversal
problems, while RDF graphs shine at integrating different semantic models and can scale up to web proportions.

Harness the outstanding power of concurrent processing in Elixir to work with distributed graph datasets and manage data at scale.

Tony Hammond is a longtime data professional with a wide experience of linked data architecture, public identifier management, and knowledge representation and engineering. He has worked on both sides of the information supply chain, from international research centers to leading academic publishers, and more recently is employed in the financial sector. He is especially interested in using graph databases and ontologies to build out integrated systems over distributed datasets.

Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:


Corresponding tweet for this thread:

Share link for this tweet.

1 Like

Finally! I recall seeing the name of this book on a PragProg mail last year but on the site it was not a clickable link. Gooogling it didn’t help much. Glad it’s out now. I am very interested in graphs and connected data and this being the first book on Elixir + Graph would definitely be in my collection.


Ooo this looks interesting! I’ve been meaning to explore graph dbs for a while now and it’s great to see a book about this with Elixir!

If anyone reads it please post your thoughts!

(I’m definitely up for a book club on this - just not sure when I’ll get time to join in myself tho sadly)


I had started working on a Kanban tool with Elixir and Dgraph, but I could not continue due to time and Dgraph taking a different direction (focusing more on its role as a GraphQL API provider than a DBMS), never tried any other graph databases, this book may give a good overview on different graph db and state of their Elixir libs. The chapter on GraphQL isn’t out yet, I’d be very interested to find out the author’s take on that.

Anyways, bought the book and started reading, like all other PragProg Elixir products, this too is awesome.


Can’t wait to get the paper edition. Not a real fan of digital versions.


Welcome to Devtalk @tonyhammond


Thanks, @Margaret. Just getting round now to answering some of the comments here.

Glad to see that people are interested in graphs, @AstonJ, @mafinar. I know I am.

And yes @Maartz, I like paper too. :slight_smile: