Live data from Hacker News

Learn Datalog Today

learndatalogtoday.org

11–20 of 56 posts

Re: Learn Datalog Today

#12
post #4

It's a shame that there doesn't seem to be any decent open-source implementation of Datalog. If you go for full Prolog instead of Datalog, there are several (Scryer Prolog being my personal favourite).

1. Datomic - While not open-source, it has an open-source version called Datomic Free, which is a distributed database designed to enable scalable, flexible, and intelligent data storage and queries. Datomic's query language is closely inspired by Datalog. 2. DataScript - An open-source in-memory database and query engine for Clojure, ClojureScript, and JavaScript that is heavily influenced by Datalog and Datomic. 3.…

Also Rego, which is Datalog with structured extensions, in use everywhere where OPA is used (as in many k8s environments)

Re: Learn Datalog Today

#13
post #4

It's a shame that there doesn't seem to be any decent open-source implementation of Datalog. If you go for full Prolog instead of Datalog, there are several (Scryer Prolog being my personal favourite).

1. Datomic - While not open-source, it has an open-source version called Datomic Free, which is a distributed database designed to enable scalable, flexible, and intelligent data storage and queries. Datomic's query language is closely inspired by Datalog. 2. DataScript - An open-source in-memory database and query engine for Clojure, ClojureScript, and JavaScript that is heavily influenced by Datalog and Datomic. 3.…

Are you sure that LogicBlox is open-source? I couldn't find anything confirming this.

I'd be very surprised if they were, because they even patented their join algorithm.

Re: Learn Datalog Today

#14
I wish people would stop referring to Datomic as datalog. Datomic is many things, but only the query format (Horn clauses with unification of variables, similar to prolog) has anything to do with datalog.

Real datalog is far more interesting since it implicitly encodes recursion allowing you to chain rules. Rule A derives new facts, which rule B uses to derive new facts, which rules A and C use to derive new facts, and so on. Datomic has a notion of rules which are mostly syntax sugar and do not support this sort of recursive reasoning.

Why is that a big deal? When rules are run automatically, you can build live, reactive systems, not just a database that sits around waiting for you to query it. Hellerstein's work at UC Berkeley (https://dsf.berkeley.edu/papers/sigrec10-declimperative.pdf) explores this in some detail.

Re: Learn Datalog Today

#15

I thought that syntax looked familiar! Looks like Logseq uses Datalog for advanced queries. https://hub.logseq.com/features/av5LyiLi5xS7EFQXy4h4K8/getti...

They do! IIRC they were inspired by Roam’s use of it with Clojurescript

Re: Learn Datalog Today

#16
post #4

It's a shame that there doesn't seem to be any decent open-source implementation of Datalog. If you go for full Prolog instead of Datalog, there are several (Scryer Prolog being my personal favourite).

1. Datomic - While not open-source, it has an open-source version called Datomic Free, which is a distributed database designed to enable scalable, flexible, and intelligent data storage and queries. Datomic's query language is closely inspired by Datalog. 2. DataScript - An open-source in-memory database and query engine for Clojure, ClojureScript, and JavaScript that is heavily influenced by Datalog and Datomic. 3.…

Ad 1. All versions of Datomic are now free, but none are Open Source.

Re: Learn Datalog Today

#17
post #4

It's a shame that there doesn't seem to be any decent open-source implementation of Datalog. If you go for full Prolog instead of Datalog, there are several (Scryer Prolog being my personal favourite).

1. Datomic - While not open-source, it has an open-source version called Datomic Free, which is a distributed database designed to enable scalable, flexible, and intelligent data storage and queries. Datomic's query language is closely inspired by Datalog. 2. DataScript - An open-source in-memory database and query engine for Clojure, ClojureScript, and JavaScript that is heavily influenced by Datalog and Datomic. 3.…

Also GDL and its variants, but that is more of a domain-specific language for game descriptions and general game-playing runtimes. Still, they refer to Datalog as its basis.

Re: Learn Datalog Today

#18
Related:

Learn Datalog Today - https://news.ycombinator.com/item?id=27173890 - May 2021 (34 comments)

Learn Datalog - https://news.ycombinator.com/item?id=19154997 - Feb 2019 (1 comment)

Learn Datalog Today - https://news.ycombinator.com/item?id=17109105 - May 2018 (2 comments)

Learn Datalog Today - https://news.ycombinator.com/item?id=14434457 - May 2017 (10 comments)

Learn Datalog Today Ported to DataScript and Clojure (JVM) - https://news.ycombinator.com/item?id=13037199 - Nov 2016 (1 comment)

Learn Datalog Today – An interactive Datomic query tutorial - https://news.ycombinator.com/item?id=6171722 - Aug 2013 (7 comments)

Re: Learn Datalog Today

#19
post #13

Earlier quoted context omitted.

1. Datomic - While not open-source, it has an open-source version called Datomic Free, which is a distributed database designed to enable scalable, flexible, and intelligent data storage and queries. Datomic's query language is closely inspired by Datalog. 2. DataScript - An open-source in-memory database and query engine for Clojure, ClojureScript, and JavaScript that is heavily influenced by Datalog and Datomic. 3.…

Are you sure that LogicBlox is open-source? I couldn't find anything confirming this. I'd be very surprised if they were, because they even patented their join algorithm.

It's definitely not open source.

Not only is the join algorithm patented, but my understanding is the original authors of it can't even use it, because the LogicBlox IP was acquired but the people moved on.

But some have since gone on to create new stuff @ RelationalAI

Re: Learn Datalog Today

#20

Earlier quoted context omitted.

1. Datomic - While not open-source, it has an open-source version called Datomic Free, which is a distributed database designed to enable scalable, flexible, and intelligent data storage and queries. Datomic's query language is closely inspired by Datalog. 2. DataScript - An open-source in-memory database and query engine for Clojure, ClojureScript, and JavaScript that is heavily influenced by Datalog and Datomic. 3.…

Cozo uses Datalog for queries, and has several backends, including SQLite

Cozo is very attractive. I just wish there was a native Rust DSL API for it, so it could be embedded in Rust programs without using datalog queries in strings.
Post reply on HN