sig
  val name : string
  type g = Rdf_pg.t
  type error = string
  exception Error of string
  val string_of_error : '-> 'a
  val graph_name : Rdf_pg.t -> Rdf_uri.uri
  val open_graph : ?options:Rdf_graph.options -> Rdf_uri.uri -> Rdf_pg.t
  val add_triple :
    Rdf_pg.t ->
    sub:Rdf_node.node -> pred:Rdf_node.node -> obj:Rdf_node.node -> unit
  val rem_triple :
    Rdf_pg.t ->
    sub:Rdf_node.node -> pred:Rdf_node.node -> obj:Rdf_node.node -> unit
  val add_triple_t :
    Rdf_pg.t -> Rdf_node.node * Rdf_node.node * Rdf_node.node -> unit
  val rem_triple_t :
    Rdf_pg.t -> Rdf_node.node * Rdf_node.node * Rdf_node.node -> unit
  val subjects_of :
    Rdf_pg.t -> pred:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list
  val predicates_of :
    Rdf_pg.t -> sub:Rdf_node.node -> obj:Rdf_node.node -> Rdf_node.node list
  val objects_of :
    Rdf_pg.t -> 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_pg.t -> (Rdf_node.node * Rdf_node.node * Rdf_node.node) list
  val exists :
    ?sub:Rdf_node.node ->
    ?pred:Rdf_node.node -> ?obj:Rdf_node.node -> Rdf_pg.t -> bool
  val exists_t :
    Rdf_node.node * Rdf_node.node * Rdf_node.node -> Rdf_pg.t -> bool
  val subjects : Rdf_pg.t -> Rdf_node.node list
  val predicates : Rdf_pg.t -> Rdf_node.node list
  val objects : Rdf_pg.t -> Rdf_node.node list
  val transaction_start : Rdf_pg.t -> unit
  val transaction_commit : Rdf_pg.t -> unit
  val transaction_rollback : Rdf_pg.t -> unit
  val new_blank_id : Rdf_pg.t -> Rdf_node.blank_id
end