type kernel type handle type path = string type tuple = {type_: string; attributes: Value.t Utilities.StringMap.t} type batch = {tuples: tuple list; exhausted: bool} type blueprint = | Namespace | Branch | Multigroup | Relation of {heading: string Utilities.StringMap.t; tuples: Value.t Utilities.StringMap.t list} | Session of string type plan = Base of path | Project of plan * string list type session = {branch: string; snapshot: string} val initialize : Sexplib.Sexp.t -> (kernel, Condition.condition) result val shutdown : kernel -> unit val list : kernel -> path -> (string list, Condition.condition) result val lookup : kernel -> path -> (handle, Condition.condition) result val create : kernel -> path -> blueprint -> (unit, Condition.condition) result val remove : kernel -> path -> (unit, Condition.condition) result val session : kernel -> path -> (session, Condition.condition) result val pin : kernel -> path -> string -> (unit, Condition.condition) result val release : handle -> unit val identity : handle -> string val describe : handle -> (string Utilities.StringMap.t, Condition.condition) result val execute : kernel -> plan -> (handle, Condition.condition) result val enumerate : handle -> (handle, Condition.condition) result val fetch : handle -> int -> (batch, Condition.condition) result (* val authenticate: unit -> unit val open_snapshot: unit -> unit val register_domain: unit -> unit val register_constraint: unit -> unit val insert_tuple: unit -> unit val retract_tuple: unit -> unit *)