Basics
- Stores historical events
Datalog
is the query language
- Append-only (impossible to edit/remove events)
Entity
Entity
is every symbol created by a datom
- Each entity is referenced with a
unique id
(:db/id
). This id is automatically created
Schema
- Schema is the
set of attributes
that can be associated with the entities of a database
- An
attribute
is defined by:
:db/ident
: unique name for the attribute
:db/valueType
: type of data to be stored in the attribute
:db/cardinality
: whether to store a single value or a collection of values
:db/doc
(optional but recommended): docstring of the attribute
;; attribute 1
{:db/ident :movie/title
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
:db/doc "The title of the movie"}
;; attribute 2
{:db/ident :movie/genre
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
:db/doc "The genre of the movie"}
;; attribute 3
{:db/ident :movie/release-year
:db/valueType :db.type/long
:db/cardinality :db.cardinality/one
:db/doc "The year the movie was released in theaters"}