Liking cljdoc? Tell your friends :D

Duct database.datalog

Protocol methods for accessing Datomic-flavored databases.

Installation

Add the following dependency to your deps.edn file:

org.duct-framework/database.datalog {:mvn/version "0.1.0"}

Or to your Leiningen project file:

[org.duct-framework/database.datalog "0.1.0"]

Usage

A Datomic-flavored database connection should satisfy two protocols:

(extend-type SomeConnection
  duct.database.datalog/Transactable
  (-transact! [conn tx-data] ...)  ;; write transaction
  duct.database.datalog/Readable
  (-db [conn] ...))                ;; return the database

The database instance, returned by -db, should satisfy one protocol:

(extend-type SomeDatabase
  duct.database.datalog/Queryable
  (-q [conn query inputs]))        ;; query the database

This simplified interface does not capture all the nuances and functionality of the databases it wraps, but it does allow for simple queries and transactions to be made.

License

Copyright © 2026 James Reeves

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close