package rdf

  1. Overview
  2. Docs
module SMap = Rdf.Sparql_types.SMap
module SSet = Rdf.Sparql_types.SSet
module VMap = Dt.VMap
exception Incompatible_mus of string
exception Cannot_extend_mu of Sparql_types.var
type mu = {
  1. mu_bindings : Term.term SMap.t;
  2. mutable mu_bnodes : string VMap.t;
}
val mu_0 : mu
val mu_add : SMap.key -> Term.term -> mu -> mu
val mu_copy : mu -> mu
val mu : SMap.key -> Term.term -> mu
val gen_blank_id : unit -> string
val get_bnode : mu -> VMap.key -> Dt.value
val mu_compare : mu -> mu -> int
val mu_merge : mu -> mu -> mu
val mu_find_varname : SMap.key -> mu -> Term.term
val mu_find_var : Sparql_types.var -> mu -> Term.term
val mu_project : SSet.t -> mu -> mu
val mu_fold : (SMap.key -> Term.term -> 'a -> 'a) -> mu -> 'a -> 'a
val mu_iter : (SMap.key -> Term.term -> unit) -> mu -> unit
module MuOrdered : sig ... end
module MuSet : sig ... end
module MuNOrdered : sig ... end
module Multimu : sig ... end
type multiset = Multimu.t
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 -> Term.term -> 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 -> Term.term) -> Multimu.t -> 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