Class TransformPathFlattenAlgebra

java.lang.Object
org.apache.jena.sparql.algebra.TransformCopy
org.apache.jena.sparql.algebra.optimize.TransformPathFlattenAlgebra
All Implemented Interfaces:
Transform

public class TransformPathFlattenAlgebra extends TransformCopy
The path transformation step mostly per the SPARQL 1.1 spec with some enhancement e.g. expanding alternative paths into unions.

It does not necessarily produce very nice execution structures so ARQ uses a functionally equivalent, but different, transformation, see TransformPathFlatten, although that transformation covers fewer cases than this. Some of the rough edges of this transform are however smoothed out by subsequent application of other transforms e.g. TransformMergeBGPs in the standard optimiser (see OptimizerStd)

However, for users who are using property paths in their queries heavily there may be benefits to using this transform over the default one. The ARQ.optPathFlattenAlgebra symbol can be set in an ARQ context to enable this transform in preference to the default transform.

  • Constructor Details

    • TransformPathFlattenAlgebra

      public TransformPathFlattenAlgebra()
  • Method Details