Java Code Examples for org.eclipse.rdf4j.query.algebra.LeftJoin#replaceWith()
The following examples show how to use
org.eclipse.rdf4j.query.algebra.LeftJoin#replaceWith() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: FederationJoinOptimizer.java From rdf4j with BSD 3-Clause "New" or "Revised" License | 6 votes |
private void addOwners(LeftJoin node, RepositoryConnection leftOwner, RepositoryConnection rightOwner, boolean local) { if (leftOwner == null && rightOwner == null) { if (local) { TupleExpr union = null; for (RepositoryConnection member : members) { OwnedTupleExpr arg = new OwnedTupleExpr(member, // NOPMD node.clone()); union = union == null ? arg : new Union(union, arg); // NOPMD } node.replaceWith(union); } } else if (leftOwner == rightOwner) { // NOPMD node.replaceWith(new OwnedTupleExpr(leftOwner, node.clone())); } else { if (local) { addDistinctOwnersLocal(node, leftOwner, rightOwner); } else { addDistinctOwnersNonLocal(node, leftOwner, rightOwner); } } }
Example 2
Source File: GenericInfoOptimizer.java From rdf4j with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override public void meet(LeftJoin node) throws OptimizationException { /** * Wrap the left join in order to keep a reference to the query info object */ FedXLeftJoin join = new FedXLeftJoin(node, queryInfo); join.visitChildren(this); node.replaceWith(join); }
Example 3
Source File: QueryModelPruner.java From rdf4j with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override public void meet(LeftJoin leftJoin) { super.meet(leftJoin); TupleExpr leftArg = leftJoin.getLeftArg(); TupleExpr rightArg = leftJoin.getRightArg(); ValueExpr condition = leftJoin.getCondition(); if (leftArg instanceof EmptySet) { leftJoin.replaceWith(leftArg); } else if (rightArg instanceof EmptySet) { leftJoin.replaceWith(leftArg); } else if (rightArg instanceof SingletonSet) { leftJoin.replaceWith(leftArg); } else if (condition instanceof ValueConstant) { boolean conditionValue; try { conditionValue = QueryEvaluationUtil .getEffectiveBooleanValue(((ValueConstant) condition).getValue()); } catch (ValueExprEvaluationException e) { conditionValue = false; } if (conditionValue) { leftJoin.setCondition(null); } else { // Constraint is always false leftJoin.replaceWith(leftArg); } } }
Example 4
Source File: QueryModelPruner.java From rdf4j with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override public void meet(LeftJoin leftJoin) { super.meet(leftJoin); TupleExpr leftArg = leftJoin.getLeftArg(); TupleExpr rightArg = leftJoin.getRightArg(); ValueExpr condition = leftJoin.getCondition(); if (leftArg instanceof EmptySet) { leftJoin.replaceWith(leftArg); } else if (rightArg instanceof EmptySet) { leftJoin.replaceWith(leftArg); } else if (rightArg instanceof SingletonSet) { leftJoin.replaceWith(leftArg); } else if (condition instanceof ValueConstant) { boolean conditionValue; try { conditionValue = QueryEvaluationUtil .getEffectiveBooleanValue(((ValueConstant) condition).getValue()); } catch (ValueExprEvaluationException e) { conditionValue = false; } if (conditionValue == false) { // Constraint is always false leftJoin.replaceWith(leftArg); } else { leftJoin.setCondition(null); } } }
Example 5
Source File: QueryModelNormalizer.java From rdf4j with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override public void meet(LeftJoin leftJoin) { super.meet(leftJoin); TupleExpr leftArg = leftJoin.getLeftArg(); TupleExpr rightArg = leftJoin.getRightArg(); ValueExpr condition = leftJoin.getCondition(); if (leftArg instanceof EmptySet) { leftJoin.replaceWith(leftArg); } else if (rightArg instanceof EmptySet) { leftJoin.replaceWith(leftArg); } else if (rightArg instanceof SingletonSet) { leftJoin.replaceWith(leftArg); } else if (condition instanceof ValueConstant) { boolean conditionValue; try { conditionValue = QueryEvaluationUtil.getEffectiveBooleanValue(((ValueConstant) condition).getValue()); } catch (ValueExprEvaluationException e) { conditionValue = false; } if (conditionValue == false) { // Constraint is always false leftJoin.replaceWith(leftArg); } else { leftJoin.setCondition(null); } } }