cozo
pycozo
Our great sponsors
cozo | pycozo | |
---|---|---|
29 | 2 | |
3,099 | 37 | |
4.3% | - | |
8.0 | 6.9 | |
about 1 month ago | 5 months ago | |
Rust | Python | |
Mozilla Public License 2.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.
cozo
- Transactional, relational-graph-vector database that uses Datalog for query
- Learn Datalog Today
-
Documentation for Rust interface
I can figure parts of it out from https://github.com/cozodb/cozo/blob/main/cozo-core/tests/air_routes.rs which is enough to get started
-
The Ten Rules of Schema Growth
I've been keeping an eye on https://github.com/cozodb/cozo which is pretty close to something I've wanted, a sqlite version of datalog/datomic.
- Fast Analytics and Graph Traversals with Datalog
-
These new vector databases are only slightly better than outright scams
Finally, the one product I was extremely impressed with and felt was genuinely impressive as a database in general was cozodb.
-
An embedded NoSQL database on rust.
Take a look at cozodb. It meets most of your goals and I've been really enjoying using it. It might give you some inspiration or something to contribute to.
-
Hyper – A fast and correct HTTP implementation for Rust
Sure. They're called 'partials' sometimes. Useful if you want to rerender just part of a page. This is a pattern used by HTMX, a 'js framework' that accepts fragments of html in an http response and injects it into the page. This is good because it avoids the flash and state loss of a whole page reload. See the HTMX essay on template fragments for a more complete argument [0].
This is a go template for an interactive todos app [1] that I'm experimenting with. The html content of the entire page is present in one template definition which is split into 6 inline {{block}} definitions / "fragments". The page supports 5 interactions indicated by {{define}} definitions, each of which reuse various block fragments relevant to that interaction. I'm in the process of converting it to use embedded cozodb [2] queries which act as a server side data store. The idea here is that the entire 'app', including all html fragments, styles, http requests and responses, db schema, and queries are embedded into this single 100-line file.
[0]: https://htmx.org/essays/template-fragments/
[1]: https://github.com/infogulch/go-htmx/blob/master/templates/t...
[2]: https://github.com/cozodb/cozo
-
What Is a Vector Database
If anyone wants to try a FOSS vector-relational-graph hybrid database for more complicated workloads than simple vector search, here it is: https://github.com/cozodb/cozo/
About the integrated vector search: https://docs.cozodb.org/en/latest/releases/v0.6.html
It also does duplicate detection (Minhash-LSH) and full-text search within the query language itself: https://docs.cozodb.org/en/latest/releases/v0.7.html
HN discussion a few days ago: https://news.ycombinator.com/item?id=35641164
Disclaimer: I wrote it.
-
Calling Rust folks: please liberate Dart from SQL
You are probably talking about this cozo.
pycozo
-
Show HN: CozoDB, Hybrid Relational-Graph-Vector DB, the Hippocampus for LLMs
I have been thinking about adding FTS to CozoDB for a long time but resisted the temptation so far. The reason is that text search is language-specific: what works for one language does not work for another. There is simply no way that CozoDB can duplicate the work of a dedicated text search engine for all the languages in the world.
Our current solution is to use mutation callbacks to synchronize texts to a dedicated text search engine. This is language specific: for example, for python: https://github.com/cozodb/pycozo#mutation-callbacks , and for Rust: https://docs.rs/cozo/latest/cozo/struct.Db.html#method.regis...
-
Show HN: Cozo – new Graph DB with Datalog, embedded like SQLite, written in Rust
For folks looking for documentation or getting started-examples, see:
- The tutorial: https://nbviewer.org/github/cozodb/cozo-docs/blob/main/tutor...
- The language documentation: https://cozodb.github.io/current/manual/
- The pycozo library README for some examples on how to run this from inline python: https://github.com/cozodb/pycozo#readme
What are some alternatives?
slashbase - In-browser database IDE for dev/data workflows. Supports PostgreSQL & MongoDB.
snakelog - A Datalog Framework for Python
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.
abcl - Armed Bear Common Lisp <git+https://github.com/armedbear/abcl/> <--> <svn+https://abcl.org/svn> Bridge
datascript - Immutable database and Datalog query engine for Clojure, ClojureScript and JS
TCLisp - Truffle Common Lisp
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.
QuestDB - An open source time-series database for fast ingest and SQL queries
sonic - 🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
asami - A flexible graph store, written in Clojure
blog - Some notes on things I find interesting and important.