datahike

whilo 2026-02-11T08:17:10.448609Z

I have built this very simple CRM-like contractor invoicing and packaged it up as a Datahike example, would be nice to get feedback in case anybody is interested: https://github.com/replikativ/beleg/.

Ludger Solbach 2026-02-11T08:32:18.718689Z

Does Datahike require a schema or does it work schema-less, too?

whilo 2026-02-11T08:33:43.226889Z

Both schema-on-write and schema-on-read are supported https://github.com/replikativ/datahike/blob/main/doc/schema.md

👍 1
Ludger Solbach 2026-02-11T08:37:52.989709Z

so schema-on-read is essentially no schema?

whilo 2026-02-11T08:41:58.429829Z

Not quite, you still want to declare refs. And the inputs need to follow the transactor DSL syntax, but it is fairly free. If you want to just pump in JSON-like data you can use https://github.com/replikativ/datahike/blob/main/doc/unstructured.md, this will not retain cross-references between entities in your data though (if you have them, i.e. if one entity somewhere in the JSON should have the same db/id as its representation elsewhere).

whilo 2026-02-11T08:42:05.759599Z

What kind of data do you want to insert?

whilo 2026-02-11T08:42:59.810099Z

You probably would like to look at the inferred schema at least: https://github.com/replikativ/datahike/blob/main/doc/unstructured.md#working-with-the-schema-directly

Ludger Solbach 2026-02-11T10:28:14.270719Z

I'd like to try to use a datalog database as a sophisticated query engine for https://github.com/soulspace-org/overarch models. These models are essentially graphs of nodes and relationships, which are maps with some required keys. But I want to keep the maps open so you can attach any information/keys to those maps, you need. I don't need the db as a storage backend, as the model files should still live in git repositories.

whilo 2026-02-11T17:48:13.476179Z

Cool! This should also be possible with schema-on-write, you can always add attributes to the schema without a problem.