datascript
xtdb
datascript | xtdb | |
---|---|---|
24 | 17 | |
5,352 | 2,441 | |
- | 1.1% | |
7.7 | 9.9 | |
7 days ago | 6 days ago | |
Clojure | Clojure | |
Eclipse Public License 1.0 | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
datascript
-
Datalog in 100 lines of JavaScript (2022)
Hi pests, I don't think the criticism in the comments gives a full picture.
I wrote about a particular flavor of datalog, in common use today. [1] [2]. The earliest representation I know, which matches the syntax of my essay, was in SICP [3]
There's another, more academic form of datalog, which looks a lot more like prolog. Both have lots of similarities: both systems have a set of facts and rules. Both systems have can take a partially filled fact or rule, and find all matching facts. The more academic flavors of Datalog are useful for general logic, and particularly powerful for recursive questions. The variant I showed is more tailed for database queries.
[1] https://github.com/tonsky/datascript
-
XTDB on Mobile Possible?
There is also datascript as a similar option.
- FoundationDB: A Distributed Key-Value Store
-
wotbrew/relic: FRP for Clojure(Script)
What's the use case for relic? Sounds similar to https://github.com/tonsky/datascript ?
- Introduction to Datalog
- Clojure Turns 15 panel discussion video
-
Show HN: Cozo – new Graph DB with Datalog, embedded like SQLite, written in Rust
This look nice !
Datascript seems to be another Datalog engine (in memory only)
https://github.com/tonsky/datascript
-
Ergonomic inline SQL as a Python library
Inspired by past work: LINQ, inline-python, crepe, DataScript, Riffle.
-
Working with large maps
An in-memory database like Datascript may be worth looking into. Otherwise you could take an indexing approach: put all the data into one big map indexed by some unique key, and have a bunch of supplementary indexes that are updated on insertion.
- Obsidian Dataview: Turn Obsidian Vault into a database which you can query from
xtdb
-
Mariposa – A programming language with time-travel
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.
- Everything wrong with databases and why their complexity is now unnecessary
-
I made a basic python client and ORM for XTDB
XTDB is a bitemporal and dynamic relational database for SQL and Datalog, written in Clojure. The Python application I work on uses XTDB for its bitemporal and schema-less nature. There were a few Python clients that looked unmaintained and lacked some features we needed, so I tried to build something that would have fit our own requirements in hindsight. This includes:
-
Endatabas: A SQLite-inspired, SQL document database with full history
it's bitemporal, will be SQL-compatible, and also has another query-language - XTQL :
https://github.com/xtdb/xtdb/tree/2.x/dev/xtql
-
Is Datomic right for my use case?
You can also consider other durable Datalog options like datahike or datalevin which can work either as lib (SQLite style) or in a client-server setup; if you want to play with bi-temporality XTDB is a rock solid option with very good support and documentation.
-
Datomic Is Now Free
You could look into http://xtdb.com/ if you want an open source alternative
-
Taming the Time: how to install & develop with XTDB
XTDB, or Cross-Time Database, is a distributed and transactional database system designed to handle complex and changing data with ease. It is based on a bitemporal model, which allows for the tracking of both the valid time and transaction time of data, enabling powerful and flexible querying capabilities. With XTDB, developers can work with immutable data structures, which simplifies development and improves reliability. Its graph query language, Datalog, provides a powerful and expressive way to navigate relationships within the data.
- Introduction to Datalog
- Clojure Turns 15 panel discussion video
- Xtdb
What are some alternatives?
asami - A graph store for Clojure and ClojureScript
datahike - A durable Datalog implementation adaptable for distribution.
datalevin - A simple, fast and versatile Datalog database
crux - General purpose bitemporal database for SQL, Datalog & graph queries. Backed by @juxt [Moved to: https://github.com/xtdb/xtdb]
10000-markdown-files - 10,000 markdown files. Useful for stress testing note-taking tools.
biff - A Clojure web framework for solo developers.
Apache AGE - Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL. [Moved to: https://github.com/apache/age]
spring-data-jpa-temporal - Temporal auditing extension of the Spring Data JPA module
Neo4j - Graphs for Everyone
entish - Entish is a declarative Datalog-like language for formal RPG rules