/** * Add a variable to the select. If the variable is <code>null</code> the * variables are set to star. * * @param var * The variable to add. */ public void addVar(Var var) { if (var == null) { query.setQueryResultStar(true); } else { query.setQueryResultStar(false); query.addResultVar(var); } }
/** * Add a variable to the select. If the variable is <code>null</code> the * variables are set to star. * * @param var * The variable to add. */ public void addVar(Var var) { if (var == null) { query.setQueryResultStar(true); } else { query.setQueryResultStar(false); query.addResultVar(var); } }
/** * Add an Expression as variable to the select. * * @param expr * The expression to add. * @param var * The variable to add. */ public void addVar(Expr expr, Var var) { if (expr == null) { throw new IllegalArgumentException("expr may not be null"); } if (var == null) { throw new IllegalArgumentException("var may not be null"); } query.setQueryResultStar(false); query.addResultVar(var, expr); aggHandler.add( expr, var ); }
/** * Add an Expression as variable to the select. * * @param expr * The expression to add. * @param var * The variable to add. */ public void addVar(Expr expr, Var var) { if (expr == null) { throw new IllegalArgumentException("expr may not be null"); } if (var == null) { throw new IllegalArgumentException("var may not be null"); } query.setQueryResultStar(false); query.addResultVar(var, expr); aggHandler.add( expr, var ); }
private static Query toQuery(Element pattern) { Query query = QueryFactory.make() ; query.setQueryPattern(pattern) ; query.setQuerySelectType() ; query.setQueryResultStar(true) ; return query ; }
@Override public void build() { if (query.getProject().getVars().isEmpty()) { query.setQueryResultStar(true); } aggHandler.build(); // handle the SELECT * case query.getProjectVars(); } }
@Override public void build() { if (query.getProject().getVars().isEmpty()) { query.setQueryResultStar(true); } aggHandler.build(); // handle the SELECT * case query.getProjectVars(); } }
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; }
public static Query asQuery(Op op, Dialect dialect) { Query query = QueryFactory.make() ; Converter v = new Converter(query, dialect) ; //OpWalker.walk(op, v) ; op.visit(v) ; List<Var> vars = v.projectVars; query.setQueryResultStar(vars.isEmpty()); // SELECT * unless we are projecting Iterator<Var> iter = vars.iterator(); for (; iter.hasNext();) { Var var = iter.next(); if (v.varExpression.containsKey(var)) query.addResultVar(var, v.varExpression.get(var)); else query.addResultVar(var); } ElementGroup eg = v.currentGroup ; query.setQueryPattern(eg) ; query.setQuerySelectType() ; query.setResultVars() ; return query ; }
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; }
private Iterator<Triple> executeConstructStreaming(Query query) { if (!query.isConstructType()) { throw new RuntimeException("CONSTRUCT query expected. Got: [" + query.toString() + "]"); } Query clone = query.cloneQuery(); clone.setQuerySelectType(); //Query selectQuery = QueryUtils.elementToQuery(query.getQueryPattern()); clone.setQueryResultStar(true); ResultSetCloseable rs = executeCoreSelect(clone); System.out.println("Executing query as: " + clone); // insertPrefixesInto(result) ; Template template = query.getConstructTemplate(); Iterator<Triple> result = new ConstructIterator(template, rs); 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 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; }
@Override public Iterator<Quad> execConstructQuads() { checkNotClosed(); if ( ! query.isConstructType() ) throw new QueryExecException("Attempt to get a CONSTRUCT model from a "+labelForQuery(query)+" query") ; // This causes there to be no PROJECT around the pattern. // That in turn, exposes the initial bindings. query.setQueryResultStar(true) ; startQueryIterator() ; Template template = query.getConstructTemplate() ; return TemplateLib.calcQuads(template.getQuads(), queryIterator); }
@Override public Iterator<Triple> execConstructTriples() { checkNotClosed(); if ( ! query.isConstructType() ) throw new QueryExecException("Attempt to get a CONSTRUCT model from a "+labelForQuery(query)+" query") ; // This causes there to be no PROJECT around the pattern. // That in turn, exposes the initial bindings. query.setQueryResultStar(true) ; startQueryIterator() ; Template template = query.getConstructTemplate() ; return TemplateLib.calcTriples(template.getTriples(), queryIterator); }
@Deprecated // Remove once countQuery works as espected public static long countQueryOld(Query query, QueryExecutionFactory qef) { Var outputVar = Var.alloc("_c_"); if(query.isConstructType()) { Element element = query.getQueryPattern(); query = new Query(); query.setQuerySelectType(); query.setQueryResultStar(true); query.setQueryPattern(element); } Query countQuery = QueryFactory.create("Select (Count(*) As ?_c_) { {" + query + "} }", Syntax.syntaxSPARQL_11); QueryExecution qe = qef.createQueryExecution(countQuery); ResultSet rs = qe.execSelect(); Binding binding = rs.nextBinding(); Node node = binding.get(outputVar); Number numeric = (Number)node.getLiteralValue(); long result = numeric.longValue(); return result; }
@Override public void startVisit(Query query) { newQuery.setSyntax(query.getSyntax()); if (query.explicitlySetBaseURI()) newQuery.setBaseURI(query.getPrologue().getResolver()); newQuery.setQueryResultStar(query.isQueryResultStar()); if (query.hasDatasetDescription()) { DatasetDescription desc = query.getDatasetDescription(); for (String x : desc.getDefaultGraphURIs()) newQuery.addGraphURI(x); for (String x : desc.getDefaultGraphURIs()) newQuery.addNamedGraphURI(x); } // Aggregators. newQuery.getAggregators().addAll(query.getAggregators()); }
@Override public void startVisit(Query query) { newQuery.setSyntax(query.getSyntax()) ; if ( query.explicitlySetBaseURI() ) newQuery.setBaseURI(query.getPrologue().getResolver()) ; newQuery.setQueryResultStar(query.isQueryResultStar()) ; if ( query.hasDatasetDescription() ) { DatasetDescription desc = query.getDatasetDescription() ; for (String x : desc.getDefaultGraphURIs()) newQuery.addGraphURI(x) ; for (String x : desc.getDefaultGraphURIs()) newQuery.addNamedGraphURI(x) ; } // Aggregators. newQuery.getAggregators().addAll(query.getAggregators()) ; }
/** * Add all the variables from the select handler variable. * * @param selectHandler * The select handler to copy the variables from. */ public void addAll(SelectHandler selectHandler) { setReduced(selectHandler.query.isReduced()); setDistinct(selectHandler.query.isDistinct()); query.setQueryResultStar(selectHandler.query.isQueryResultStar()); VarExprList shProjectVars = selectHandler.query.getProject(); VarExprList qProjectVars = query.getProject(); for (Var var : shProjectVars.getVars()) { // make sure there are no duplicates if (!qProjectVars.contains(var)) { qProjectVars.add(var, shProjectVars.getExpr(var)); } } aggHandler.addAll( selectHandler.aggHandler ); }
/** * Add all the variables from the select handler variable. * * @param selectHandler * The select handler to copy the variables from. */ public void addAll(SelectHandler selectHandler) { setReduced(selectHandler.query.isReduced()); setDistinct(selectHandler.query.isDistinct()); query.setQueryResultStar(selectHandler.query.isQueryResultStar()); VarExprList shProjectVars = selectHandler.query.getProject(); VarExprList qProjectVars = query.getProject(); for (Var var : shProjectVars.getVars()) { // make sure there are no duplicates if (!qProjectVars.contains(var)) { qProjectVars.add(var, shProjectVars.getExpr(var)); } } aggHandler.addAll( selectHandler.aggHandler ); }