Class TransformSE_JoinStrategy
java.lang.Object
org.apache.jena.sparql.algebra.TransformCopy
org.apache.jena.sparql.service.enhancer.algebra.TransformSE_JoinStrategy
- All Implemented Interfaces:
org.apache.jena.sparql.algebra.Transform
public class TransformSE_JoinStrategy
extends org.apache.jena.sparql.algebra.TransformCopy
Checks for the presence of
SERVICE <loop:> { }
transforms those into linear joins using OpSequence
/ OpDisjunction
and adjust variable scopes.
All variables mentioned on the rhs which have the same reverse-renaming as variables
visible on the lhs will be substituted with the lhs variant.-
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 org.apache.jena.sparql.graph.NodeTransform
renameForImplicitJoinVars
(Set<org.apache.jena.sparql.core.Var> visibleInLhs) static org.apache.jena.sparql.graph.NodeTransform
renameForImplicitJoinVars
(org.apache.jena.sparql.algebra.Op left) Remove scoping of all mentioned rhs variables which implicitly join with those visible on the lhs: Join on all variables v that are visible in lhs where there exists a mentioned variable v' in rhs where reverseRename(v) == reverseRename(v')org.apache.jena.sparql.algebra.Op
transform
(org.apache.jena.sparql.algebra.op.OpDisjunction opSequence, List<org.apache.jena.sparql.algebra.Op> elts) org.apache.jena.sparql.algebra.Op
transform
(org.apache.jena.sparql.algebra.op.OpJoin opJoin, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right) org.apache.jena.sparql.algebra.Op
transform
(org.apache.jena.sparql.algebra.op.OpLeftJoin opLeftJoin, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right) org.apache.jena.sparql.algebra.Op
transform
(org.apache.jena.sparql.algebra.op.OpSequence opSequence, List<org.apache.jena.sparql.algebra.Op> elts) 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
-
Constructor Details
-
TransformSE_JoinStrategy
public TransformSE_JoinStrategy()
-
-
Method Details
-
transform
public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpJoin opJoin, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right) - Specified by:
transform
in interfaceorg.apache.jena.sparql.algebra.Transform
- Overrides:
transform
in classorg.apache.jena.sparql.algebra.TransformCopy
-
transform
public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpSequence opSequence, List<org.apache.jena.sparql.algebra.Op> elts) - Specified by:
transform
in interfaceorg.apache.jena.sparql.algebra.Transform
- Overrides:
transform
in classorg.apache.jena.sparql.algebra.TransformCopy
-
transform
public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpDisjunction opSequence, List<org.apache.jena.sparql.algebra.Op> elts) - Specified by:
transform
in interfaceorg.apache.jena.sparql.algebra.Transform
- Overrides:
transform
in classorg.apache.jena.sparql.algebra.TransformCopy
-
transform
public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpLeftJoin opLeftJoin, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right) - Specified by:
transform
in interfaceorg.apache.jena.sparql.algebra.Transform
- Overrides:
transform
in classorg.apache.jena.sparql.algebra.TransformCopy
-
renameForImplicitJoinVars
public static org.apache.jena.sparql.graph.NodeTransform renameForImplicitJoinVars(org.apache.jena.sparql.algebra.Op left) Remove scoping of all mentioned rhs variables which implicitly join with those visible on the lhs: Join on all variables v that are visible in lhs where there exists a mentioned variable v' in rhs where reverseRename(v) == reverseRename(v') -
renameForImplicitJoinVars
public static org.apache.jena.sparql.graph.NodeTransform renameForImplicitJoinVars(Set<org.apache.jena.sparql.core.Var> visibleInLhs)
-