union.setRightArg(magicPropertyNode);
union.setRightArg(magicPropertyNode);
Union union = new InferUnion(); union.setLeftArg(sp); union.setRightArg(new StatementPattern(objVar, predVar, subjVar, cntxtVar)); node.replaceWith(union);
Union union = new InferUnion(); union.setLeftArg(sp); union.setRightArg(new StatementPattern(objVar, new Var(predVar.getName(), invPropIri), subjVar, cntxtVar)); node.replaceWith(union);
pathAltNode.jjtGetChild(i + 1).jjtAccept(this, data); arg = graphPattern.buildTupleExpr(); currentUnion.setRightArg(arg); currentUnion.setRightArg(newUnion); currentUnion = newUnion;
pathAltNode.jjtGetChild(i + 1).jjtAccept(this, data); arg = graphPattern.buildTupleExpr(); currentUnion.setRightArg(arg); currentUnion.setRightArg(newUnion); currentUnion = newUnion;
if (length == upperBound - 1) { path = createPath(scope, subjVar, te, endVar, contextVar, length + 1); currentUnion.setRightArg(path); currentUnion.setRightArg(nextUnion); currentUnion = nextUnion;
if (length == upperBound - 1) { path = createPath(scope, subjVar, te, endVar, contextVar, length + 1); currentUnion.setRightArg(path); currentUnion.setRightArg(nextUnion); currentUnion = nextUnion;
pathAltNode.jjtGetChild(i + 1).jjtAccept(this, data); arg = graphPattern.buildTupleExpr(); currentUnion.setRightArg(arg); currentUnion.setRightArg(newUnion); currentUnion = newUnion;
if (length == upperBound - 1) { path = createPath(scope, subjVar, te, endVar, contextVar, length + 1); currentUnion.setRightArg(path); currentUnion.setRightArg(nextUnion); currentUnion = nextUnion;
@Override public void meet(Union union) { super.meet(union); TupleExpr leftArg = union.getLeftArg(); TupleExpr rightArg = union.getRightArg(); if (leftArg instanceof Join && rightArg instanceof Join) { Join leftJoinArg = (Join)leftArg; Join rightJoin = (Join)rightArg; if (leftJoinArg.getLeftArg().equals(rightJoin.getLeftArg())) { // factor out the left-most join argument Join newJoin = new Join(); union.replaceWith(newJoin); newJoin.setLeftArg(leftJoinArg.getLeftArg()); newJoin.setRightArg(union); union.setLeftArg(leftJoinArg.getRightArg()); union.setRightArg(rightJoin.getRightArg()); union.visit(this); } } } }
@Override public void meet(Union union) { super.meet(union); TupleExpr leftArg = union.getLeftArg(); TupleExpr rightArg = union.getRightArg(); if (leftArg instanceof Join && rightArg instanceof Join) { Join leftJoinArg = (Join)leftArg; Join rightJoin = (Join)rightArg; if (leftJoinArg.getLeftArg().equals(rightJoin.getLeftArg())) { // factor out the left-most join argument Join newJoin = new Join(); union.replaceWith(newJoin); newJoin.setLeftArg(leftJoinArg.getLeftArg()); newJoin.setRightArg(union); union.setLeftArg(leftJoinArg.getRightArg()); union.setRightArg(rightJoin.getRightArg()); union.visit(this); } } } }