Datalog 2015
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 aggregates and predicates
- creating reusable abstractions with datalog rules
- querying points in time, or across time
as well as some more recent enhancements:
- pulling hierarchical and nested information
- negation and disjunction
About Stuart Halloway
Stuart Halloway is a founder and President of Cognitect, Inc. (www.cognitect.com). He is a Clojure committer, and a developer of the Datomic database.
Stuart has spoken at a variety of industry events, including StrangeLoop, Clojure/conj, EuroClojure, ClojureWest, SpeakerConf, QCon, GOTO, OSCON, RailsConf, RubyConf, JavaOne, and NFJS.
Stuart has written a number of books and technical articles. Of these, he is most proud of Programming Clojure.
Learn more about Stu's presentations on his wiki.
More About Stuart »