A library for storing graph data in a Clojure map that automatically normalizes nested data and allows querying via EQL.
Create a new db with db
. db values are normal maps with a tabular structure.
Add new ones using add
.
Entities are identified by the first key with the name "id", e.g.
:person/id. Adding data about the same entity will merge them together in
order of addition. To replace an entity, dissoc
it first.
NOTE: Collections like vectors, sets and lists should not mix entities and non-entities. Collections are recursively walked to find entities.
Query them w/ EQL using pull
.
To get meta-information about what entities were added or queried, use the
add-report
and pull-report
functions.
A library for storing graph data in a Clojure map that automatically normalizes nested data and allows querying via EQL. Create a new db with `db`. db values are normal maps with a tabular structure. Add new ones using `add`. Entities are identified by the first key with the name "id", e.g. :person/id. Adding data about the same entity will merge them together in order of addition. To replace an entity, `dissoc` it first. NOTE: Collections like vectors, sets and lists should not mix entities and non-entities. Collections are recursively walked to find entities. Query them w/ EQL using `pull`. To get meta-information about what entities were added or queried, use the `add-report` and `pull-report` functions.
Tools for identifying entity maps & creating ident functions.
An 'ident function' is a function that takes a map and returns a tuple [:key val] that uniquely identifies the entity the map describes.
Tools for identifying entity maps & creating ident functions. An 'ident function' is a function that takes a map and returns a tuple [:key val] that uniquely identifies the entity the map describes.
Experimental!
A datalog query engine for normalized maps in the pyramid.core/db fashion
Experimental! A datalog query engine for normalized maps in the pyramid.core/db fashion
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close