use of org.apache.jena.sparql.engine.iterator.QueryIterAbortable in project jena by apache.
the class PatternMatchData method execute.
/**
* Non-reordering execution of a triple pattern (basic graph pattern),
* given an iterator of bindings as input.
*/
public static QueryIterator execute(Graph graph, BasicPattern pattern, QueryIterator input, Predicate<Triple> filter, ExecutionContext execCxt) {
List<Triple> triples = pattern.getList();
Iterator<Binding> chain = input;
List<Abortable> killList = new ArrayList<>();
for (Triple triple : triples) {
// Plain, no RDF-star
// chain = StageMatchTriple.accessTriple(chain, graph, triple, filter, execCxt);
// [Match] Missing filter.
chain = SolverRX3.rdfStarTriple(chain, triple, execCxt);
chain = SolverLib.makeAbortable(chain, killList);
}
// "killList" will be aborted on timeout.
return new QueryIterAbortable(chain, killList, input, execCxt);
}
Aggregations