package rdf

  1. Overview
  2. Docs
module T = Sparql_types
type error =
  1. | Variable_already_defined of Sparql_types.var
  2. | Unknown_prefix of Sparql_types.pname_ns
exception Error of error
val error : error -> 'a
val string_of_error : error -> string
type query = {
  1. query_proj : Sparql_types.select_clause option;
  2. query_where : Sparql_types.group_graph_pattern;
  3. query_modifier : Sparql_types.solution_modifier;
  4. query_values : Sparql_types.values_clause;
}
exception Implicit_aggregate_found
type path =
  1. | Var of Sparql_types.var
  2. | Iri of Sparql_types.iriloc
  3. | Inv of path
  4. | Alt of path * path
  5. | Seq of path * path
  6. | ZeroOrMore of path
  7. | OneOrMore of path
  8. | ZeroOrOne of path
  9. | NPS of Sparql_types.iriloc list
type algebra =
  1. | BGP of triple list
  2. | Join of algebra * algebra
  3. | LeftJoin of algebra * algebra * filter list
  4. | Filter of algebra * filter list
  5. | Union of algebra * algebra
  6. | Graph of Sparql_types.var_or_iri * algebra
  7. | Extend of algebra * Sparql_types.var * Sparql_types.expression
  8. | Minus of algebra * algebra
  9. | ToMultiset of algebra
  10. | DataToMultiset of Sparql_types.datablock
  11. | Group of Sparql_types.group_condition list * algebra
  12. | Aggregation of Sparql_types.aggregate
  13. | AggregateJoin of algebra * algebra list
  14. | Project of algebra * VS.t
  15. | Distinct of algebra
  16. | Reduced of algebra
  17. | Slice of algebra * int option * int option
  18. | OrderBy of algebra * Sparql_types.order_condition list
val visible_vars : query -> VS.t
val fresh_var : unit -> Sparql_types.var
val path_iri_first : path
val path_iri_rest : path
val iri_nil : T.iri
val iri_type : Sparql_types.iriloc
val path_iri_type : path
val translate_path : Sparql_types.path -> path
val translate_path_sequence : Sparql_types.path_sequence -> path
val translate_path_elt_or_inverse : T.path_elt_or_inverse -> path
val translate_path_elt : T.path_elt -> path
val translate_path_primary : Sparql_types.path_primary -> path
val partition_path_one_in_prop_set : Sparql_types.path_one_in_prop_set list -> Sparql_types.iriloc list * Sparql_types.iriloc list
val translate_property_path_pattern : (T.var_or_term * path * T.var_or_term) list -> (T.var_or_term * path * T.var_or_term) -> (T.var_or_term * path * T.var_or_term) list
val translate_property_path_patterns : triple list -> (T.var_or_term * path * T.var_or_term) list
val build_triples_path : T.var_or_term -> triple list -> T.prop_object_list -> triple list
val build_triples_prop_graph_node : T.var_or_term -> path -> triple list -> Sparql_types.object_ -> triple list
val build_triples_path_collection : triple list -> T.var_or_term -> Sparql_types.object_ list -> triple list
val translate_triples_same_subject_path : triple list -> T.triples_same_subject -> (T.var_or_term * path * T.var_or_term) list
val translate_ggp : T.group_graph_pattern -> algebra
val translate_subselect : Sparql_types.sub_select -> algebra
val translate_ggp_sub : Sparql_types.ggp_sub -> algebra
val translate_triples_block : T.triples_block -> algebra
val translate_union : T.group_graph_pattern list -> algebra
val translate_service : T.service_graph_pattern -> algebra
val translate_inline_data : T.datablock -> algebra
val has_implicit_grouping : query -> bool
val aggregation_step : query -> algebra -> algebra * (Sparql_types.var * Sparql_types.expression) list * query
val translate_query_level : query -> algebra
val p : Stdlib.Buffer.t -> string -> unit
val string_of_var : Sparql_types.var -> string
val string_of_var_or_term : Sparql_types.var_or_term -> string
val string_of_path : path -> string
val string_of_triple : (Sparql_types.var_or_term * path * Sparql_types.var_or_term) -> string
val print_triple : string -> Stdlib.Buffer.t -> (Sparql_types.var_or_term * path * Sparql_types.var_or_term) -> unit
val print_triples : string -> Stdlib.Buffer.t -> (Sparql_types.var_or_term * path * Sparql_types.var_or_term) list -> unit
val print_expr : Stdlib.Buffer.t -> Sparql_types.expression -> unit
val print_group_condition : Stdlib.Buffer.t -> Sparql_types.group_condition -> unit
val print_order_cond : Stdlib.Buffer.t -> Sparql_types.order_condition -> unit
val print_order_conds : Stdlib.Buffer.t -> Sparql_types.order_condition list -> unit
val print : string -> Stdlib.Buffer.t -> algebra -> unit
val string_of_algebra : algebra -> string