@Override public void visit(ElementSubQuery sq) { Query newsq = primCompile(sq.getQuery(), allVars); result = new ElementSubQuery(newsq); }
@Override public void visit(OpProject opProject) { if (inProject) { // If we've already inside a project then we are reconstructing a sub-query // Create a new converter and call on the sub-op to get the sub-query Converter subConverter = new Converter(opProject); ElementSubQuery subQuery = new ElementSubQuery(subConverter.convert()); ElementGroup g = currentGroup(); g.addElement(subQuery); } else { // Defer adding result vars until the end. // OpGroup generates dupes otherwise this.projectVars = allocProjectVars() ; this.projectVars.addAll(opProject.getVars()); inProject = true; opProject.getSubOp().visit(this) ; inProject = false; } }
protected Op compileElementSubquery(ElementSubQuery eltSubQuery) { subQueryDepth++ ; Op sub = this.compile(eltSubQuery.getQuery()) ; subQueryDepth-- ; return sub ; }
final public Element GroupGraphPattern() throws ParseException { Element el = null ; Token t ; t = jj_consume_token(LBRACE); int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SELECT: startSubSelect(beginLine, beginColumn) ; SubSelect(); Query q = endSubSelect(beginLine, beginColumn) ; el = new ElementSubQuery(q) ; break; default: jj_la1[62] = jj_gen; el = GroupGraphPatternSub(); } jj_consume_token(RBRACE); {if (true) return el ;} throw new Error("Missing return statement in function"); }
@Override public void visit(ElementSubQuery sq) { boolean hasNoPropPaths = rewrite(sq.getQuery(), bestEffort);//primCompile(sq.getQuery(), allVars); if (!hasPropertyPaths) { hasPropertyPaths = !hasNoPropPaths; } result = new ElementSubQuery(sq.getQuery()); }
@Override public void visit(ElementSubQuery el) { check(el.getQuery(), acc) ; super.visit(el) ; } }
final public Element GroupGraphPattern() throws ParseException { Element el = null ; Token t ; t = jj_consume_token(LBRACE); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SELECT: startSubSelect(t.beginLine, t.beginColumn) ; SubSelect(); Query q = endSubSelect(t.beginLine, t.beginColumn) ; el = new ElementSubQuery(q) ; break; default: jj_la1[80] = jj_gen; el = GroupGraphPatternSub(); } jj_consume_token(RBRACE); {if (true) return el ;} throw new Error("Missing return statement in function"); }
@Override public void visit(ElementSubQuery e) { Query sq = e.getQuery(); QueryPatternSimplification qps = new QueryPatternSimplification(); sq.getQueryPattern().visit(qps); Element newelt = qps.getResult(); Query newsq = sq.cloneQuery(); newsq.setQueryPattern(newelt); result = new ElementSubQuery(newsq); }
final public Element GroupGraphPattern() throws ParseException { Element el = null ; Token t ; t = jj_consume_token(LBRACE); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SELECT: startSubSelect(t.beginLine, t.beginColumn) ; SubSelect(); Query q = endSubSelect(t.beginLine, t.beginColumn) ; el = new ElementSubQuery(q) ; break; default: jj_la1[67] = jj_gen; el = GroupGraphPatternSub(); } jj_consume_token(RBRACE); {if (true) return el ;} throw new Error("Missing return statement in function"); }
@Override public void visit(ElementSubQuery e) { Query sq = e.getQuery(); VariableSubstitutionElementVisitor qps = new VariableSubstitutionElementVisitor(oldVar2NewValue); sq.getQueryPattern().visit(qps); Element newelt = qps.getResult(); Query newsq = sq.cloneQuery(); newsq.setQueryPattern(newelt); result = new ElementSubQuery(newsq); }
final public Element GroupGraphPattern() throws ParseException { Element el = null ; Token t ; t = jj_consume_token(LBRACE); int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SELECT: startSubSelect(beginLine, beginColumn) ; SubSelect(); Query q = endSubSelect(beginLine, beginColumn) ; el = new ElementSubQuery(q) ; break; default: jj_la1[63] = jj_gen; el = GroupGraphPatternSub(); } jj_consume_token(RBRACE); {if (true) return el ;} throw new Error("Missing return statement in function"); }
@Override public void visit(ElementSubQuery e) { vars.addAll(PatternVars.vars(e)); e.getQuery().getQueryPattern().visit(this); }
leftSubQuery.addResultVar(subVar); leftSubQuery.setQuerySelectType(); ElementSubQuery leftESubQuery = new ElementSubQuery(leftSubQuery); rightSubQuery.addResultVar(subVar); rightSubQuery.setQuerySelectType(); ElementSubQuery rightESubQuery = new ElementSubQuery(rightSubQuery);
protected Op compileElementSubquery(ElementSubQuery eltSubQuery) { AlgebraGenerator gen = new AlgebraGenerator(context, subQueryDepth+1) ; return gen.compile(eltSubQuery.getQuery()) ; }
public void visit(ElementSubQuery el) { out.print("{ ") ; out.incIndent(INDENT) ; // Messy - prefixes. el.getQuery().serialize(out) ; out.decIndent(INDENT) ; out.print("}") ; }
public void visit(ElementSubQuery arg0) { log(arg0); arg0.getQuery().getQueryPattern().visit(ElementVisitorImplementation.this); }
@Override public void visit(ElementSubQuery el) { out.print("{ ") ; out.incIndent(INDENT) ; Query q = el.getQuery() ; // It's SELECT query so no template formatter needed. Serializer.serializeARQ(q, out, new FormatterElement(out, context), new FmtExprSPARQL(out, context), null) ; out.decIndent(INDENT) ; out.print("}") ; }