Rdf.Sparql_algebraSourcetype error = | Variable_already_defined of Sparql_types.var| Unknown_prefix of Sparql_types.pname_nstype query = {query_proj : Sparql_types.select_clause option;query_where : Sparql_types.group_graph_pattern;query_modifier : Sparql_types.solution_modifier;query_values : Sparql_types.values_clause;}type path = | Var of Sparql_types.var| Iri of Sparql_types.iriloc| Inv of path| Alt of path * path| Seq of path * path| ZeroOrMore of path| OneOrMore of path| ZeroOrOne of path| NPS of Sparql_types.iriloc listtype algebra = | BGP of triple list| Join of algebra * algebra| LeftJoin of algebra * algebra * filter list| Filter of algebra * filter list| Union of algebra * algebra| Graph of Sparql_types.var_or_iri * algebra| Extend of algebra * Sparql_types.var * Sparql_types.expression| Minus of algebra * algebra| ToMultiset of algebra| DataToMultiset of Sparql_types.datablock| Group of Sparql_types.group_condition list * algebra| Aggregation of Sparql_types.aggregate| AggregateJoin of algebra * algebra list| Project of algebra * VS.t| Distinct of algebra| Reduced of algebra| Slice of algebra * int option * int option| OrderBy of algebra * Sparql_types.order_condition listval collect_and_remove_filters :
Sparql_types.graph_pattern_elt list ->
Sparql_types.constraint_ list * Sparql_types.graph_pattern_elt listval partition_path_one_in_prop_set :
Sparql_types.path_one_in_prop_set list ->
Sparql_types.iriloc list * Sparql_types.iriloc listval 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) listval translate_property_path_patterns :
triple list ->
(T.var_or_term * path * T.var_or_term) listval build_triples_prop_graph_node :
T.var_or_term ->
path ->
triple list ->
Sparql_types.object_ ->
triple listval build_triples_path_collection :
triple list ->
T.var_or_term ->
Sparql_types.object_ list ->
triple listval translate_triples_same_subject_path :
triple list ->
T.triples_same_subject ->
(T.var_or_term * path * T.var_or_term) listval aggregation_step :
query ->
algebra ->
algebra * (Sparql_types.var * Sparql_types.expression) list * queryval print_triple :
string ->
Buffer.t ->
(Sparql_types.var_or_term * path * Sparql_types.var_or_term) ->
unitval print_triples :
string ->
Buffer.t ->
(Sparql_types.var_or_term * path * Sparql_types.var_or_term) list ->
unit