public static NodeValue eval(Expr expr, Binding binding) { Context context = ARQ.getContext().copy() ; context.set(ARQConstants.sysCurrentTime, NodeFactory.nowAsDateTime()) ; FunctionEnv env = new ExecutionContext(context, null, null, null) ; NodeValue r = expr.eval(binding, env) ; return r ; }
public static NodeValue eval(Expr expr, Binding binding) { Context context = ARQ.getContext().copy() ; context.set(ARQConstants.sysCurrentTime, NodeFactoryExtra.nowAsDateTime()) ; FunctionEnv env = new ExecutionContext(context, null, null, null) ; NodeValue r = expr.eval(binding, env) ; return r ; }
@Override public QueryIterator eval(Op op, DatasetGraph dsg, Binding binding, Context context) { if ( binding.vars().hasNext() ) op = Substitute.substitute(op, binding) ; ExecutionContext execCxt = new ExecutionContext(context, dsg.getDefaultGraph(), dsg, QC.getFactory(context)) ; Evaluator eval = EvaluatorFactory.create(execCxt) ; Table table = Eval.eval(eval, op) ; QueryIterator qIter = table.iterator(execCxt) ; return QueryIteratorCheck.check(qIter, execCxt) ; }
@Override public QueryIterator eval(Op op, DatasetGraph dsg, Binding binding, Context context) { if ( binding.vars().hasNext() ) op = Substitute.substitute(op, binding) ; ExecutionContext execCxt = new ExecutionContext(context, dsg.getDefaultGraph(), dsg, QC.getFactory(context)) ; Evaluator eval = EvaluatorFactory.create(execCxt) ; Table table = Eval.eval(eval, op) ; QueryIterator qIter = table.iterator(execCxt) ; return QueryIteratorCheck.check(qIter, execCxt) ; }
private QueryIterator specialcase(Node gn, Op subOp, QueryIterator input) { // This is a placeholder for code to specially handle explicitly named // default graph and union graph. if (Quad.isDefaultGraph(gn)) { ExecutionContext cxt2 = new ExecutionContext(execCxt, execCxt.getDataset().getDefaultGraph()) ; return execute(subOp, input, cxt2) ; } if ( Quad.isUnionGraph(gn) ) Log.warn(this, "Not implemented yet: union default graph in general OpExecutor") ; // Bad news -- if ( Lib.equals(gn, Quad.tripleInQuad) ) {} return null ; }
@Override public QueryIterator eval(Op op, DatasetGraph dsg, Binding input, Context context) { ExecutionContext execCxt = new ExecutionContext(context, dsg.getDefaultGraph(), dsg, QC.getFactory(context)) ; QueryIterator qIter1 = QueryIterRoot.create(input, execCxt) ; QueryIterator qIter = QC.execute(op, qIter1, execCxt) ; // Wrap with something to check for closed iterators. qIter = QueryIteratorCheck.check(qIter, execCxt) ; // Need call back. if ( context.isTrue(ARQ.enableExecutionTimeLogging) ) qIter = QueryIteratorTiming.time(qIter) ; return qIter ; }
protected static QueryIterator buildIterator(Binding binding, Node graphNode, OpGraph opGraph, ExecutionContext outerCxt) { if ( !graphNode.isURI() ) // e.g. variable bound to a literal or blank node. // Alow this? throw new ARQInternalErrorException("QueryIterGraphInner.buildIterator") ; //return null ; // TODO Think about avoiding substitution. // If the subpattern does not involve the vars from the binding, avoid the substitute. Op op = QC.substitute(opGraph.getSubOp(), binding) ; Graph g = outerCxt.getDataset().getGraph(graphNode) ; if ( g == null ) return null ; ExecutionContext cxt2 = new ExecutionContext(outerCxt, g) ; QueryIterator subInput = QueryIterSingleton.create(binding, cxt2) ; return QC.execute(op, subInput, cxt2) ; }
@Override public QueryIterator eval(Op op, DatasetGraph dsg, Binding input, Context context) { if ( SUBSTITUE && ! input.isEmpty() ) op = Substitute.substitute(op, input) ; ExecutionContext execCxt = new ExecutionContext(context, dsg.getDefaultGraph(), dsg, QC.getFactory(context)) ; QueryIterator qIter1 = QueryIterRoot.create(input, execCxt) ; QueryIterator qIter = QC.execute(op, qIter1, execCxt) ; // Wrap with something to check for closed iterators. qIter = QueryIteratorCheck.check(qIter, execCxt) ; // Need call back. if ( context.isTrue(ARQ.enableExecutionTimeLogging) ) qIter = QueryIteratorTiming.time(qIter) ; return qIter ; }
ExecutionContext execCxt2 = new ExecutionContext(execCxt, graph) ; Evaluator e2 = EvaluatorFactory.create(execCxt2) ; return eval(e2, opGraph.getSubOp()) ; ExecutionContext execCxt2 = new ExecutionContext(execCxt, graph) ; Evaluator e2 = EvaluatorFactory.create(execCxt2) ;
ExecutionContext execCxt2 = new ExecutionContext(execCxt, graph) ; Evaluator e2 = EvaluatorFactory.create(execCxt2) ; return eval(e2, opGraph.getSubOp()) ; ExecutionContext execCxt2 = new ExecutionContext(execCxt, graph) ; Evaluator e2 = EvaluatorFactory.create(execCxt2) ;
FunctionEnv env = new ExecutionContext(ARQ.getContext(), null, null, null) ; NodeValue r = expr.eval(null, env) ;
FunctionEnv env = new ExecutionContext(ARQ.getContext(), null, null, null) ; NodeValue r = expr.eval(null, env) ;
ExecutionContext execCxt = new ExecutionContext(env.getContext(), env.getActiveGraph(), env.getDataset(),
protected static QueryIterator buildIterator(Binding binding, Node graphNode, OpGraph opGraph, ExecutionContext outerCxt) { if ( !graphNode.isURI() && !graphNode.isBlank() ) // e.g. variable bound to a literal or blank node. throw new ARQInternalErrorException("QueryIterGraphInner.buildIterator: Not a URI or balnk node: "+graphNode) ; // Think about avoiding substitution. // If the subpattern does not involve the vars from the binding, avoid the substitute. Op op = QC.substitute(opGraph.getSubOp(), binding) ; // We can't just use DatasetGraph.getGraph because it may "auto-create" graphs. // Use the containsGraph function. boolean syntheticGraph = ( Quad.isDefaultGraph(graphNode) || Quad.isUnionGraph(graphNode) ) ; if ( ! syntheticGraph && ! outerCxt.getDataset().containsGraph(graphNode) ) return null ; Graph g = outerCxt.getDataset().getGraph(graphNode) ; // And the contains was true??!!!!!! if ( g == null ) return null ; //throw new ARQInternalErrorException(".containsGraph was true but .getGraph is null") ; ExecutionContext cxt2 = new ExecutionContext(outerCxt, g) ; QueryIterator subInput = QueryIterSingleton.create(binding, cxt2) ; return QC.execute(op, subInput, cxt2) ; }
ExecutionContext execCxt = new ExecutionContext(env.getContext(), env.getActiveGraph(), env.getDataset(),
if ( g == null ) return new TableEmpty() ; ExecutionContext cxt2 = new ExecutionContext(cxt, g) ; QueryIterator qIter = executeBGP(pattern, QueryIterRoot.create(cxt2), cxt2) ; return TableFactory.create(qIter) ; ExecutionContext cxt2 = new ExecutionContext(cxt, g) ;
if ( g == null ) return new TableEmpty() ; ExecutionContext cxt2 = new ExecutionContext(cxt, g) ; QueryIterator qIter = StageBuilder.execute(pattern, QueryIterRoot.create(cxt2), cxt2) ; return TableFactory.create(qIter) ; ExecutionContext cxt2 = new ExecutionContext(cxt, g) ;