Class ElementTreeAnalyser
java.lang.Object
org.aksw.jena_sparql_api.sparql_path.core.ElementTreeAnalyser
- All Implemented Interfaces:
org.apache.jena.sparql.syntax.ElementVisitor
public class ElementTreeAnalyser
extends Object
implements org.apache.jena.sparql.syntax.ElementVisitor
Utility class that walks the Elements of an ARQ query tree and collects information that is later used to build an SQL query.
The class provides a different view on the tree of Element instances. In this view, the nodes are ElementTreeAnalyser instances, and the structure of the tree differs in several ways from the Element tree:
- ElementGroups and ElementBlocks are flattened away
- Only OPTIONALs and UNIONs are presented as child nodes
- The difference between ElementTriplePattern and ElementBasePattern is hidden
- Some obvious simplifications have been done, like dropping OPTIONALs that do not bind, or flatten single-element UNIONs
- GRAPH clauses and triples are flattened into triples, quads, and graphNames, where triples are to be matched against the default graph, quads are to be matched against the named graphs, and graphNames are to be matched against the list of graph names, regardless of triples therein.
- Version:
- $Id$
- Author:
- Richard Cyganiak (richard@cyganiak.de)
-
Constructor Summary
ConstructorsConstructorDescriptionElementTreeAnalyser(org.apache.jena.sparql.syntax.Element element) ElementTreeAnalyser(org.apache.jena.sparql.syntax.Element element, org.apache.jena.graph.Node defaultGraphName) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanBind()List<org.apache.jena.sparql.expr.Expr>List<org.apache.jena.graph.Node>List<org.apache.jena.sparql.core.Quad>getQuads()booleanisEmpty()booleanunions()voidvisit(org.apache.jena.sparql.syntax.ElementAntiJoin el) voidvisit(org.apache.jena.sparql.syntax.ElementAssign el) voidvisit(org.apache.jena.sparql.syntax.ElementBind el) voidvisit(org.apache.jena.sparql.syntax.ElementData el) voidvisit(org.apache.jena.sparql.syntax.ElementDataset el) voidvisit(org.apache.jena.sparql.syntax.ElementExists el) voidvisit(org.apache.jena.sparql.syntax.ElementFilter el) voidvisit(org.apache.jena.sparql.syntax.ElementGroup el) voidvisit(org.apache.jena.sparql.syntax.ElementLateral el) voidvisit(org.apache.jena.sparql.syntax.ElementMinus el) voidvisit(org.apache.jena.sparql.syntax.ElementNamedGraph el) voidvisit(org.apache.jena.sparql.syntax.ElementNotExists el) voidvisit(org.apache.jena.sparql.syntax.ElementOptional el) voidvisit(org.apache.jena.sparql.syntax.ElementPathBlock el) voidvisit(org.apache.jena.sparql.syntax.ElementSemiJoin el) voidvisit(org.apache.jena.sparql.syntax.ElementService el) voidvisit(org.apache.jena.sparql.syntax.ElementSubQuery el) voidvisit(org.apache.jena.sparql.syntax.ElementTriplesBlock el) voidvisit(org.apache.jena.sparql.syntax.ElementUnfold el) voidvisit(org.apache.jena.sparql.syntax.ElementUnion el)
-
Constructor Details
-
ElementTreeAnalyser
public ElementTreeAnalyser(org.apache.jena.sparql.syntax.Element element) -
ElementTreeAnalyser
public ElementTreeAnalyser(org.apache.jena.sparql.syntax.Element element, org.apache.jena.graph.Node defaultGraphName)
-
-
Method Details
-
isEmpty
public boolean isEmpty() -
canBind
public boolean canBind() -
mustMatchTriple
public boolean mustMatchTriple() -
getQuads
-
getOptionals
-
getGraphNames
-
getUnions
-
optionals
-
unions
-
getFilterExprs
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementTriplesBlock el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementFilter el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementUnion el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementOptional el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementGroup el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementNamedGraph el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementPathBlock el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementAssign el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementBind el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementData el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementDataset el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementExists el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementNotExists el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementMinus el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementService el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementSubQuery el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementLateral el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementUnfold el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementSemiJoin el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementAntiJoin el) - Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor
-