Refine search
/** * Assumes single bound variable in solution. */ protected List<String> executeQueryToList(QueryExecution qex){ List<String> rv = new LinkedList<String>(); ResultSet results = qex.execSelect(); while (results.hasNext()) { rv.add(querySolutionToString( results.nextSolution() )); } return rv; }
public static Node executeSingle(QueryExecutionFactory qef, Query query, Var var) { Node result = null; QueryExecution qe = qef.createQueryExecution(query); ResultSet rs = qe.execSelect(); if(rs.hasNext()) { Binding binding = rs.nextBinding(); result = binding.get(var); } if(rs.hasNext()) { logger.warn("A single result was retrieved, but more results exist - is this intended?"); } return result; }
private Set<OWLIndividual> computePosExamples(OWLClass cls) { List<OWLIndividual> posExamples = new ArrayList<>(); String query = String.format("SELECT ?s WHERE {?s a <%s>}", cls.toStringID()); try(QueryExecution qe = qef.createQueryExecution(query)) { ResultSet rs = qe.execSelect(); while(rs.hasNext()) { QuerySolution qs = rs.next(); posExamples.add(new OWLNamedIndividualImpl(IRI.create(qs.getResource("s").getURI()))); } } Collections.shuffle(posExamples, rnd); return new TreeSet<>(posExamples.subList(0, Math.min(posExamples.size(), maxNrOfPosExamples))); }
public static boolean containsGraph(Store store, Node graphNode) { String qs = "SELECT * { GRAPH "+FmtUtils.stringForNode(graphNode)+" { ?s ?p ?o }} LIMIT 1" ; Dataset ds = SDBFactory.connectDataset(store) ; try ( QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ) { ResultSet rs = qExec.execSelect() ; return rs.hasNext() ; } }
private SortedSet<String> getAllResources(String query){ SortedSet<String> resources = new TreeSet<>(); query = query + " LIMIT 1000"; QueryExecution qe = qef.createQueryExecution(query); ResultSet rs = qe.execSelect(); QuerySolution qs; while(rs.hasNext()){ qs = rs.next(); resources.add(qs.getResource("x0").getURI()); } qe.close(); return resources; }
public static List<Node> executeList(QueryExecutionFactory qef, Query query, Var var) { List<Node> result = new ArrayList<Node>(); QueryExecution qe = qef.createQueryExecution(query); ResultSet rs = qe.execSelect(); while(rs.hasNext()) { //QuerySolutiors.next() Binding binding = rs.nextBinding(); Node node = binding.get(var); result.add(node); } return result; }
@Override protected boolean sparqlSelectQueryHasResults(String queryStr) throws RDFServiceException { Query query = createQuery(queryStr); QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); try { ResultSet resultSet = qe.execSelect(); return resultSet.hasNext(); } finally { qe.close(); } }
/** * Execute, expecting the result to be one row, one column. Return that one. * RDFNode or throw an exception. * Use with {@code try ( QueryExecution qExec = ....)}. */ public static RDFNode getExactlyOne(QueryExecution qExec, String varname) { ResultSet rs = qExec.execSelect() ; if ( !rs.hasNext() ) throw new ARQException("Not found: var ?" + varname) ; QuerySolution qs = rs.nextSolution() ; RDFNode r = qs.get(varname) ; if ( rs.hasNext() ) throw new ARQException("More than one: var ?" + varname) ; return r ; }
private int getCountNumber(QueryExecutionFactory model, Query query, String var) { checkNotNull(query); checkNotNull(var); int result = 0; try ( QueryExecution qe = model.createQueryExecution(query) ) { ResultSet results = qe.execSelect(); if (results != null && results.hasNext()) { QuerySolution qs = results.next(); result = qs.get(var).asLiteral().getInt(); } } return result; } }
public static void sparqlIntoView(ModelSparqlEndpoint sparqlEndpoint, String queryString, ViewTable viewTable) throws SQLException { ResultSet rs = sparqlEndpoint.createQueryExecution(queryString).execSelect(); while(rs.hasNext()) { Binding binding = rs.nextBinding(); viewTable.insert(binding); } }
private void assertNoResults() { assertFalse(qe.execSelect().hasNext()); }
@Test(expected=QueryCancelledException.class) public void test_Cancel_API_1() { try(QueryExecution qExec = makeQExec("SELECT * {?s ?p ?o}")) { ResultSet rs = qExec.execSelect() ; assertTrue(rs.hasNext()) ; qExec.abort(); assertTrue(rs.hasNext()) ; rs.nextSolution(); assertFalse("Results not expected after cancel.", rs.hasNext()) ; } }
private int getCountNumber(QueryExecutionFactory model, Query query, String var) { checkNotNull(query); checkNotNull(var); int result = 0; try ( QueryExecution qe = model.createQueryExecution(query) ) { ResultSet results = qe.execSelect(); if (results != null && results.hasNext()) { QuerySolution qs = results.next(); result = qs.get(var).asLiteral().getInt(); } } return result; } }
public static Iterator<Node> storeGraphNames(Store store) { List<Node> x = new ArrayList<Node>() ; String qs = "SELECT ?g { GRAPH ?g { }}" ; QueryExecution qExec = QueryExecutionFactory.create(qs, SDBFactory.connectDataset(store)) ; ResultSet rs = qExec.execSelect() ; Var var_g = Var.alloc("g") ; while(rs.hasNext()) { Node n = rs.nextBinding().get(var_g) ; x.add(n) ; } return x.iterator() ; }
public static <T> void processExecSelect(FlowableEmitter<T> emitter, QueryExecution qe, Function<? super ResultSet, ? extends T> next) { try { emitter.setCancellable(qe::abort); ResultSet rs = qe.execSelect(); while(!emitter.isCancelled() && rs.hasNext()) { T binding = next.apply(rs); emitter.onNext(binding); } emitter.onComplete(); } catch (Exception e) { emitter.onError(e); } }
@Test(expected=QueryCancelledException.class) public void test_Cancel_API_2() { try(QueryExecution qExec = makeQExec("PREFIX ex: <" + ns + "> SELECT * {?s ?p ?o . FILTER ex:wait(100) }")) { ResultSet rs = qExec.execSelect() ; assertTrue(rs.hasNext()) ; qExec.abort(); assertTrue(rs.hasNext()) ; rs.nextSolution(); assertFalse("Results not expected after cancel.", rs.hasNext()) ; } }