Exploring Graphs with Elixir (Pragmatic Bookshelf)

PragmaticBookshelf
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:

Latest Threads About This Book Top

chriseyre2000
@tonyhammond It’s unclear where the bibo.ttl file comes from (or which priv folder to keep it in)
New
chriseyre2000
@tonyhammond The listed queries that are enumerated include some duplicates. The book provides sample code to list them, but this is th...
New
chriseyre2000
The importing empty only: [] trick does not seem to work in Elixir 13.3
New
chriseyre2000
@tonyhammond The property_graph app also needs the following dependency: {:hackney, “~> 1.0”} This is because bolt_sips now uses tzd...
New
chriseyre2000
@tonyhammond The book implies that the code samples should be typed in while working through the book. However sometimes the author leav...
New
chriseyre2000
@tonyhammond The mkdir commands would be easier to use if typed as three distinct commands.
New
galtmidas
The GitHub page for the source code 404s. The code in the zip file doesn’t compile. The source code in the book itself doesn’t match th...
New
pragmoose
Title: Exploring Graphs With Elixir B4 - Native graph serialization not working? (51) I’m working through the section on visualizing gra...
New
pragmoose
@tonyhammond Title: Exploring Graphs with Elixir B4 - missing definition serialize! function NativeGraph. Serializers.DOT module defini...
New
pragmoose
Title: Name of book: Exploring graphs with Elixir B4 (48) The spec for to_png doesn’t match the implementation. According to the spec, ...
New

Most Active This Week Top

Most Active This Month Top

Most Active This Year Top

Most Active Last Three Years Top

chriseyre2000
@tonyhammond The mkdir commands would be easier to use if typed as three distinct commands.
New
chriseyre2000
@tonyhammond It’s unclear where the bibo.ttl file comes from (or which priv folder to keep it in)
New
chriseyre2000
@tonyhammond The property_graph app also needs the following dependency: {:hackney, “~> 1.0”} This is because bolt_sips now uses tzd...
New
chriseyre2000
@tonyhammond The listed queries that are enumerated include some duplicates. The book provides sample code to list them, but this is th...
New
chriseyre2000
@tonyhammond The book implies that the code samples should be typed in while working through the book. However sometimes the author leav...
New
chriseyre2000
The importing empty only: [] trick does not seem to work in Elixir 13.3
New

Most Active Over Three Years Top

PragmaticBookshelf
This hands-on book will quickly get you building, querying, and comparing graph data models using a robust, concurrent programming langua...
New
mvellandi
Exploring Graphs with Elixir by @tonyhammond When defining the GraphCommons.Graph module, I noticed a missing module definition for @sto...
New
guidotripaldi
Exploring Graphs with Elixir by @tonyhammond According to the shorten form sample at the beginning of the page, the id in the long form ...
New
mvellandi
Exploring Graphs with Elixir by @tonyhammond: P.181 — Ch 5 > Setting Up a Graph Service > API Demo After starting iex in the umbr...
New
galtmidas
The GitHub page for the source code 404s. The code in the zip file doesn’t compile. The source code in the book itself doesn’t match th...
New
chriseyre2000
Exploring Graphs with Elixir by @tonyhammond I am unsure if the book is intended to be worked through to recreate the library (which is ...
New
shotleybuilder
The logic to determine if an ellipsis is shown will always evaluate to false because the variable str is already sliced and has a length ...
New
mvellandi
Exploring Graphs with Elixir by @tonyhammond p.100 – Ch 3 > Storing Graphs in the Graph Store > Listing shows “iex>​​ ​​list_...
New
mvellandi
Exploring Graphs with Elixir by @tonyhammond: P.105, 107 — Ch 3 > Visualizing Graphs > Rendering with Graphviz In making the water...
New
pragmoose
@tonyhammond Title: Exploring Graphs with Elixir B4 - missing definition serialize! function NativeGraph. Serializers.DOT module defini...
New
shotleybuilder
The book states “define the function graph_service/0 within the body of the using/1 macro in the GraphCommons.Graph module” The code do...
New
pragmoose
Title: Name of book: Exploring graphs with Elixir B4 (48) The spec for to_png doesn’t match the implementation. According to the spec, ...
New
shotleybuilder
I think that this: use GraphCommons.Query, graph_type: :native, graph_module: __MODULE__ Should be: use GraphCommons.Query, query_type...
New
mvellandi
p.147 — Ch 4 > Modeling the Book Graph > Using Maps for Nodes In finding “a path from the Publisher node p to an Author node a”, ...
New
pragmoose
Title: Exploring Graphs With Elixir B4 - Native graph serialization not working? (51) I’m working through the section on visualizing gra...
New

Get money off!

The Pragmatic Bookshelf

35% off any eBook

Simply use coupon code "devtalk.com" at checkout. See full details here.