Triplox
Triplox is a Datalog database engine inspired by Datomic built on object storage.
// Transact some datalet data_ops = vec![ TxOp::put([ (kw!(:name), "alice".into()), (kw!(:age), 30_i64.into()), ]), TxOp::put([ (kw!(:name), "bob".into()), (kw!(:age), 25_i64.into()), ]),];node.execute_tx(data_ops).await?;
// Open a DB value and querylet db = node.db().await?;let rows = db .query(r#"{:find [?e ?name ?age] :where [[?e :name ?name] [?e :age ?age]]}"#) .await?;;; Transact some data(tc/transact conn [{:name "alice" :age 30} {:name "bob" :age 25}])
;; Open a DB value and query(def db (tc/db conn))(tc/q db '{:find [?e ?name ?age] :where [[?e :name ?name] [?e :age ?age]]});; => [[8796093022209 "alice" 30] [8796093022208 "bob" 25]]// Transact some datanode.executeTx(list( new TxOp.Put(map(":name", "alice", ":age", 30L)), new TxOp.Put(map(":name", "bob", ":age", 25L))));
// Open a DB value and queryvar db = node.openDb();var rows = db.query(""" {:find [?e ?name ?age] :where [[?e :name ?name] [?e :age ?age]]} """);