Eva: An open source entity-attribute-value database in Clojure

Eva: An open source entity-attribute-value database in Clojure

We don’t use to make a query but rather we obtain an immutable database value like so:

Next we execute a query that returns all entity ids in the system matching the doc string . The simplest data-modification commands ( , ) correspond to the accumulative tuples described above:

When this transaction is committed it will produce the following tuples in the database history (where is the next transaction-number):

In addition to the command-form, you can also create/update data using the object/map form of an entity:

This form is equivalent to the command-form:

Because all stored data reduces to EAVT tuples, schemas are defined per Attribute, rather than per Entity. Additionally, development on Eva began before many powerful features of Datomic were released, including Datomic Cloud and Datomic Client.

Source: github.com