@Override public void exec(ARQParser parser) throws Exception { Element el = parser.GroupGraphPattern() ; query.setQueryPattern(el) ; } } ;
@Override public void visitQueryPattern(Query query) { newQuery.setQueryPattern(query.getQueryPattern()); }
private static Query toQuery(Element pattern) { Query query = QueryFactory.make() ; query.setQueryPattern(pattern) ; query.setQuerySelectType() ; query.setQueryResultStar(true) ; return query ; }
/** * Process for a single pattern below the modifiers. * Cleans up the ElementGroup produced. */ private void processQueryPattern(QueryLevelDetails level) { Op op = level.pattern ; op.visit(this) ; ElementGroup eg = this.currentGroup ; Element e = fixupGroupsOfOne(eg) ; query.setQueryPattern(e) ; query.setQuerySelectType() ; }
public static Query fixVarNames(Query query) { Query result = query.cloneQuery(); Element element = query.getQueryPattern(); Element repl = ElementUtils.fixVarNames(element); result.setQueryPattern(repl); return result; }
public static Query transform(Query query, Map<Node, BinaryRelation> virtualPredicates, boolean cloneOnChange) { Element oldQueryPattern = query.getQueryPattern(); Element newQueryPattern = transform(oldQueryPattern, virtualPredicates); Query result; if(oldQueryPattern == newQueryPattern) { result = query; } else { result = cloneOnChange ? query.cloneQuery() : query; result.setQueryPattern(newQueryPattern); } return result; }
@Override public void setVars(Map<Var, Node> values) { if (values.isEmpty()) { return; } Element e = query.getQueryPattern(); if (e != null) { ElementRewriter r = new ElementRewriter(values); e.visit(r); query.setQueryPattern(r.getResult()); } valuesHandler.setVars(values); }
protected Query elementToQuery(Element pattern) { if ( pattern == null ) return null; Query query = new Query(); query.setQueryPattern(pattern); query.setQuerySelectType(); query.setQueryResultStar(true); query.setResultVars(); return query; }
final public void WhereClause() throws ParseException { Element el ; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case WHERE: jj_consume_token(WHERE); break; default: jj_la1[15] = jj_gen; ; } el = GroupGraphPattern(); getQuery().setQueryPattern(el) ; }
public static Query wrapAsSubQuery(Query query) { Element esq = new ElementSubQuery(query); Query result = new Query(); result.setQuerySelectType(); result.setQueryResultStar(true); result.setQueryPattern(esq); return result; }
public static Element limitElement(Element e, long limit) { Query subQuery = new Query(); subQuery.setQuerySelectType(); subQuery.setQueryResultStar(true); subQuery.setQueryPattern(e); subQuery.setLimit(limit); Element result = new ElementSubQuery(subQuery); return result; }
default Query asQuery() { Element e = getElement(); List<Var> vs = getVars(); Query result = new Query(); result.setQuerySelectType(); result.setQueryPattern(getElement()); result.setDistinct(true); for(Var v : vs) { result.getProjectVars().add(v); } return result; }
public static Query wrapAsSubQuery(Query query, Var v) { Element esq = new ElementSubQuery(query); Query result = new Query(); result.setQuerySelectType(); result.getProject().add(v); result.setQueryPattern(esq); return result; }
public static Element limitElement(Element e, long limit) { Query subQuery = new Query(); subQuery.setQuerySelectType(); subQuery.setQueryResultStar(true); subQuery.setQueryPattern(e); subQuery.setLimit(limit); Element result = new ElementSubQuery(subQuery); return result; }
public static Query createSubQuery(Query query, Var var) { Element esq = new ElementSubQuery(query); Query result = new Query(); result.setQuerySelectType(); result.getProject().add(var); result.setQueryPattern(esq); return result; }
private void processQueryPattern(Op op, List<OpExtend> assignments) { op.visit(this) ; ElementGroup eg = this.currentGroup ; processExtends(assignments,(v,e)->eg.addElement(new ElementBind(v, e)) ) ; Element e = fixupGroupsOfOne(eg) ; query.setQueryPattern(e) ; query.setQuerySelectType() ; }
@Override public void visit(ElementSubQuery el) { WhereHandler other = new WhereHandler( el.getQuery() ); other.build(); if (other.getElement() != el.getQuery().getQueryPattern()) { el.getQuery().setQueryPattern( other.getQuery().getQueryPattern() ); } result = el; }
@Override public void visit(ElementSubQuery el) { WhereHandler other = new WhereHandler( el.getQuery() ); other.build(); if (other.getElement() != el.getQuery().getQueryPattern()) { el.getQuery().setQueryPattern( other.getQuery().getQueryPattern() ); } result = el; }
public static Query createQueryCount(Var countVar, Element e, Long limit) { if(limit != null) { e = limitElement(e, limit); } Var tmpVar = Var.alloc(countVar.getName() + "_tmp_"); Query result = new Query(); result.setQuerySelectType(); result.getProject().add(countVar, new ExprAggregator(tmpVar, new AggCount())); result.setQueryPattern(e); return result; }
public static Query createQueryCount(Var countVar, Element e, Long limit) { if(limit != null) { e = limitElement(e, limit); } Var tmpVar = Var.alloc(countVar.getName() + "_tmp_"); Query result = new Query(); result.setQuerySelectType(); result.getProject().add(countVar, new ExprAggregator(tmpVar, new AggCount())); result.setQueryPattern(e); return result; }