sparql_runtime.pl -- SPARQL runtime support
- sparql_true(+Term)
- Generated from FILTER Term, where Term must be converted to a boolean as 'Effective Boolean Value'.
- sparql_eval(+Expr, -Results)
- Evaluate a SPARQL expression.
- sparql_eval_raw(+Expr, -Result)
- Same as sparql_eval/2, but return the raw result.
- sparql_find(?From, ?To, ?F, ?T, :Q) is nondet
- Implement *(PropertyPath). We should probably collect translated
queries in a dynamic predicate to avoid the copy_term. Also, Q
will quite often be simple. In that case we can map to
rdf_reachable/3, although one of the problems is that
rdf_reachable/3 uses rdf_has/3, and does not deal with graphs.
We should be a bit smarter here and choose between forward, backward, two-sided breath-first, etc. based on which start point is given.
- sparql_minus(:QLeft, :QRight)
- Realise SPARQL
MINUS
. This is defined to- Take the variables of QLeft
- Determine the result-set for these variables for both QLeft and QRight
- Substract those from QLeft that are in QRight
- sparql_group(:Goal)
- Same as call. Intended to keep groups together to avoid invalid optimizations.
- sparql_group(:Goal, +OuterVars, +InnerVars)
- Execute a group that contains non-steadfast variables, which asks for delayed unification of the output arguments.
- sparql_service(+Silent, +URL, +Prefixes, +Bindings, +QText)
- Execute a remote SPARQL SERVICE request
- sparql_reset_bnodes
- Reset the database for the BNODE(str) function
- sparql_simplify(:Goal, -Simple) is det
- Simplify goals to the SPARQL runtime functions before they are handed to the general optimizer and runtime evaluation.
- sparql_subquery(+Proj, :Query, +Solutions) is nondet
- Execute a SPARQL subquery.
- sparql_update(:Updates) is det
- Handle SPARQL update requests.