-
Notifications
You must be signed in to change notification settings - Fork 10
Home
These pages have been uploaded to NotebookLM. Go here to ask questions.
Asami is a graph database written entirely in Clojure. It runs on either the Java Virtual Machine (JVM) or a JavaScript-based system, such as a web browser or Node.js. It has been designed to look a lot like Datomic, though there are some architectural differences that lead to necessary differences.
Asami is designed to be embedded in an application and does not operate as a standalone database. As such, all interactions with Asami are via a Clojure API.
If you are unfamiliar with graph databases and graph queries, start with the Introduction.
The links on the right provide documentation for how to use Asami, along with the graph data structures and how the API interacts with them.
For developers who want to understand Asami, look at the Code Layout page.
Asami is a project that evolved from simple data storage in the Naga rules system.
It has been heavily influenced by RDF in the data model, and Datomic in the API.
Many of these pages provide example code, but require some preliminary setup before it can be run.
A copy/paste template that may be useful in a repl is:
(require '[asami.core :as d :refer [transact q]])
(def db-uri "asami:mem://dbname")
(d/create-database db-uri)
(def conn (d/connect db-uri))
(def data [{}])
(def t (transact conn {:tx-data data}))