sig
type options = (string * string) list
val get_option : ?def:string -> string -> Rdf_graph.options -> string
module type Storage =
sig
val name : string
type g
type error
exception Error of Rdf_graph.Storage.error
val string_of_error : Rdf_graph.Storage.error -> string
val open_graph :
?options:(string * string) list -> Rdf_uri.uri -> Rdf_graph.Storage.g
val graph_name : Rdf_graph.Storage.g -> Rdf_uri.uri
val add_triple :
Rdf_graph.Storage.g ->
sub:Rdf_node.node -> pred:Rdf_node.node -> obj:Rdf_node.node -> unit
val rem_triple :
Rdf_graph.Storage.g ->
sub:Rdf_node.node -> pred:Rdf_node.node -> obj:Rdf_node.node -> unit
val add_triple_t : Rdf_graph.Storage.g -> Rdf_node.triple -> unit
val rem_triple_t : Rdf_graph.Storage.g -> Rdf_node.triple -> unit
val subjects_of :
Rdf_graph.Storage.g ->
pred:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list
val predicates_of :
Rdf_graph.Storage.g ->
sub:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list
val objects_of :
Rdf_graph.Storage.g ->
sub:Rdf_node.node -> pred:Rdf_node.node -> Rdf_node.node list
val find :
?sub:Rdf_node.node ->
?pred:Rdf_node.node ->
?obj:Rdf_node.node -> Rdf_graph.Storage.g -> Rdf_node.triple list
val exists :
?sub:Rdf_node.node ->
?pred:Rdf_node.node ->
?obj:Rdf_node.node -> Rdf_graph.Storage.g -> bool
val exists_t : Rdf_node.triple -> Rdf_graph.Storage.g -> bool
val subjects : Rdf_graph.Storage.g -> Rdf_node.node list
val predicates : Rdf_graph.Storage.g -> Rdf_node.node list
val objects : Rdf_graph.Storage.g -> Rdf_node.node list
val transaction_start : Rdf_graph.Storage.g -> unit
val transaction_commit : Rdf_graph.Storage.g -> unit
val transaction_rollback : Rdf_graph.Storage.g -> unit
val new_blank_id : Rdf_graph.Storage.g -> Rdf_node.blank_id
end
exception Storage_error of string * string * exn
module type Graph =
sig
type g
val open_graph :
?options:(string * string) list -> Rdf_uri.uri -> Rdf_graph.Graph.g
val graph_name : Rdf_graph.Graph.g -> Rdf_uri.uri
val add_triple :
Rdf_graph.Graph.g ->
sub:Rdf_node.node -> pred:Rdf_node.node -> obj:Rdf_node.node -> unit
val rem_triple :
Rdf_graph.Graph.g ->
sub:Rdf_node.node -> pred:Rdf_node.node -> obj:Rdf_node.node -> unit
val add_triple_t : Rdf_graph.Graph.g -> Rdf_node.triple -> unit
val rem_triple_t : Rdf_graph.Graph.g -> Rdf_node.triple -> unit
val subjects_of :
Rdf_graph.Graph.g ->
pred:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list
val predicates_of :
Rdf_graph.Graph.g ->
sub:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list
val objects_of :
Rdf_graph.Graph.g ->
sub:Rdf_node.node -> pred:Rdf_node.node -> Rdf_node.node list
val find :
?sub:Rdf_node.node ->
?pred:Rdf_node.node ->
?obj:Rdf_node.node -> Rdf_graph.Graph.g -> Rdf_node.triple list
val exists :
?sub:Rdf_node.node ->
?pred:Rdf_node.node ->
?obj:Rdf_node.node -> Rdf_graph.Graph.g -> bool
val exists_t : Rdf_node.triple -> Rdf_graph.Graph.g -> bool
val subjects : Rdf_graph.Graph.g -> Rdf_node.node list
val predicates : Rdf_graph.Graph.g -> Rdf_node.node list
val objects : Rdf_graph.Graph.g -> Rdf_node.node list
val transaction_start : Rdf_graph.Graph.g -> unit
val transaction_commit : Rdf_graph.Graph.g -> unit
val transaction_rollback : Rdf_graph.Graph.g -> unit
val new_blank_id : Rdf_graph.Graph.g -> Rdf_node.blank_id
end
module Make :
functor (S : Storage) ->
sig
type g = S.g
val open_graph : ?options:(string * string) list -> Rdf_uri.uri -> g
val graph_name : g -> Rdf_uri.uri
val add_triple :
g ->
sub:Rdf_node.node ->
pred:Rdf_node.node -> obj:Rdf_node.node -> unit
val rem_triple :
g ->
sub:Rdf_node.node ->
pred:Rdf_node.node -> obj:Rdf_node.node -> unit
val add_triple_t : g -> Rdf_node.triple -> unit
val rem_triple_t : g -> Rdf_node.triple -> unit
val subjects_of :
g -> pred:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list
val predicates_of :
g -> sub:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list
val objects_of :
g -> sub:Rdf_node.node -> pred:Rdf_node.node -> Rdf_node.node list
val find :
?sub:Rdf_node.node ->
?pred:Rdf_node.node ->
?obj:Rdf_node.node -> g -> Rdf_node.triple list
val exists :
?sub:Rdf_node.node ->
?pred:Rdf_node.node -> ?obj:Rdf_node.node -> g -> bool
val exists_t : Rdf_node.triple -> g -> bool
val subjects : g -> Rdf_node.node list
val predicates : g -> Rdf_node.node list
val objects : g -> Rdf_node.node list
val transaction_start : g -> unit
val transaction_commit : g -> unit
val transaction_rollback : g -> unit
val new_blank_id : g -> Rdf_node.blank_id
end
val add_storage : (module Rdf_graph.Storage) -> unit
type graph = {
name : unit -> Rdf_uri.uri;
add_triple :
sub:Rdf_node.node -> pred:Rdf_node.node -> obj:Rdf_node.node -> unit;
rem_triple :
sub:Rdf_node.node -> pred:Rdf_node.node -> obj:Rdf_node.node -> unit;
add_triple_t : Rdf_node.node * Rdf_node.node * Rdf_node.node -> unit;
rem_triple_t : Rdf_node.node * Rdf_node.node * Rdf_node.node -> unit;
subjects_of :
pred:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list;
predicates_of :
sub:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list;
objects_of :
sub:Rdf_node.node -> pred:Rdf_node.node -> Rdf_node.node list;
find :
?sub:Rdf_node.node ->
?pred:Rdf_node.node ->
?obj:Rdf_node.node -> unit -> Rdf_node.triple list;
exists :
?sub:Rdf_node.node ->
?pred:Rdf_node.node -> ?obj:Rdf_node.node -> unit -> bool;
exists_t : Rdf_node.triple -> bool;
subjects : unit -> Rdf_node.node list;
predicates : unit -> Rdf_node.node list;
objects : unit -> Rdf_node.node list;
transaction_start : unit -> unit;
transaction_commit : unit -> unit;
transaction_rollback : unit -> unit;
new_blank_id : unit -> Rdf_node.blank_id;
namespaces : unit -> (Rdf_uri.uri * string) list;
}
val open_graph :
?options:(string * string) list -> Rdf_uri.uri -> Rdf_graph.graph
val merge : Rdf_graph.graph -> Rdf_graph.graph -> unit
end