Package org.eclipse.rdf4j.queryrender
Class BaseTupleExprRenderer
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor<Exception>
-
- org.eclipse.rdf4j.queryrender.BaseTupleExprRenderer
-
- All Implemented Interfaces:
QueryModelVisitor<Exception>
- Direct Known Subclasses:
SparqlQueryRenderer
,SparqlTupleExprRenderer
public abstract class BaseTupleExprRenderer extends AbstractQueryModelVisitor<Exception>
Base class for rendering RDF4J query API objects into strings.
- Author:
- Michael Grove
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
mDistinct
Whether or not the query is distinctprotected Map<String,ValueExpr>
mExtensions
A map of the extensions specified in the query.protected long
mLimit
The limit of results for the query, or -1 for no limitprotected long
mOffset
The query offset, or -1 for no offsetprotected List<OrderElem>
mOrdering
The elements specified in the order by clause of the queryprotected List<ProjectionElemList>
mProjection
The list of elements include in the projection of the queryprotected boolean
mReduced
Whether or not the query is reduced
-
Constructor Summary
Constructors Constructor Description BaseTupleExprRenderer()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Map<String,ValueExpr>
getExtensions()
long
getLimit()
long
getOffset()
List<OrderElem>
getOrdering()
List<ProjectionElemList>
getProjection()
boolean
isDistinct()
boolean
isReduced()
protected boolean
isSelect()
Returns whether or not the results of scanning the query model indicates that this represents a select querystatic boolean
isSPOElemList(ProjectionElemList theList)
Return whether or not this projection looks like an spo binding for a construct queryvoid
meet(Distinct theDistinct)
void
meet(ExtensionElem theExtensionElem)
void
meet(OrderElem theOrderElem)
void
meet(ProjectionElemList theProjectionElemList)
void
meet(Reduced theReduced)
void
meet(Slice theSlice)
void
meet(StatementPattern theStatementPattern)
abstract String
render(TupleExpr theExpr)
Render the TupleExpr as a query or query fragment depending on what kind of TupleExpr it isString
render(ParsedQuery theQuery)
Render the ParsedQuery as a query stringprotected abstract String
renderValueExpr(ValueExpr theExpr)
Render the given ValueExprvoid
reset()
Reset the state of the rendererstatic String
scrubVarName(String theName)
Scrub any illegal characters out of the variable nameStatementPattern
toStatementPattern(ProjectionElemList theList)
Turn a ProjectionElemList for a construct query projection (three elements aliased as 'subject', 'predicate' and 'object' in that order) into a StatementPattern.-
Methods inherited from class org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor
meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetNode, meetOther, meetSubQueryValueOperator, meetUnaryTupleOperator, meetUnaryValueOperator, meetUpdateExpr
-
-
-
-
Field Detail
-
mExtensions
protected Map<String,ValueExpr> mExtensions
A map of the extensions specified in the query.
-
mProjection
protected List<ProjectionElemList> mProjection
The list of elements include in the projection of the query
-
mOrdering
protected List<OrderElem> mOrdering
The elements specified in the order by clause of the query
-
mDistinct
protected boolean mDistinct
Whether or not the query is distinct
-
mReduced
protected boolean mReduced
Whether or not the query is reduced
-
mLimit
protected long mLimit
The limit of results for the query, or -1 for no limit
-
mOffset
protected long mOffset
The query offset, or -1 for no offset
-
-
Method Detail
-
reset
public void reset()
Reset the state of the renderer
-
getProjection
public List<ProjectionElemList> getProjection()
-
isDistinct
public boolean isDistinct()
-
isReduced
public boolean isReduced()
-
getLimit
public long getLimit()
-
getOffset
public long getOffset()
-
render
public String render(ParsedQuery theQuery) throws Exception
Render the ParsedQuery as a query string- Parameters:
theQuery
- the parsed query to render- Returns:
- the query object rendered in the query language syntax
- Throws:
Exception
- if there is an error while rendering
-
render
public abstract String render(TupleExpr theExpr) throws Exception
Render the TupleExpr as a query or query fragment depending on what kind of TupleExpr it is- Parameters:
theExpr
- the expression to render- Returns:
- the TupleExpr rendered in the query language syntax
- Throws:
Exception
- if there is an error while rendering
-
renderValueExpr
protected abstract String renderValueExpr(ValueExpr theExpr) throws Exception
Render the given ValueExpr- Parameters:
theExpr
- the expr to render- Returns:
- the rendered expression
- Throws:
Exception
- if there is an error while rendering
-
toStatementPattern
public StatementPattern toStatementPattern(ProjectionElemList theList) throws Exception
Turn a ProjectionElemList for a construct query projection (three elements aliased as 'subject', 'predicate' and 'object' in that order) into a StatementPattern.- Parameters:
theList
- the elem list to render- Returns:
- the elem list for a construct projection as a statement pattern
- Throws:
Exception
- if there is an exception while rendering
-
scrubVarName
public static String scrubVarName(String theName)
Scrub any illegal characters out of the variable name- Parameters:
theName
- the potential variable name- Returns:
- the name scrubbed of any illegal characters
-
isSelect
protected boolean isSelect()
Returns whether or not the results of scanning the query model indicates that this represents a select query- Returns:
- true if its a select query, false if its a construct query
-
isSPOElemList
public static boolean isSPOElemList(ProjectionElemList theList)
Return whether or not this projection looks like an spo binding for a construct query- Parameters:
theList
- the projection element list to inspect- Returns:
- true if it has the format of a spo construct projection element, false otherwise
-
meet
public void meet(StatementPattern theStatementPattern) throws Exception
- Specified by:
meet
in interfaceQueryModelVisitor<Exception>
- Overrides:
meet
in classAbstractQueryModelVisitor<Exception>
- Throws:
Exception
-
meet
public void meet(Slice theSlice) throws Exception
- Specified by:
meet
in interfaceQueryModelVisitor<Exception>
- Overrides:
meet
in classAbstractQueryModelVisitor<Exception>
- Throws:
Exception
-
meet
public void meet(ExtensionElem theExtensionElem) throws Exception
- Specified by:
meet
in interfaceQueryModelVisitor<Exception>
- Overrides:
meet
in classAbstractQueryModelVisitor<Exception>
- Throws:
Exception
-
meet
public void meet(ProjectionElemList theProjectionElemList) throws Exception
- Specified by:
meet
in interfaceQueryModelVisitor<Exception>
- Overrides:
meet
in classAbstractQueryModelVisitor<Exception>
- Throws:
Exception
-
meet
public void meet(OrderElem theOrderElem) throws Exception
- Specified by:
meet
in interfaceQueryModelVisitor<Exception>
- Overrides:
meet
in classAbstractQueryModelVisitor<Exception>
- Throws:
Exception
-
meet
public void meet(Distinct theDistinct) throws Exception
- Specified by:
meet
in interfaceQueryModelVisitor<Exception>
- Overrides:
meet
in classAbstractQueryModelVisitor<Exception>
- Throws:
Exception
-
meet
public void meet(Reduced theReduced) throws Exception
- Specified by:
meet
in interfaceQueryModelVisitor<Exception>
- Overrides:
meet
in classAbstractQueryModelVisitor<Exception>
- Throws:
Exception
-
-