@Override protected void meetNode(QueryModelNode node) { if (node instanceof TupleExpr && node != nodeToIgnore) { TupleExpr tupleExpr = (TupleExpr)node; bindingNames.addAll(tupleExpr.getBindingNames()); } } }
public Set<String> getBindingNames() { Set<String> bindingNames = new LinkedHashSet<String>(16); bindingNames.addAll(getLeftArg().getBindingNames()); bindingNames.addAll(getRightArg().getBindingNames()); return bindingNames; }
@Override public Set<String> getBindingNames() { Set<String> bindingNames = new LinkedHashSet<String>(arg.getBindingNames()); for (ExtensionElem pe : elements) { bindingNames.add(pe.getName()); } return bindingNames; }
public Set<String> getBindingNames() { Set<String> bindingNames = new LinkedHashSet<String>(16); bindingNames.addAll(getLeftArg().getBindingNames()); bindingNames.addAll(getRightArg().getBindingNames()); return bindingNames; }
public HashJoinIteration(EvaluationStrategy strategy, TupleExpr left, TupleExpr right, BindingSet bindings, boolean leftJoin) throws QueryEvaluationException { leftIter = strategy.evaluate(left, bindings); rightIter = strategy.evaluate(right, bindings); Set<String> joinAttributeNames = left.getBindingNames(); joinAttributeNames.retainAll(right.getBindingNames()); joinAttributes = joinAttributeNames.toArray(new String[joinAttributeNames.size()]); this.leftJoin = leftJoin; }
public Set<String> getBindingNames() { Set<String> bindingNames = new LinkedHashSet<String>(16); bindingNames.addAll(getLeftArg().getBindingNames()); bindingNames.retainAll(getRightArg().getBindingNames()); return bindingNames; }
public void removeArg(TupleExpr te) { if (te instanceof FlattenedOptional) { return; } decrementVarCounts(te.getBindingNames()); }
public Set<String> getBindingNames() { Set<String> bindingNames = new LinkedHashSet<String>(16); for (TupleExpr arg : getArgs()) { bindingNames.addAll(arg.getBindingNames()); } return bindingNames; }
public Set<String> getBindingNames() { Set<String> bindingNames = new LinkedHashSet<String>(16); bindingNames.addAll(getLeftArg().getBindingNames()); bindingNames.addAll(getRightArg().getBindingNames()); return bindingNames; }
public BottomUpJoinIterator(EvaluationStrategy strategy, Join join, BindingSet bindings) throws QueryEvaluationException { leftIter = strategy.evaluate(join.getLeftArg(), bindings); rightIter = strategy.evaluate(join.getRightArg(), bindings); joinAttributes = join.getLeftArg().getBindingNames(); joinAttributes.retainAll(join.getRightArg().getBindingNames()); hashTable = null; }
@Override public CloseableIteration<BindingSet, QueryEvaluationException> query( final SelectQuery query, @Nullable final BindingSet bindings, @Nullable final Long timeout) throws IOException, UnsupportedOperationException { return RewritingTripleStore.this.out.rewriteBindings(// ImmutableList.copyOf(query.getExpression().getBindingNames()), // super.query(RewritingTripleStore.this.in.rewriteQuery(query), RewritingTripleStore.this.in.rewriteBindings(bindings), timeout)); }
@Override public void meet(Extension node) { if (node.getArg().getBindingNames().containsAll(filterVars)) { node.getArg().visit(this); } else { relocate(filter, node); } }
@Override public void meet(LeftJoin leftJoin) { if (leftJoin.getLeftArg().getBindingNames().containsAll(filterVars)) { leftJoin.getLeftArg().visit(this); } else { relocate(filter, leftJoin); } }
@Override protected void meetNode(final QueryModelNode node) { // By default, do not traverse assert node instanceof TupleExpr; if (node instanceof UnaryTupleOperator) { if (((UnaryTupleOperator) node).getArg().getBindingNames() .containsAll(filterVars)) { ((UnaryTupleOperator) node).getArg().visit(this); } } relocate(filter, (TupleExpr) node); }
@Override public void meet(LeftJoin leftJoin) { leftJoin.getLeftArg().visit(this); Set<String> origBoundVars = boundVars; try { boundVars = new HashSet<String>(boundVars); boundVars.addAll(leftJoin.getLeftArg().getBindingNames()); leftJoin.getRightArg().visit(this); } finally { boundVars = origBoundVars; } }
@Override public void meet(Extension node) { if (node.getArg().getBindingNames().containsAll(filterVars)) { node.getArg().visit(this); } else { relocate(filter, node); } }
@Override public void meet(final LeftJoin leftJoin) { if (leftJoin.getLeftArg().getBindingNames().containsAll(filterVars)) { leftJoin.getLeftArg().visit(this); } else { relocate(filter, leftJoin.getLeftArg()); } }
@Override public void meet(final Difference node) { if (Sets.intersection(node.getRightArg().getBindingNames(), filterVars).size() > 0) { relocate(filter, node.getRightArg()); } else if (Sets.intersection(node.getLeftArg().getBindingNames(), filterVars).size() > 0) { final Filter clone = new Filter(filter.getArg(), filter .getCondition().clone()); relocate(clone, node.getLeftArg()); } }
@Override public void meet(final Intersection node) { if (Sets.intersection(node.getRightArg().getBindingNames(), filterVars).size() > 0) { relocate(filter, node.getRightArg()); } else if (Sets.intersection(node.getLeftArg().getBindingNames(), filterVars).size() > 0) { final Filter clone = new Filter(filter.getArg(), filter .getCondition().clone()); relocate(clone, node.getLeftArg()); } }
@Override public TupleQueryResult evaluate() throws QueryEvaluationException { TupleExpr tupleExpr = getParsedQuery().getTupleExpr(); CloseableIteration<? extends BindingSet, QueryEvaluationException> bindingsIter; bindingsIter = AbstractQueryPreparer.this.evaluate(tupleExpr, getActiveDataset(), getBindings(), getIncludeInferred(), getMaxExecutionTime()); bindingsIter = enforceMaxQueryTime(bindingsIter); return new TupleQueryResultImpl(new ArrayList<String>(tupleExpr.getBindingNames()), bindingsIter); }