/** Create a binding of no pairs */ public static Binding binding() { return binding(noParent); }
public static BindingMap create() { return create(noParent); }
public QueryEngineRef(Op op, DatasetGraph dataset, Context context) { this(op, dataset, BindingFactory.root(), context) ; }
@Override protected Binding moveToNextBinding() { // we need a binding that's ?s ?p ?o try { Triple triple = triples.next(); BindingMap binding = BindingFactory.create(); binding.add(Var.alloc("s"), triple.getSubject()); binding.add(Var.alloc("p"), triple.getPredicate()); binding.add(Var.alloc("o"), triple.getObject()); return binding; } catch (RiotException e) { // bug in empty results for describe. this is // a workaround. TODO } return BindingFactory.binding(); }
/** * Create an in-memory result set from any ResultSet object. If the * ResultSet is an in-memory one already, then no copying is done - the * necessary internal datastructures are shared. This operation destroys * (uses up) a ResultSet object that is not an in-memory one. */ public ResultSetMem(ResultSet qr) { model = qr.getResourceModel(); if ( qr instanceof ResultSetMem ) { ResultSetMem qrm = (ResultSetMem)qr; this.rows = qrm.rows; this.varNames = qrm.varNames; } else { varNames = qr.getResultVars(); List<Var> vars = Var.varList(varNames); while (qr.hasNext()) { Binding rb = BindingFactory.copy(qr.nextBinding()); rows.add(rb); } } reset(); }
private QueryIterator resultsToQueryIterator(Binding binding, Node s, Node score, Node literal, Node graph, Collection<TextHit> results, ExecutionContext execCxt) { log.trace("resultsToQueryIterator: {}", results) ; Var sVar = Var.isVar(s) ? Var.alloc(s) : null ; Var scoreVar = (score==null) ? null : Var.alloc(score) ; Var literalVar = (literal==null) ? null : Var.alloc(literal) ; Var graphVar = (graph==null) ? null : Var.alloc(graph) ; Function<TextHit,Binding> converter = (TextHit hit) -> { if (score == null && literal == null) return sVar != null ? BindingFactory.binding(binding, sVar, hit.getNode()) : BindingFactory.binding(binding); BindingMap bmap = BindingFactory.create(binding); if (sVar != null) bmap.add(sVar, hit.getNode()); if (scoreVar != null) bmap.add(scoreVar, NodeFactoryExtra.floatToNode(hit.getScore())); if (literalVar != null) bmap.add(literalVar, hit.getLiteral()); if (graphVar != null && hit.getGraph() != null) bmap.add(graphVar, hit.getGraph()); return bmap; } ; Iterator<Binding> bIter = Iter.map(results.iterator(), converter); QueryIterator qIter = new QueryIterPlainWrapper(bIter, execCxt); return qIter ; }
@Override protected Binding moveToNextBinding() { return BindingFactory.binding(); } }
protected void startDataBlockValueRow(int line, int col) { values.add(BindingFactory.create()) ; currentColumn = -1 ; }
private QueryIterator resultsToQueryIterator(Binding binding, Node s, Node score, Node literal, Node graph, Collection<TextHit> results, ExecutionContext execCxt) { log.trace("resultsToQueryIterator: {}", results) ; Var sVar = Var.isVar(s) ? Var.alloc(s) : null ; Var scoreVar = (score==null) ? null : Var.alloc(score) ; Var literalVar = (literal==null) ? null : Var.alloc(literal) ; Var graphVar = (graph==null) ? null : Var.alloc(graph) ; Function<TextHit,Binding> converter = (TextHit hit) -> { if (score == null && literal == null) return sVar != null ? BindingFactory.binding(binding, sVar, hit.getNode()) : BindingFactory.binding(binding); BindingMap bmap = BindingFactory.create(binding); if (sVar != null) bmap.add(sVar, hit.getNode()); if (scoreVar != null) bmap.add(scoreVar, NodeFactoryExtra.floatToNode(hit.getScore())); if (literalVar != null) bmap.add(literalVar, hit.getLiteral()); if (graphVar != null && hit.getGraph() != null) bmap.add(graphVar, hit.getGraph()); return bmap; } ; Iterator<Binding> bIter = Iter.map(results.iterator(), converter); QueryIterator qIter = new QueryIterPlainWrapper(bIter, execCxt); return qIter ; }
private static List<Binding> eval(Graph graph, Node start, String pathStr, Node finish) { Path path = SSE.parsePath(pathStr, pmap) ; QueryIterator qIter = PathLib.execTriplePath(BindingFactory.root(), start, path, finish, new ExecutionContext(ARQ.getContext(), graph, null, null)) ; return Iter.toList(qIter) ; }
public static Binding binding(Var var, Node node) { return binding(noParent, var, node); }
private Binding mapper(Row r) { BindingMap results = BindingFactory.create(binding) ; if ( ! insert(pattern, r, results) ) return null ; return results ; }
if ( ! hasAggregators ) { return Iter.singleton(BindingFactory.binding()); BindingMap binding = BindingFactory.create(); for ( ExprAggregator agg : aggregators ) { Node value = agg.getAggregator().getValueEmpty(); for ( Binding k : accumulators.keySet() ) { Collection<Pair<Var, Accumulator>> accs = accumulators.get(k); BindingMap b = BindingFactory.create(k);
@Override protected Binding moveToNextBinding() { Node n = members.next(); Binding b = BindingFactory.binding(binding, var, n); return b; }
@Override public Binding apply(List<String> row) { if ( row.size() != vars.size() ) FmtLog.warn(log, "Row %d: Length=%d: expected=%d", count, row.size(), vars.size()) ; BindingMap binding = BindingFactory.create() ; // Check. for (int i = 0 ; i < vars.size() ; i++ ) { Var v = vars.get(i) ; String field = (i<row.size()) ? row.get(i) : "" ; Node n = NodeFactory.createLiteral(field) ; binding.add(v, n); } count++ ; return binding ; }} ; Iterator<Binding> bindings = Iter.map(parser.iterator(), transform) ;
@Override public QueryIterator iterator(ExecutionContext execCxt) { // Root binding? Binding binding = BindingFactory.binding(var, value) ; QueryIterator qIter = QueryIterSingleton.create(null, var, value, execCxt) ; return qIter ; }
/** * Create a new Binding as a copy of an existing one. Additionally, it guarantees to * touch each element of the binding */ public static Binding copy(Binding b) { Iterator<Var> vIter = b.vars(); BindingMap b2 = create(); while (vIter.hasNext()) { Var v = vIter.next(); b2.add(v, b.get(v)); } return b2; } }
public static QueryIterSingleton create(Binding parent, Var var, Node value, ExecutionContext execCxt) { Binding b = BindingFactory.binding(parent, var, value) ; return QueryIterSingleton.create(b, execCxt) ; }
binding = BindingFactory.create() ; return ;
@Override public Iterator<Binding> rows() { Binding binding = BindingFactory.binding() ; return Iter.singleton(binding) ; }