PublicShow sourcerdf_optimise.pl

Source rdf_optimise(:Goal) is nondet
Optimise Goal and execute the result. Semantically equivalent to call/1.
To be done
- Module handling is not correct.
Source rdf_optimise(+Goal, -Optimized) is det
Goal is a Prolog control-structure with calls to the rdf_db.pl and SeRQL runtime predicates. Optimized is a semantically equivalent goal, obtained by re-ordering conjunctions in Goal and processing sub-queries that do not share variables independently.
Source rdf_db_goal(+Goal, -Subject, -Predicate, -Object)[multifile]
True if Goal is a pure (logical) predicate on the RDF database involving the given Subject, Predicate and Object. Defined multifile, allowing the optimiser to understand user-defined rdf/3 like predicates.
To be done
- Allow specifying different costs and branching factors

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

Source serql_select_bind_null(Arg1, Arg2)
Source rdf_complexity(Arg1, Arg2, Arg3)
Source rdf_optimise(Arg1, Arg2, Arg3, Arg4)