sig
  type repr
  exception NodeTypeError of string
  type node_type = T_unknown | T_resource | T_literal | T_blank
  module Uri :
    sig
      class c :
        string ->
        object ('a)
          method clone : 'a
          method equals : '-> bool
          method is_valid : bool
          method repr : Rdf.repr
          method to_string : string
        end
      val null : Rdf.Uri.c
    end
  type literal_value = {
    lv_string : string;
    lv_language : string;
    lv_datatype : Rdf.Uri.c;
  }
  module Node :
    sig
      class c :
        ?uri_string:string ->
        ?uri:Rdf.Uri.c ->
        ?literal:string ->
        ?datatype:Rdf.Uri.c ->
        ?is_wf_xml:int ->
        ?xml_language:string ->
        ?blank:string ->
        unit ->
        object ('a)
          method clone : 'a
          method equals : '-> bool
          method get_blank_identifier : string
          method get_literal_value : Rdf.literal_value
          method get_type : Rdf.node_type
          method get_uri : Rdf.Uri.c
          method is_blank : bool
          method is_literal : bool
          method is_resource : bool
          method is_valid : bool
          method repr : Rdf.repr
          method to_string : string
        end
      val type_to_string : Rdf.node_type -> string
      val from_uri_string : string -> Rdf.Node.c
      val from_uri : Rdf.Uri.c -> Rdf.Node.c
      val from_literal :
        ?xml_language:string -> ?is_wf_xml:int -> string -> Rdf.Node.c
      val from_typed_literal :
        ?xml_language:string -> ?datatype:Rdf.Uri.c -> string -> Rdf.Node.c
      val from_blank : string -> Rdf.Node.c
      val null : Rdf.Node.c
    end
  module Statement :
    sig
      class c :
        ?subj_node:Rdf.Node.c ->
        ?subj_uri:Rdf.Uri.c ->
        ?subj_uri_string:string ->
        ?subj_blank:string ->
        ?pred_node:Rdf.Node.c ->
        ?pred_uri:Rdf.Uri.c ->
        ?pred_uri_string:string ->
        ?obj_node:Rdf.Node.c ->
        ?obj_uri:Rdf.Uri.c ->
        ?obj_uri_string:string ->
        ?obj_blank:string ->
        ?obj_literal:string ->
        unit ->
        object ('a)
          method clone : 'a
          method equals : '-> bool
          method get_object : Rdf.Node.c
          method get_predicate : Rdf.Node.c
          method get_subject : Rdf.Node.c
          method is_valid : bool
          method matches : '-> bool
          method repr : Rdf.repr
          method set_object : Rdf.Node.c -> unit
          method set_predicate : Rdf.Node.c -> unit
          method set_subject : Rdf.Node.c -> unit
          method to_string : string
        end
      val from_nodes :
        Rdf.Node.c -> Rdf.Node.c -> Rdf.Node.c -> Rdf.Statement.c
      val from_uris : Rdf.Uri.c -> Rdf.Uri.c -> Rdf.Uri.c -> Rdf.Statement.c
      val from_uri_strings : string -> string -> string -> Rdf.Statement.c
    end
  module Stream :
    sig
      class c :
        object
          method context : Rdf.Node.c
          method is_valid : bool
          method iter : (Rdf.Statement.c -> unit) -> unit
          method repr : Rdf.repr
        end
      val null : Rdf.Stream.c
    end
  module Iterator :
    sig
      class c :
        object
          method is_valid : bool
          method iter : (Rdf.Node.c -> unit) -> unit
          method repr : Rdf.repr
        end
    end
  module Storage :
    sig
      class c :
        ?storage_name:string ->
        ?name:string ->
        ?options_string:string ->
        unit ->
        object ('a)
          method clone : 'a
          method is_valid : bool
          method repr : Rdf.repr
        end
      val dummy : Rdf.Storage.c
    end
  module MemoryStorage :
    sig
      class c :
        ?name:string ->
        ?options_string:string ->
        unit ->
        object ('a)
          method clone : 'a
          method is_valid : bool
          method repr : Rdf.repr
        end
    end
  module HashStorage :
    sig
      class c :
        ?name:string ->
        ?options_string:string ->
        unit ->
        object ('a)
          method clone : 'a
          method is_valid : bool
          method repr : Rdf.repr
        end
    end
  module FileStorage :
    sig
      class c :
        ?name:string ->
        ?options_string:string ->
        unit ->
        object ('a)
          method clone : 'a
          method is_valid : bool
          method repr : Rdf.repr
        end
    end
  module QueryResults :
    sig
      class c :
        object
          method as_stream : Rdf.Stream.c
          method get_binding_name : int -> string
          method get_binding_value : int -> Rdf.Node.c
          method get_binding_value_by_name : string -> Rdf.Node.c
          method get_bindings_count : int
          method get_boolean : bool
          method get_count : int
          method is_bindings : bool
          method is_boolean : bool
          method is_graph : bool
          method is_syntax : bool
          method is_valid : bool
          method iter : ((string * Rdf.Node.c) list -> unit) -> unit
          method make_assoc : (string * Rdf.Node.c) list
          method repr : Rdf.repr
          method to_file : ?base_uri:Rdf.Uri.c -> string -> Rdf.Uri.c -> unit
          method to_string : ?base_uri:Rdf.Uri.c -> Rdf.Uri.c -> string
        end
      val null : Rdf.QueryResults.c
    end
  module rec Query :
    sig
      class c :
        ?language_uri:Rdf.Uri.c ->
        ?base_uri:Rdf.Uri.c ->
        ?language:string ->
        string ->
        object ('a)
          method clone : 'a
          method execute : Rdf.Model.c -> Rdf.QueryResults.c
          method is_valid : bool
          method repr : Rdf.repr
        end
    end
  and Model :
    sig
      class c :
        ?options_string:string ->
        ?options_hash:string ->
        Rdf.Storage.c ->
        object ('a)
          method add : Rdf.Node.c -> Rdf.Node.c -> Rdf.Node.c -> unit
          method add_statement :
            ?context:Rdf.Node.c -> Rdf.Statement.c -> unit
          method add_statements : ?context:Rdf.Node.c -> Rdf.Stream.c -> unit
          method as_stream : Rdf.Stream.c
          method as_stream_context : Rdf.Node.c -> Rdf.Stream.c
          method clone : 'a
          method contains_statement : Rdf.Statement.c -> bool
          method contains_statement_context : Rdf.Node.c -> bool
          method execute_query : Rdf.Query.c -> Rdf.QueryResults.c
          method find_statements : Rdf.Statement.c -> Rdf.Stream.c
          method get_arc : Rdf.Node.c -> Rdf.Node.c -> Rdf.Node.c
          method get_arcs : Rdf.Node.c -> Rdf.Node.c -> Rdf.Iterator.c
          method get_arcs_in : Rdf.Node.c -> Rdf.Iterator.c
          method get_arcs_out : Rdf.Node.c -> Rdf.Iterator.c
          method get_source : Rdf.Node.c -> Rdf.Node.c -> Rdf.Node.c
          method get_sources : Rdf.Node.c -> Rdf.Node.c -> Rdf.Iterator.c
          method get_target : Rdf.Node.c -> Rdf.Node.c -> Rdf.Node.c
          method get_targets : Rdf.Node.c -> Rdf.Node.c -> Rdf.Iterator.c
          method has_arc_in : Rdf.Node.c -> Rdf.Node.c -> bool
          method has_arc_out : Rdf.Node.c -> Rdf.Node.c -> bool
          method is_valid : bool
          method load :
            ?name:string ->
            ?mime_type:string -> ?type_uri:Rdf.Uri.c -> Rdf.Uri.c -> unit
          method remove_statement :
            ?context:Rdf.Node.c -> Rdf.Statement.c -> unit
          method remove_statements_with_context : Rdf.Node.c -> unit
          method repr : Rdf.repr
          method size : int
          method sync : unit
          method to_string :
            ?base_uri:Rdf.Uri.c ->
            ?name:string ->
            ?mime_type:string -> ?type_uri:Rdf.Uri.c -> unit -> string
          method transaction_commit : unit
          method transaction_rollback : unit
          method transaction_start : unit
        end
    end
  module RDQLQuery :
    sig
      class c :
        ?base_uri:Rdf.Uri.c ->
        string ->
        object ('a)
          method clone : 'a
          method execute : Rdf.Model.c -> Rdf.QueryResults.c
          method is_valid : bool
          method repr : Rdf.repr
        end
    end
  module SPARQLQuery :
    sig
      class c :
        ?base_uri:Rdf.Uri.c ->
        string ->
        object ('a)
          method clone : 'a
          method execute : Rdf.Model.c -> Rdf.QueryResults.c
          method is_valid : bool
          method repr : Rdf.repr
        end
    end
  module Parser :
    sig
      class c :
        ?name:string ->
        ?mime_type:string ->
        ?uri:Rdf.Uri.c ->
        unit ->
        object
          method get_feature : Rdf.Uri.c -> Rdf.Node.c
          method is_valid : bool
          method namespaces_seen : (string * Rdf.Uri.c) list
          method parse_as_stream :
            ?base_uri:Rdf.Uri.c -> Rdf.Uri.c -> Rdf.Stream.c
          method parse_into_model :
            ?base_uri:Rdf.Uri.c -> Rdf.Uri.c -> Rdf.Model.c -> unit
          method parse_string_as_stream :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Stream.c
          method parse_string_into_model :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Model.c -> unit
          method repr : Rdf.repr
          method set_feature : Rdf.Uri.c -> Rdf.Node.c -> unit
        end
    end
  module NTriplesParser :
    sig
      class c :
        object
          method get_feature : Rdf.Uri.c -> Rdf.Node.c
          method is_valid : bool
          method namespaces_seen : (string * Rdf.Uri.c) list
          method parse_as_stream :
            ?base_uri:Rdf.Uri.c -> Rdf.Uri.c -> Rdf.Stream.c
          method parse_into_model :
            ?base_uri:Rdf.Uri.c -> Rdf.Uri.c -> Rdf.Model.c -> unit
          method parse_string_as_stream :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Stream.c
          method parse_string_into_model :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Model.c -> unit
          method repr : Rdf.repr
          method set_feature : Rdf.Uri.c -> Rdf.Node.c -> unit
        end
    end
  module TurtleParser :
    sig
      class c :
        object
          method get_feature : Rdf.Uri.c -> Rdf.Node.c
          method is_valid : bool
          method namespaces_seen : (string * Rdf.Uri.c) list
          method parse_as_stream :
            ?base_uri:Rdf.Uri.c -> Rdf.Uri.c -> Rdf.Stream.c
          method parse_into_model :
            ?base_uri:Rdf.Uri.c -> Rdf.Uri.c -> Rdf.Model.c -> unit
          method parse_string_as_stream :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Stream.c
          method parse_string_into_model :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Model.c -> unit
          method repr : Rdf.repr
          method set_feature : Rdf.Uri.c -> Rdf.Node.c -> unit
        end
    end
  module Serializer :
    sig
      class c :
        ?name:string ->
        ?mime_type:string ->
        ?uri:Rdf.Uri.c ->
        unit ->
        object
          method check_name : string -> bool
          method get_feature : Rdf.Uri.c -> Rdf.Node.c
          method is_valid : bool
          method repr : Rdf.repr
          method serialize_model_to_file :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Model.c -> unit
          method serialize_model_to_string :
            ?base_uri:Rdf.Uri.c -> Rdf.Model.c -> string
          method serialize_stream_to_file :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Stream.c -> unit
          method serialize_stream_to_string :
            ?base_uri:Rdf.Uri.c -> Rdf.Stream.c -> string
          method set_feature : Rdf.Uri.c -> Rdf.Node.c -> unit
          method set_namespace : string -> Rdf.Uri.c -> unit
        end
    end
  module RDFXMLSerializer :
    sig
      class c :
        object
          method check_name : string -> bool
          method get_feature : Rdf.Uri.c -> Rdf.Node.c
          method is_valid : bool
          method repr : Rdf.repr
          method serialize_model_to_file :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Model.c -> unit
          method serialize_model_to_string :
            ?base_uri:Rdf.Uri.c -> Rdf.Model.c -> string
          method serialize_stream_to_file :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Stream.c -> unit
          method serialize_stream_to_string :
            ?base_uri:Rdf.Uri.c -> Rdf.Stream.c -> string
          method set_feature : Rdf.Uri.c -> Rdf.Node.c -> unit
          method set_namespace : string -> Rdf.Uri.c -> unit
        end
    end
  module NTriplesSerializer :
    sig
      class c :
        object
          method check_name : string -> bool
          method get_feature : Rdf.Uri.c -> Rdf.Node.c
          method is_valid : bool
          method repr : Rdf.repr
          method serialize_model_to_file :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Model.c -> unit
          method serialize_model_to_string :
            ?base_uri:Rdf.Uri.c -> Rdf.Model.c -> string
          method serialize_stream_to_file :
            ?base_uri:Rdf.Uri.c -> string -> Rdf.Stream.c -> unit
          method serialize_stream_to_string :
            ?base_uri:Rdf.Uri.c -> Rdf.Stream.c -> string
          method set_feature : Rdf.Uri.c -> Rdf.Node.c -> unit
          method set_namespace : string -> Rdf.Uri.c -> unit
        end
    end
end