News for hackers. Stuff that matters.
Re:Learn Datalog Today by kjqgqkejbfefn on Sunday January 21, 2024 @12:44PM (#39080643)
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. Crux (now XTDB) - A bitemporal database with Datalog-inspired querying capabilities. It is designed for efficient querying of historical data and offers ACID transactions.

4. Racket's miniKanren - While not strictly a database, miniKanren is an open-source logic programming extension to the Racket language, which is inspired by Datalog and can be used to manipulate and query data in a manner similar to Prolog.

5. LogicBlox - An open-source platform that combines a database system, a Datalog-based modeling language, and application server facilities. It allows developers to build complex, data-intensive applications.

6. Soufflé - A Datalog-inspired language that is designed for static analysis problems. It can be viewed as a database query language with a focus on performance, allowing for parallel execution of queries.

7. Dedalus - A Datalog-like temporal logic language used to express complex distributed systems. It is primarily a research tool but has informed the design of other Datalog-inspired systems.

8. Flora-2 - An open-source object-oriented knowledge representation and reasoning system that integrates a variant of Datalog with objects and frames.

Top 3 are from the Clojure ecosystem. Additionnaly in this same space there is Datalevin & Datahike among many others

Re:Learn Datalog Today by lukev on Sunday January 21, 2024 @04:10PM (#39083101)
Is LogicBlox open-source now? I encountered it on a project several years ago and at that point it was very much closed/commercial.

Now the website isn't even loading... has the project been shuttered? I know LogicBlox was acquired by Predictix a long time ago, and recently Infor acquired Predictix. Hoping the project is still a going concern, there was some very cool tech in there.

Re:Learn Datalog Today by namingisharder on Sunday January 21, 2024 @06:08PM (#39084014)
LogicBlox and Predicix merged. Predictix was just a company created solely to be a customer of LogicBlox. In the end it couldn’t survive on its own. Infor acquired LogicBlox and then reneged on some agreements, leading to a mass exodus. Infor made zero effort to sell LogicBlox technology or solutions, and then essentially threw their hundreds of millions away. It may never see the light of day again.
Re:Learn Datalog Today by marcle on Sunday January 21, 2024 @04:41PM (#39083368)
ErgoAI is as "an enterprise-level extension of the Flora-2 system" which was recently open-sourced: https://github.com/ErgoAI . It seems to be well documented.
Re:Learn Datalog Today by j-pb on Sunday January 21, 2024 @01:07PM (#39080903)
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 by cmrdporcupine on Sunday January 21, 2024 @01:31PM (#39081228)
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 by namingisharder on Sunday January 21, 2024 @06:25PM (#39084122)
Nine more years to go. But there has been plenty of quality research on worst case optimal joins in the meantime.
Re:Learn Datalog Today by summarity on Sunday January 21, 2024 @01:02PM (#39080858)
Also Rego, which is Datalog with structured extensions, in use everywhere where OPA is used (as in many k8s environments)
Re:Learn Datalog Today by blagund on Monday January 22, 2024 @01:51AM (#39087023)
Note: Rego targets near linear execution speed, so it can't do recursion generally, except limited tree-like cases for sat y acl checks..

That's as intended, just saying don't expect it has full datalog power.

It deals with Json data nicely though (which my favorite souffle does not).

Re:Learn Datalog Today by odipar on Sunday January 21, 2024 @03:11PM (#39082517)
CodeQL is another datalog with the domain of code analysis as its use case. Too bad you cannot create a custom fact database with CodeQL. Otherwise, the implementation of CodeQL is pretty advanced and efficient.
Re:Learn Datalog Today by infima on Sunday January 21, 2024 @03:45PM (#39082866)
While not trivial because it is not documented, you can create your a database with your own facts. Some of the extractors that create the required files are open source https://github.com/github/codeql/blob/main/ruby/extractor/sr...
Re:Learn Datalog Today by macmac on Sunday January 21, 2024 @01:20PM (#39081077)
Ad 1. All versions of Datomic are now free, but none are Open Source.
Re:Learn Datalog Today by persnickety on Sunday January 21, 2024 @12:55PM (#39080780)
Cozo uses Datalog for queries, and has several backends, including SQLite
Re:Learn Datalog Today by cmrdporcupine on Sunday January 21, 2024 @01:34PM (#39081275)
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.
Re:Learn Datalog Today by soraki_soladead on Sunday January 21, 2024 @02:08PM (#39081737)
https://github.com/cozodb/pycozo/blob/main/pycozo/test_build...

Here's the python version of what I think you're looking for. Shouldn't be too difficult to port to rust.

Re:Learn Datalog Today by cmrdporcupine on Sunday January 21, 2024 @02:26PM (#39081981)
ok but that's not what i want.

the thing is written in Rust. but does not expose a Rust query API, you have to query it through Datalog queries in strings; what you shared there just builds those strings from python.. it'd be nice to have a directly native API, with horne clauses constructed in Rust.

Re:Learn Datalog Today by kevindamm on Sunday January 21, 2024 @01:25PM (#39081136)
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 by cmrdporcupine on Sunday January 21, 2024 @01:35PM (#39081280)
Another one is Differential Datalog, for streaming data.

https://github.com/vmware/differential-datalog

Re:Learn Datalog Today by habitue on Sunday January 21, 2024 @01:39PM (#39081344)
I'm sad their last commit was 2 years ago, seemed like a really cool idea
Re:Learn Datalog Today by tylerhou on Sunday January 21, 2024 @03:28PM (#39082696)
The authors spun it out into a startup, Feldera. A paper describing their idea also won Best Paper at VLDB 2023. The idea is very far from dead.
Re:Learn Datalog Today by cmrdporcupine on Sunday January 21, 2024 @03:35PM (#39082770)
Neat. Had run into them before (the "careers" page was marked as visited in my Firefox history ;-) ), but didn't make the connection.
Re:Learn Datalog Today by habitue on Monday January 22, 2024 @03:08PM (#39094713)
That's awesome
Re:Learn Datalog Today by KingMob on Sunday January 21, 2024 @11:56PM (#39086385)
#1 is wrong. Datomic Free is not open source, either. The Apache License they mention applies only to the binaries, which is confusing, if not actually misleading.
Re:Learn Datalog Today by blagund on Monday January 22, 2024 @01:53AM (#39087035)
Souffle deserves a high ranking. It really is a nice datalog. If only field reference was possible, instead of excessive tuple pattern matching. (Though, one could write a preprocessor for it, it is just syntax).

Differential datalog is also nice, if you have the usecase.