Module org.apache.jena.arq
Class TransformPathFlattenAlgebra
java.lang.Object
org.apache.jena.sparql.algebra.TransformCopy
org.apache.jena.sparql.algebra.optimize.TransformPathFlattenAlgebra
- All Implemented Interfaces:
Transform
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.
-
Field Summary
Fields inherited from class org.apache.jena.sparql.algebra.TransformCopy
COPY_ALWAYS, COPY_ONLY_ON_CHANGE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
Testing use only.Methods inherited from class org.apache.jena.sparql.algebra.TransformCopy
transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform
-
Constructor Details
-
TransformPathFlattenAlgebra
public TransformPathFlattenAlgebra()
-
-
Method Details
-
resetForTest
public static void resetForTest()Testing use only. -
transform
- Specified by:
transform
in interfaceTransform
- Overrides:
transform
in classTransformCopy
-