Module Datalog.S.Query

module Query: sig .. end

type set 
mutable set of term lists
val ask : Datalog.S.db ->
?neg:Datalog.S.literal list ->
int array -> Datalog.S.literal list -> set
Given a list of variables, and a list of literals that contain those variables, return a set. Each element of the set is an instantiation of the variables such that all instantiated literals are facts of the db. neg is an optional list of literals that must be false for an instantiation to be an answer. This is lazy, and will only be evaluated upon calls to Datalog.S.Query.iter, Datalog.S.Query.to_list or other similar functions. The answers will be cached in the set and readily available thereafter.
val iter : set -> (Datalog.S.term array -> unit) -> unit
Evaluate the set by iterating on it
val to_list : set -> Datalog.S.term array list
Convert to a list
val cardinal : set -> int
Number of elements of the set
val pp_plan : Format.formatter -> set -> unit
Print query plan