Datalog

Top 23 Datalog Open-Source Projects

  • cozo

    A transactional, relational-graph-vector database that uses Datalog for query. The hippocampus for AI!

  • Project mention: Transactional, relational-graph-vector database that uses Datalog for query | news.ycombinator.com | 2024-03-31
  • xtdb

    An immutable database for application development and time-travel data compliance, with SQL and XTQL. Developed by @juxt

  • Project mention: Mariposa – A programming language with time-travel | news.ycombinator.com | 2024-01-09

    You don't necessarily need to embed it into the programming language itself to get a ton of value. XTDB (https://github.com/xtdb/xtdb) offer a Clojure, Java and HTTP API for interacting with the database, which is bitemporal and lets you query the database for a specific point in time for example.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • logica

    Logica is a logic programming language that compiles to SQL. It runs on Google BigQuery, PostgreSQL and SQLite.

  • Project mention: Prolog language for PostgreSQL proof of concept | news.ycombinator.com | 2024-03-30

    If you're interested in this I would also recommend you check out Logica[0], which is a datalog-like language that is explicitly made to compile to SQL queries.

    0: https://logica.dev/

  • datahike

    A durable Datalog implementation adaptable for distribution.

  • Project mention: The Ten Rules of Schema Growth | news.ycombinator.com | 2023-10-31

    Datahike [0] provides similar functionality to datomic and is open source. It lacks some features however that Datomic does have [1].

    [0]: https://github.com/replikativ/datahike

  • differential-datalog

    DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not write incremental algorithms; instead they specify the desired input-output mapping in a declarative manner.

  • Project mention: DDlog: A programming language for incremental computation | news.ycombinator.com | 2024-02-13
  • souffle

    Soufflé is a variant of Datalog for tool designers crafting analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program from a logic specification.

  • Project mention: A Logic Language for Distributed SQL Queries | news.ycombinator.com | 2024-04-25

    > In fact, we could have used Datalog to achieve our data goals — but that would mean we have to build our own Datalog implementation, backing data store, etc. We don’t want to do that.

    Surprising that creating a whole new language made more sense then a backend. I wonder if they did a proof of concept with an existing logic system like Souffle¹ or Rel² first.

    ¹ https://github.com/souffle-lang/souffle

    ² https://relational.ai/blog/rel

  • percival

    📝 Web-based, reactive Datalog notebooks for data analysis and visualization

  • Project mention: Learn Datalog Today | news.ycombinator.com | 2024-01-21

    Souffle and Cozo mentioned below already implement the whole of "traditional" datalog.

    Percival (https://github.com/ekzhang/percival) has some very nice examples showing how you can interactively write and test rules on top of a datalog interpreter.

    Bud (http://bloom-lang.net/bud/) is Hellerstein's proof of concept playground. It has bit-rotted in the past few years, but the examples are readable even if you can't easily get it working.

    The complexity can be quite good. You can syntactically determine when you've written linear recursion (equivalent to a for loop) vs not. Otherwise, the complexity is what you'd expect from incremental view maintenance in a normal SQL database. Which is to say O(n^k) with k being the number of relations joined, but usually much, much less with appropriate indexes and skew in the data. All the usual tricks concerning data normalization and indexes from databases apply.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • securify2

    Securify v2.0

  • semantic-python-overview

    (subjective) overview of projects which are related both to python and semantic technologies (RDF, OWL, Reasoning, ...)

  • crepe

    Datalog compiler embedded in Rust as a procedural macro

  • Project mention: Datalog in 100 lines of JavaScript (2022) | news.ycombinator.com | 2024-01-22
  • datafun

    Research on integrating datalog & lambda calculus via monotonicity types

  • Project mention: Datafun: A Purely, Total Functional Datalog | news.ycombinator.com | 2023-12-29
  • ascent

    logic programming in Rust

  • Project mention: Datalog in 100 lines of JavaScript (2022) | news.ycombinator.com | 2024-01-22
  • modus

    A language for building Docker/OCI container images

  • clojure-graph-resources

    A curated list of Clojure resources for dealing with graph-like data.

  • Project mention: Why Is Jepsen Written in Clojure? | news.ycombinator.com | 2023-12-06
  • homebase-react

    The React state management library for write-heavy applications

  • eclair-lang

    A minimal, fast Datalog implementation in Haskell that compiles to LLVM IR

  • cclyzerpp

    cclyzer++ is a precise and scalable pointer analysis for LLVM code.

  • souffle-haskell

    Haskell bindings for the Souffle datalog language

  • entish

    Entish is a declarative Datalog-like language for formal RPG rules

  • cl-grph

    In-Memory Immutable Graph Structure with Datalog Query Language in Common Lisp

  • treeedb

    Generate Soufflé Datalog types, relations, and facts that represent ASTs from a variety of programming languages.

  • Project mention: GDlog: A GPU-Accelerated Deductive Engine | news.ycombinator.com | 2023-12-03

    https://github.com/topics/datalog?l=rust ... Cozo, Crepe

    Crepe: https://github.com/ekzhang/crepe :

    > Crepe is a library that allows you to write declarative logic programs in Rust, with a Datalog-like syntax. It provides a procedural macro that generates efficient, safe code and interoperates seamlessly with Rust programs.

    Looks like there's not yet a Python grammar for the treeedb tree-sitter: https://github.com/langston-barrett/treeedb :

    > Generate Soufflé Datalog types, relations, and facts that represent ASTs from a variety of programming languages.

    Looks like roxi supports n3, which adds `=>` "implies" to the Turtle lightweight RDF representation: https://github.com/pbonte/roxi

    FWIW rdflib/owl-rl: https://owl-rl.readthedocs.io/en/latest/owlrl.html :

    > simple forward chaining rules are used to extend (recursively) the incoming graph with all triples that the rule sets permit (ie, the “deductive closure” of the graph is computed).

    ForwardChainingStore and BackwardChainingStore implementations w/ rdflib in Python: https://github.com/RDFLib/FuXi/issues/15

    Fast CUDA hashmaps

    Gdlog is built on CuCollections.

    GPU HashMap libs to benchmark: Warpcore, CuCollections,

    https://github.com/NVIDIA/cuCollections

    https://github.com/NVIDIA/cccl

    https://github.com/sleeepyjack/warpcore

    /? Rocm HashMap

    DeMoriarty/DOKsparse:

  • sparqlprog

    logic programming with SPARQL

  • eacl

    EACL: Enterprise Access Control Lists (by theronic)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Datalog related posts

Index

What are some of the best open-source Datalog projects? This list will help you:

Project Stars
1 cozo 3,099
2 xtdb 2,441
3 logica 1,680
4 datahike 1,579
5 differential-datalog 1,334
6 souffle 861
7 percival 571
8 securify2 568
9 semantic-python-overview 482
10 crepe 443
11 datafun 375
12 ascent 370
13 modus 278
14 clojure-graph-resources 252
15 homebase-react 201
16 eclair-lang 192
17 cclyzerpp 110
18 souffle-haskell 99
19 entish 89
20 cl-grph 50
21 treeedb 47
22 sparqlprog 45
23 eacl 41

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com