/** * {@inheritDoc} */ @Override public String toString() { return OpAsQuery.asQuery(this.getOpRepresentation()).toString(); }
/** * Reformats the SPARQL query for logging purpose * * @param sparql The generated SPARQL query * * @return Formatted query */ public String prettyPrint(String sparql) { return OpAsQuery.asQuery(Algebra.compile(QueryFactory.create(sparql))).serialize(); } }
/** * Optimizes the join order of the query * * @param sparql The SPARQL query * * @return The optimized SPARQL query */ public String optimizeJoinOrder(String sparql) { Op op = Algebra.compile(QueryFactory.create(sparql)); Transform joinReorder = new TransformJoinStrategy(); op = Transformer.transform(joinReorder, op); return OpAsQuery.asQuery(op).serialize(); }
public void visit(ExprFunctionOp funcOp) { FormatterElement fmtElt = new FormatterElement(out, context) ; out.print(funcOp.getFunctionName(context)) ; out.print(" ") ; Element el = funcOp.getElement() ; if ( el == null ) el = OpAsQuery.asQuery(funcOp.getGraphPattern()).getQueryPattern() ; el.visit(fmtElt) ; }
return OpAsQuery.asQuery(op).toString();
@Override public void visit(ExprFunctionOp funcOp) { String fn = funcOp.getFunctionPrintName(context) ; if ( funcOp instanceof E_NotExists ) fn = "NOT EXISTS" ; else if ( funcOp instanceof E_Exists ) fn = "EXISTS" ; else throw new ARQInternalErrorException("Unrecognized ExprFunctionOp: "+fn) ; FormatterElement fmtElt = new FormatterElement(out, context) ; out.print(fn) ; out.print(" ") ; Element el = funcOp.getElement() ; if ( el == null ) el = OpAsQuery.asQuery(funcOp.getGraphPattern()).getQueryPattern() ; el.visit(fmtElt) ; }
/** * Optimizes the query in multiple ways: * * <ol> * <li>Redo FILTER (A&&B) as FILTER(A) FILTER(B) (as an expr list)</li> * <li>Optimizes the FILTER disjunctions</li> * <li>Rewrite an algebra expression to put filters as close to their bound variables</li> * </ol> * * @param sparql The SPARQL query * * @return The optimized SPARQL query */ public String optimizeFilters(String sparql) { Op op = Algebra.compile(QueryFactory.create(sparql)); Transform filterConjunction = new TransformFilterConjunction(); Transform filterDisjunction = new TransformFilterDisjunction(); Transform filterPlacement = new TransformFilterPlacement(); op = Transformer.transform(filterConjunction, op); op = Transformer.transform(filterDisjunction, op); op = Transformer.transform(filterPlacement, op); return OpAsQuery.asQuery(op).serialize(); }
subscription.getCreationTime(), subscription.getIndexationTime(), OpAsQuery.asQuery( Transformer.transform( tc,
query = OpAsQuery.asQuery(opRemote) ;
query = OpAsQuery.asQuery(opRemote) ;
Query q = OpAsQuery.asQuery(newQuery); q.setDistinct(true); // KAVITHA: Not setting distinct on the consequent leaves duplicates return q;