Enhancing Datalog for Datomic

Datalog is a deductive query system combining a database of facts with a set of rules for deriving new facts from existing facts and other rules. Datalog has been a signature feature of Datomic since day one, and the 2015 releases of Datomic add additional expressiveness for hierarchical selection, disjunction, and negation. In this talk, we will cover the basics of Datomic Datalog, and then dive into the latest enhancements, both in the core language and in how Datalog fits into application code.

Datalog queries have the expressive power of SQL + recursion, and so are a good fit for systems that want “the power of SQL” but more flexibility. Perhaps more importantly, Datomic’s universal entity/attribute/value (EAV) schema has a one-to-one mapping with the object/method/argument shape of many programming languages. This allows a frictionless mapping from Datalog to application code, versus e.g. the impedance mismatch of object-relational mapping (ORM).

In this talk you will learn the basics of Datomic Datalog:

  • the basics of data patterns
  • joining implicitly, with ever saying “join”
  • extending datalog with functions and predicates
  • creating reusable abstractions with datalog rules
  • querying points in time, or across time

as well as some more recent enhancements:

Stuart’s talk is now available on the Chariot Solutions site.

Location: Salon B Date: April 7, 2015 Time: 1:30 pm - 2:30 pm Stuart Halloway Stuart Halloway