public class ASTConstructIterator extends Object implements info.aduna.iteration.CloseableIteration<BigdataStatement,org.openrdf.query.QueryEvaluationException>
ConstructNode
. Ground triples in the template are output
immediately. Any non-ground triples are output iff they are fully (and
validly) bound for a given solution. Blank nodes are scoped to a solution.
Note: This supports construct of quads, but the SPARQL grammar does not.
Modifier and Type | Field and Description |
---|---|
static boolean |
flagToCheckNativeDistinctQuadsInvocationForJUnitTesting |
Constructor and Description |
---|
ASTConstructIterator(AST2BOpContext context,
AbstractTripleStore tripleStore,
ConstructNode construct,
GraphPatternGroup<?> whereClause,
Map<String,BigdataBNode> bnodesIn,
info.aduna.iteration.CloseableIteration<org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException> src) |
public static boolean flagToCheckNativeDistinctQuadsInvocationForJUnitTesting
public ASTConstructIterator(AST2BOpContext context, AbstractTripleStore tripleStore, ConstructNode construct, GraphPatternGroup<?> whereClause, Map<String,BigdataBNode> bnodesIn, info.aduna.iteration.CloseableIteration<org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException> src)
tripleStore
- construct
- The ConstructNode
whereClause
- The WHERE clause (used to identify construct templates which
obviously produce DISTINCT triples).bnodes
- A mapping from bnode IDs to BigdataBNode
s that will be
imposed (optional). This MUST be null
when the
top-level operation is a CONSTRUCT since the semantics of
CONSTRUCT require that blank node ID
assignments are scoped to the solution. However, when a
DESCRIBE query is rewritten into a CONSTRUCT, the blank node
identifier mappings must be scoped to the response graph. For
a DESCRIBE that uses a recursive expansion (CBD, etc.), the
blank node IDs must be scoped to the entire response, not just
the individual DESCRIBE queries that are issued in support of
the top-level DESCRIBE request.src
- The solutions that will be used to construct the triples.public boolean hasNext() throws org.openrdf.query.QueryEvaluationException
hasNext
in interface info.aduna.iteration.Iteration<BigdataStatement,org.openrdf.query.QueryEvaluationException>
org.openrdf.query.QueryEvaluationException
public BigdataStatement next() throws org.openrdf.query.QueryEvaluationException
next
in interface info.aduna.iteration.Iteration<BigdataStatement,org.openrdf.query.QueryEvaluationException>
org.openrdf.query.QueryEvaluationException
public void close() throws org.openrdf.query.QueryEvaluationException
close
in interface info.aduna.iteration.CloseableIteration<BigdataStatement,org.openrdf.query.QueryEvaluationException>
org.openrdf.query.QueryEvaluationException
public void remove() throws org.openrdf.query.QueryEvaluationException
remove
in interface info.aduna.iteration.Iteration<BigdataStatement,org.openrdf.query.QueryEvaluationException>
org.openrdf.query.QueryEvaluationException
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.