5 ms·
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, an
by kjqgqkejbfefn 3y ago
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
- persnickety 3y agoCozo uses Datalog for queries, and has several backends, including SQLite
- cmrdporcupine 3y agoCozo 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.
- soraki_soladead 3y agohttps://github.com/cozodb/pycozo/blob/main/pycozo/test_builder.py 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.
- cmrdporcupine 3y agook 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.
- summarity 3y agoAlso Rego, which is Datalog with structured extensions, in use everywhere where OPA is used (as in many k8s environments)
- blagund 3y agoNote: 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).
- j-pb 3y agoAre 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.
- cmrdporcupine 3y agoIt'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
- namingisharder 3y agoNine more years to go. But there has been plenty of quality research on worst case optimal joins in the meantime.
- macmac 3y agoAd 1. All versions of Datomic are now free, but none are Open Source.
- kevindamm 3y agoAlso 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.
- cmrdporcupine 3y agoAnother one is Differential Datalog, for streaming data. https://github.com/vmware/differential-datalog https://github.com/vmware/differential-datalog
- habitue 3y agoI'm sad their last commit was 2 years ago, seemed like a really cool idea
- tylerhou 3y agoThe 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.
- cmrdporcupine 3y agoNeat. Had run into them before (the "careers" page was marked as visited in my Firefox history ;-) ), but didn't make the connection.
- habitue 3y agoThat's awesome
- odipar 3y agoCodeQL 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.
- infima 3y agoWhile 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/src/extractor.rs https://github.com/github/codeql/blob/main/ruby/extractor/sr...
- lukev 3y agoIs 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.
- namingisharder 3y agoLogicBlox 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.
- marcle 3y agoErgoAI is as "an enterprise-level extension of the Flora-2 system" which was recently open-sourced: https://github.com/ErgoAI https://github.com/ErgoAI . It seems to be well documented.
- KingMob 3y ago#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.
- blagund 3y agoSouffle 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.