LUPOSDATE Logo

Rule Documentation

All Packages - Package Correct Operatorgraph - Package Logical Optimization - Package Physical OptimizationFRAMES - NO FRAMES

Rule Push Filter

Short Description:

Filter operators never increase, but reduce the number of intermediate results in most times. Thus, it is important for the performance to evaluate a filter expression as early as possible. This rule pushes a filter operator upwards in the operator graph whenever possible.

See also:

Factor out AND in Filter

Long Description:

The filter is copied over its preceding operator, if the preceding operator is not a triple pattern or an (RDF3X/Hexastore) Index-operator. The filter operator is copied to those operands of the preceding operator, which bind all variables occurring in the filter expression. If the preceding operator is an Union operator, the filter operator is only copied if it can be moved to all of its operands. Currently, the filter is not moved in the case that the preceding operator is an Optional operator. The original filter is deleted if all the operand operators O1 to On of its preceding operator bind all of the used variables of the filter, or if the preceding operator is a Join operator.

The following figure contains the graphical representation of the transformation rule.


Push Filter
All Packages - Package Correct Operatorgraph - Package Logical Optimization - Package Physical OptimizationFRAMES - NO FRAMES