Datomic
- A commercial immutable database. Facts are never overwritten, only added, so you can query the database as of any past moment in time.
- Data is stored as datoms, entity-attribute-value triples, queried in Datalog directly:
[:find ?name
:where [?p :person/age ?a]
[(>= ?a 18)]
[?p :person/name ?name]]
- Shared logic variables join the clauses: here
?plinks a person’s age to their name, exactly as a shared variable joins atoms in a Datamog rule body.
Where SQL is the mainstream database language, Datomic shows Datalog itself filling that role in production.