rdf

OCaml library to manipulate RDF graphs; implements SPARQL
IN THIS PACKAGE
Module Rdf . Sparql_ms
module SMap = Sparql_types.SMap
module SSet = Sparql_types.SSet
module VMap = Dt.VMap
exception Incompatible_mus of string
exception Cannot_extend_mu of Sparql_types.var
type mu = {
mu_bindings : Term.term SMap.t;
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