Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/philippkueng/datalite
Datalog meets SQLite
https://github.com/philippkueng/datalite
clojure datalog sqlite
Last synced: 8 days ago
JSON representation
Datalog meets SQLite
- Host: GitHub
- URL: https://github.com/philippkueng/datalite
- Owner: philippkueng
- Created: 2022-06-11T09:10:56.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-09-24T18:39:42.000Z (about 2 years ago)
- Last Synced: 2024-10-12T04:52:44.612Z (about 1 month ago)
- Topics: clojure, datalog, sqlite
- Language: Clojure
- Homepage:
- Size: 59.6 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DataLite
[![CI](https://github.com/philippkueng/datalite/actions/workflows/main.yml/badge.svg)](https://github.com/philippkueng/datalite/actions/workflows/main.yml)
**Disclaimer: This repo is highly experimental, expect APIs and implementations to change.**
Datalog meets [SQLite](https://www.sqlite.org/index.html) for low volume data.
## Reasoning & Vision
The thought being that while [Datomic](https://www.datomic.com/), [DataScript](https://github.com/tonsky/datascript), [Datalevin](https://github.com/juji-io/datalevin), [XTDB](https://xtdb.com/) all have their niche I was thinking of another niche, that it'd be handy to be able to query a SQLite database using Datalog and hence expand the reach of applications written but also tap in the tools that are being developed for SQLite currently eg. [litestream](https://litestream.io).
This is the reason why I'd like to explore the idea of creating a wrapper on top of SQLite, mapping a schema as used for Datomic and create SQL tables from it supporting both nested maps and arrays (to a certain degree) and then offering the database to be queried with a [Datalog like language](https://docs.xtdb.com/language-reference/datalog-queries/) (from what I read this might not be a trivial feat). Furthermore, having a Clojure-wrapper over SQLite, with SQLite basically running anywhere from embedded devices to in the browser using WASM and Clojure being deployable pretty much anywhere too there's a chance that if one writes their local-first application against DataLite one can lift and shift it to another environment with minimal adaptations.
## License
Open Source but haven't decided on the actual license yet, recommendations welcome.