module Rdf_sparql_ms: sig
.. end
val dbg : ?loc:string -> ?level:int -> (unit -> string) -> unit
module SMap: Rdf_sparql_types.SMap
module SSet: Rdf_sparql_types.SSet
module VMap: Rdf_dt.VMap
type
mu = {
|
mu_bindings : Rdf_node.node SMap.t ; |
|
mutable mu_bnodes : string VMap.t ; |
}
A solution mapping : variable -> rdf term
val mu_0 : mu
val mu_add : SMap.key ->
Rdf_node.node -> mu -> mu
val mu_copy : mu -> mu
val mu : SMap.key -> Rdf_node.node -> mu
val gen_blank_id : unit -> string
val get_bnode : mu -> VMap.key -> Rdf_dt.value
val mu_compare : mu -> mu -> int
exception Incompatible_mus of string
exception Cannot_extend_mu of Rdf_sparql_types.var
val mu_merge : mu -> mu -> mu
val mu_find_varname : SMap.key -> mu -> Rdf_node.node
val mu_find_var : Rdf_sparql_types.var -> mu -> Rdf_node.node
val mu_project : SSet.t -> mu -> mu
val mu_fold : (SMap.key -> Rdf_node.node -> 'a -> 'a) ->
mu -> 'a -> 'a
val mu_iter : (SMap.key -> Rdf_node.node -> unit) -> mu -> unit
module MuOrdered: sig
.. end
module MuSet: Set.Make
(
MuOrdered
)
module MuNOrdered: sig
.. end
module Multimu: Set.Make
(
MuNOrdered
)
type
multiset = Multimu.t
A Multiset is a set of pairs (int, mu)
val omega_add : mu -> Multimu.t -> Multimu.t
val omega_add_if_not_present : mu -> Multimu.t -> Multimu.t
val omega_0 : Multimu.t
val omega : SMap.key -> Rdf_node.node -> Multimu.t
val card_mu : Multimu.t -> mu -> int
val omega_filter : (mu -> bool) ->
Multimu.t -> Multimu.t
val omega_join : ?pred:(mu -> bool) ->
Multimu.t -> Multimu.t -> Multimu.t
val omega_union : Multimu.t -> Multimu.t -> Multimu.t
val omega_diff_pred : (mu -> bool) ->
Multimu.t -> Multimu.t -> Multimu.t
exception Not_disjoint
val mu_disjoint_doms : mu -> mu -> bool
val omega_minus : Multimu.t -> Multimu.t -> Multimu.t
val omega_extend : (mu -> Rdf_node.node) ->
Multimu.t -> Rdf_sparql_types.var -> Multimu.t
val omega_fold : (mu -> 'a -> 'a) -> Multimu.t -> 'a -> 'a
val omega_iter : (mu -> unit) -> Multimu.t -> unit
val omega_exists : (mu -> bool) -> Multimu.t -> bool