The transformation context
The operator to fold
Its arguments, already substituted into
The variables known to be bound here, which is the only thing that makes
sameTerm(?x, ?x) decidable: it is true of a bound ?x and an error of an unbound one
the folded expression, or the operator rebuilt over its arguments
Constant-folds an operator expression whose arguments are (partly) constant.
Only deterministic, side-effect free operators may be folded:
rand,uuid,struuid,bnodeandnowmust survive to evaluation, and anything not listed is rebuilt unchanged. Only the folds sound under SPARQL's error handling are applied - notably=folds totruefor two identical terms but never tofalse, comparing unsupported datatypes raising an error, and an error is notfalsein every context (COALESCE(Error, false, true) == false).