@Override public boolean hasNext() { if (queryIterator == null) return false; boolean r = queryIterator.hasNext() ; if (!r) close() ; return r ; }
@Override public JsonObject next() { if (queryIterator == null) throw new NoSuchElementException(this.getClass() + ".next") ; try { Binding binding = queryIterator.next() ; JsonObject jsonObject = new JsonObject() ; for (String resultVar : resultVars) { Node n = binding.get(Var.alloc(resultVar)) ; JsonValue value = RDFTerm2Json.fromNode(n) ; jsonObject.put(resultVar, value); } return jsonObject ; } catch (NoSuchElementException ex) { close() ; throw ex ; } }