com.hp.hpl.jena.query.QueryFactory Java Examples
The following examples show how to use
com.hp.hpl.jena.query.QueryFactory.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SPARQLExample.java From GeoTriples with Apache License 2.0 | 7 votes |
public static void main(String[] args) { ModelD2RQ m = new ModelD2RQ("file:doc/example/mapping-iswc.ttl"); String sparql = "PREFIX dc: <http://purl.org/dc/elements/1.1/>" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>" + "SELECT ?paperTitle ?authorName WHERE {" + " ?paper dc:title ?paperTitle . " + " ?paper dc:creator ?author ." + " ?author foaf:name ?authorName ." + "}"; Query q = QueryFactory.create(sparql); ResultSet rs = QueryExecutionFactory.create(q, m).execSelect(); while (rs.hasNext()) { QuerySolution row = rs.nextSolution(); System.out.println("Title: " + row.getLiteral("paperTitle").getString()); System.out.println("Author: " + row.getLiteral("authorName").getString()); } m.close(); }
Example #2
Source File: ModelSetImplJena.java From semweb4j with BSD 2-Clause "Simplified" License | 6 votes |
@Override public ClosableIterable<Statement> sparqlConstruct(String query) throws ModelRuntimeException, MalformedQueryException { Query jenaQuery = QueryFactory.create(query); QueryExecution qexec = QueryExecutionFactory.create(jenaQuery, this.dataset); if (jenaQuery.isConstructType()) { com.hp.hpl.jena.rdf.model.Model m = qexec.execConstruct(); Model resultModel = new ModelImplJena(null, m, Reasoning.none); resultModel.open(); return resultModel; } else { throw new RuntimeException( "Cannot handle this type of query! Please use CONSTRUCT."); } }
Example #3
Source File: RDFStoreDAO.java From aliada-tool with GNU General Public License v3.0 | 6 votes |
/** * It executes a SELECT SPARQL query on the SPARQL endpoint. * * @param sparqlEndpointURI the SPARQL endpoint URI. * @param user the user name for the SPARQl endpoint. * @param password the password for the SPARQl endpoint. * @param query the query to use to look for the resources. * @return the {@link com.hp.hpl.jena.query.ResultSet} of the SELECT SPARQL query. * @since 2.0 */ public ResultSet executeSelect(final String sparqlEndpointURI, final String user, final String password, final String query) { ResultSet results = null; try { // Execute the query and obtain results final QueryExecution qexec = QueryExecutionFactory.sparqlService( sparqlEndpointURI, QueryFactory.create(query), auth(sparqlEndpointURI, user, password)); qexec.setTimeout(2000, 5000); results = qexec.execSelect() ; qexec.close() ; } catch (Exception exception) { LOGGER.error(MessageCatalog._00035_SPARQL_FAILED, exception, query); } return results; }
Example #4
Source File: RDFStoreDAO.java From aliada-tool with GNU General Public License v3.0 | 6 votes |
/** * It executes a SELECT SPARQL query on the SPARQL endpoint, * to get the number of resources specified in the query argument. * * @param query the query to execute to get the number of resources. * @param sparqlEndpointURI the SPARQL endpoint URI. * @param user the user name for the SPARQl endpoint. * @param password the password for the SPARQl endpoint. * @return the number of resources. * @since 2.0 */ public int getNumResources(final String query, final String sparqlEndpointURI, final String user, final String password) { int numRes = 0; try { // Execute the query and obtain results final QueryExecution qexec = QueryExecutionFactory.sparqlService( sparqlEndpointURI, QueryFactory.create(query), auth(sparqlEndpointURI, user, password)); qexec.setTimeout(2000, 5000); final ResultSet results = qexec.execSelect() ; while (results.hasNext()) { final QuerySolution soln = results.nextSolution() ; numRes = soln.getLiteral("count").getInt(); } qexec.close() ; } catch (Exception exception) { LOGGER.error(MessageCatalog._00035_SPARQL_FAILED, exception, query); } return numRes; }
Example #5
Source File: Course_Test.java From neo4jena with Apache License 2.0 | 6 votes |
public static void getJob(GraphDatabaseService njgraph) { NeoGraph graph = new NeoGraph(njgraph); Model njmodel = ModelFactory.createModelForGraph(graph); ST descJob = TemplateLoader.getQueriesGroup().getInstanceOf("getGraph"); String queryASString = Constants.QUERY_PREFIX+ descJob.render(); Query query = QueryFactory.create(queryASString, Syntax.syntaxSPARQL_11); QueryExecution qexec = QueryExecutionFactory.create(query, njmodel); ResultSet res = qexec.execSelect(); int count=0; while(res.hasNext()){ //System.out.println("in while"+count); QuerySolution sol = res.next(); System.out.println(sol.get("?Z")); count++; } //log.info("Record fetched:"+ count); System.out.println("Record fetched:"+ count); }
Example #6
Source File: FromAndFromNamedClauses_ITCase.java From SolRDF with Apache License 2.0 | 6 votes |
public static void main(String[] args) throws Exception { Dataset memoryDataset = DatasetFactory.createMem(); Model memoryModel = ModelFactory.createDefaultModel(); memoryModel.read(new FileReader("/work/workspaces/rdf/SolRDF/solrdf/src/test/resources/sample_data/one_triple_1.ttl"), "http://e.org", "TTL"); memoryDataset.addNamedModel("http://grapha.com", memoryModel); memoryModel = ModelFactory.createDefaultModel(); memoryModel.read(new FileReader("/work/workspaces/rdf/SolRDF/solrdf/src/test/resources/sample_data/one_triple_2.ttl"), "http://e.org", "TTL"); memoryDataset.addNamedModel("http://graphb.com", memoryModel); memoryModel = ModelFactory.createDefaultModel(); memoryModel.read(new FileReader("/work/workspaces/rdf/SolRDF/solrdf/src/test/resources/sample_data/one_triple_3.ttl"), "http://e.org", "TTL"); memoryDataset.addNamedModel("http://graphc.com", memoryModel); memoryModel = ModelFactory.createDefaultModel(); memoryModel.read(new FileReader("/work/workspaces/rdf/SolRDF/solrdf/src/test/resources/sample_data/one_triple_4.ttl"), "http://e.org", "TTL"); memoryDataset.addNamedModel("http://graphd.com", memoryModel); final Query query = QueryFactory.create(q2());//"SELECT ?s FROM <http://grapha.com> WHERE { ?s <http://example.org/title> ?o }"); System.out.println(ResultSetFormatter.asText(QueryExecutionFactory.create(query, memoryDataset).execSelect())); }
Example #7
Source File: AliadaRDFStoreDAO.java From aliada-tool with GNU General Public License v3.0 | 6 votes |
public String crm2AliadaClass(final String crmClass) { final Query query = QueryFactory.create(CRM_TO_ALIADA_CLASS_P1 + crmClass + CRM_TO_ALIADA_CLASS_P2); ARQ.getContext().setTrue(ARQ.useSAX); QueryExecution execution = null; try { execution = QueryExecutionFactory.sparqlService("http://172.25.5.15:8890/sparql", query); execution.setTimeout(2000, 5000); final ResultSet results = execution.execSelect(); //Iterating over the SPARQL Query results while (results.hasNext()) { QuerySolution soln = results.nextSolution(); //Printing DBpedia entries' abstract. System.out.println(soln.get("?abstract")); return soln.get("?abstract").asResource().getURI(); } return "NULL"; } finally { try { execution.close(); } catch (Exception exception) { // TODO: handle exception } } }
Example #8
Source File: ModelSetImplJena.java From semweb4j with BSD 2-Clause "Simplified" License | 6 votes |
@Override public ClosableIterable<Statement> sparqlDescribe(String query) throws ModelRuntimeException { Query jenaQuery = QueryFactory.create(query); QueryExecution qexec = QueryExecutionFactory.create(jenaQuery, this.dataset); if (jenaQuery.isDescribeType()) { com.hp.hpl.jena.rdf.model.Model m = qexec.execDescribe(); Model resultModel = new ModelImplJena(null, m, Reasoning.none); resultModel.open(); return resultModel; } else { throw new RuntimeException( "Cannot handle this type of query! Please use DESCRIBE."); } }
Example #9
Source File: ModelSetImplJena.java From semweb4j with BSD 2-Clause "Simplified" License | 6 votes |
@Override public ClosableIterable<Statement> queryConstruct(String query, String querylanguage) throws QueryLanguageNotSupportedException, MalformedQueryException, ModelRuntimeException { Query jenaQuery = QueryFactory.create(query); QueryExecution qexec = QueryExecutionFactory.create(jenaQuery, this.dataset); if (jenaQuery.isConstructType()) { com.hp.hpl.jena.rdf.model.Model m = qexec.execConstruct(); Model resultModel = new ModelImplJena(null, m, Reasoning.none); resultModel.open(); return resultModel; } else { throw new RuntimeException( "Cannot handle this type of query! Please use CONSTRUCT."); } }
Example #10
Source File: ModelImplJena.java From semweb4j with BSD 2-Clause "Simplified" License | 6 votes |
/** * @return opened result Model */ @Override public ClosableIterable<Statement> sparqlDescribe(String queryString) throws ModelRuntimeException { assertModel(); Query query = QueryFactory.create(queryString); QueryExecution qexec = QueryExecutionFactory.create(query, this.jenaModel); if(query.isDescribeType()) { com.hp.hpl.jena.rdf.model.Model m = qexec.execDescribe(); Model resultModel = new ModelImplJena(null, m, Reasoning.none); resultModel.open(); return resultModel; } else { throw new RuntimeException("Cannot handle this type of queries! Please use DESCRIBE."); } }
Example #11
Source File: IntegrationTestSupertypeLayer.java From SolRDF with Apache License 2.0 | 6 votes |
/** * Executes a given SELECT query against a given dataset. * * @param data the mistery guest containing test data (query and dataset) * @throws Exception never, otherwise the test fails. */ protected void selectTest(final MisteryGuest data) throws Exception { load(data); try { assertTrue( Arrays.toString(data.datasets) + ", " + data.query, ResultSetCompare.isomorphic( SOLRDF_CLIENT.select(queryString(data.query)), (inMemoryExecution = QueryExecutionFactory.create( QueryFactory.create(queryString(data.query)), memoryDataset)).execSelect())); } catch (final Throwable error) { log.debug("JNS\n" + ResultSetFormatter.asText(SOLRDF_CLIENT.select(queryString(data.query)))); QueryExecution debugExecution = null; log.debug("MEM\n" + ResultSetFormatter.asText( (debugExecution = (QueryExecutionFactory.create( QueryFactory.create(queryString(data.query)), memoryDataset))).execSelect())); debugExecution.close(); throw error; } }
Example #12
Source File: ModelImplJena.java From semweb4j with BSD 2-Clause "Simplified" License | 6 votes |
@Override public ClosableIterable<Statement> sparqlConstruct(String queryString) throws ModelRuntimeException { assertModel(); Query query = QueryFactory.create(queryString); QueryExecution qexec = QueryExecutionFactory.create(query, this.jenaModel); if(query.isConstructType()) { com.hp.hpl.jena.rdf.model.Model m = qexec.execConstruct(); Model resultModel = new ModelImplJena(null, m, Reasoning.none); resultModel.open(); return resultModel; } else { throw new RuntimeException("Cannot handle this type of queries! Please use CONSTRUCT."); } }
Example #13
Source File: IntegrationTestSupertypeLayer.java From SolRDF with Apache License 2.0 | 5 votes |
/** * Executes a given CONSTRUCT query against a given dataset. * * @param data the mistery guest containing test data (query and dataset) * @throws Exception never, otherwise the test fails. */ protected void constructTest(final MisteryGuest data) throws Exception { load(data); try { inMemoryExecution = QueryExecutionFactory.create( QueryFactory.create(queryString(data.query)), memoryDataset); assertTrue( Arrays.toString(data.datasets) + ", " + data.query, inMemoryExecution.execConstruct().isIsomorphicWith( SOLRDF_CLIENT.construct(queryString(data.query)))); } catch (final Throwable error) { StringWriter writer = new StringWriter(); RDFDataMgr.write(writer, SOLRDF_CLIENT.construct(queryString(data.query)), RDFFormat.NTRIPLES); log.debug("JNS\n" + writer); QueryExecution debugExecution = QueryExecutionFactory.create( QueryFactory.create(queryString(data.query)), memoryDataset); writer = new StringWriter(); RDFDataMgr.write(writer, debugExecution.execConstruct(), RDFFormat.NTRIPLES); log.debug("MEM\n" + writer); debugExecution.close(); throw error; } }
Example #14
Source File: EvalQuery.java From anno4j with Apache License 2.0 | 5 votes |
public static <T extends ResourceObject> Query evaluate(QueryServiceConfiguration queryServiceDTO, URI rootType) throws ParseException { Query query = QueryFactory.make(); query.setQuerySelectType(); ElementGroup elementGroup = new ElementGroup(); Var objectVar = Var.alloc("root"); // Creating and adding the first triple - could be something like: "?objectVar rdf:type oa:Annotation Triple t1 = new Triple(objectVar, RDF.type.asNode(), NodeFactory.createURI(rootType.toString())); elementGroup.addTriplePattern(t1); // Evaluating the criteria for (Criteria c : queryServiceDTO.getCriteria()) { SesameValueBackend backend = new SesameValueBackend(); LdPathParser parser = new LdPathParser(backend, queryServiceDTO.getConfiguration(), new StringReader(c.getLdpath())); Var var = LDPathEvaluator.evaluate(parser.parseSelector(queryServiceDTO.getPrefixes()), elementGroup, objectVar, queryServiceDTO.getEvaluatorConfiguration()); if (c.getConstraint() != null) { String resolvedConstraint = resolveConstraintPrefix(c.getConstraint(), queryServiceDTO, parser); EvalComparison.evaluate(elementGroup, c, var, resolvedConstraint); } } // Adding all generated patterns to the query object query.setQueryPattern(elementGroup); // Choose what we want so select - SELECT ?annotation in this case query.addResultVar(objectVar); // Setting the default prefixes, like rdf: or dc: query.getPrefixMapping().setNsPrefixes(queryServiceDTO.getPrefixes()); return query; }
Example #15
Source File: IntegrationTestSupertypeLayer.java From SolRDF with Apache License 2.0 | 5 votes |
/** * Executes a given CONSTRUCT query against a given dataset. * * @param data the mistery guest containing test data (query and dataset) * @throws Exception never, otherwise the test fails. */ protected void describeTest(final MisteryGuest data) throws Exception { load(data); final Query query = QueryFactory.create(queryString(data.query)); try { inMemoryExecution = QueryExecutionFactory.create(query, memoryDataset); assertTrue( Arrays.toString(data.datasets) + ", " + data.query, inMemoryExecution.execDescribe().isIsomorphicWith( SOLRDF_CLIENT.describe(queryString(data.query)))); } catch (final Throwable error) { StringWriter writer = new StringWriter(); RDFDataMgr.write(writer, SOLRDF_CLIENT.describe(queryString(data.query)), RDFFormat.NTRIPLES); log.debug("JNS\n" + writer); QueryExecution debugExecution = QueryExecutionFactory.create(query, memoryDataset); writer = new StringWriter(); RDFDataMgr.write(writer, debugExecution.execDescribe(), RDFFormat.NTRIPLES); log.debug("MEM\n" + writer); debugExecution.close(); throw error; } }
Example #16
Source File: IntegrationTestSupertypeLayer.java From SolRDF with Apache License 2.0 | 5 votes |
/** * Executes a given ASK query against a given dataset. * * @param data the mistery guest containing test data (query and dataset) * @throws Exception never, otherwise the test fails. */ protected void askTest(final MisteryGuest data) throws Exception { load(data); inMemoryExecution = QueryExecutionFactory.create(QueryFactory.create(queryString(data.query)), memoryDataset); assertEquals( Arrays.toString(data.datasets) + ", " + data.query, inMemoryExecution.execAsk(), SOLRDF_CLIENT.ask(queryString(data.query))); }
Example #17
Source File: SparqlQParser.java From SolRDF with Apache License 2.0 | 5 votes |
@Override public Query parse() throws SyntaxError { try { return new SparqlQuery(QueryFactory.create(qstr, Syntax.syntaxARQ), isHybrid(req)); } catch (final Exception exception) { throw new SyntaxError(exception); } }
Example #18
Source File: QueryHelper.java From ldp4j with Apache License 2.0 | 5 votes |
private Query build() { String resolvedQuery=this.rawQuery; for(Entry<String,String> entry:this.params.entrySet()) { resolvedQuery= TestingUtil. interpolate( resolvedQuery, entry.getKey(), entry.getValue()); } return QueryFactory.create(resolvedQuery); }
Example #19
Source File: Course.java From neo4jena with Apache License 2.0 | 5 votes |
public static void search(GraphDatabaseService njgraph) { NeoGraph graph = new NeoGraph(njgraph); Model njmodel = ModelFactory.createModelForGraph(graph); String s2 = "prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + "PREFIX uni: <http://seecs.edu.pk/db885#>" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/> " + "SELECT ?X ?Z ?Y "+ "WHERE" + "{ ?X ?Z ?Y ." + "}"; Query query = QueryFactory.create(s2); QueryExecution qExe = QueryExecutionFactory.create(query, njmodel); StopWatch watch = new StopWatch(); ResultSet results = qExe.execSelect(); log.info("Query took (ms): "+ watch.stop()); System.out.println("Query took (ms): "+ watch.stop()); // ResultSetFormatter.out(System.out, results); int count=0; while(results.hasNext()){ //System.out.println("in while"+count); QuerySolution sol = results.next(); System.out.println(sol.get("?Z")); count++; } log.info("Record fetched:"+ count); System.out.println("Record fetched:"+ count); }
Example #20
Source File: Wine.java From neo4jena with Apache License 2.0 | 5 votes |
public static void search(GraphDatabaseService njgraph) { NeoGraph graph = new NeoGraph(njgraph); Model njmodel = ModelFactory.createModelForGraph(graph); String s2 = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>" + "PREFIX food: <http://www.w3.org/TR/2003/PR-owl-guide-20031209/food#>"+ "PREFIX wine: <http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#>" + "PREFIX owl: <http://www.w3.org/2002/07/owl#>"+ "SELECT ?X WHERE {"+ "?X food:SweetFruit ?Z . }"; Query query = QueryFactory.create(s2); QueryExecution qExe = QueryExecutionFactory.create(query, njmodel); StopWatch watch = new StopWatch(); ResultSet results = qExe.execSelect(); System.out.println("Query took (ms): "+ watch.stop()); //ResultSetFormatter.out(System.out, results); int count=0; while(results.hasNext()){ //System.out.println("in while"+count); QuerySolution sol = results.next(); System.out.print(sol.get("X")); count++; } System.out.println("Record fetched:"+ count); }
Example #21
Source File: Course_Test.java From neo4jena with Apache License 2.0 | 5 votes |
public static void search(GraphDatabaseService njgraph) { NeoGraph graph = new NeoGraph(njgraph); Model njmodel = ModelFactory.createModelForGraph(graph); String s2 = "prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + "PREFIX uni: <http://seecs.edu.pk/db885#>" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/> " + "SELECT ?X ?Z ?Y "+ "WHERE" + "{ ?X ?Z ?Y ." + "}"; Query query = QueryFactory.create(s2); QueryExecution qExe = QueryExecutionFactory.create(query, njmodel); StopWatch watch = new StopWatch(); ResultSet results = qExe.execSelect(); long endTime = watch.stop(); log.info("Query took (ms): "+endTime); System.out.println("Query took (ms): "+ endTime); // ResultSetFormatter.out(System.out, results); int count=0; while(results.hasNext()){ //System.out.println("in while"+count); QuerySolution sol = results.next(); System.out.println(sol.get("?Z")); count++; } log.info("Record fetched:"+ count); System.out.println("Record fetched:"+ count); }
Example #22
Source File: TestingUtilTest.java From ldp4j with Apache License 2.0 | 5 votes |
@Test public void testInterpolate() throws Exception { String baseQuery= TestingUtil. loadResource("queries/service_builds.sparql"); String rawQuery= TestingUtil. interpolate( baseQuery, "service", "<http://www.example.org/service/>"); QueryFactory.create(rawQuery); }
Example #23
Source File: LUBM.java From neo4jena with Apache License 2.0 | 5 votes |
public static void search(GraphDatabaseService njgraph) { NeoGraph graph = new NeoGraph(njgraph); Model njmodel = ModelFactory.createModelForGraph(graph); //long start = System.currentTimeMillis(); String s2 = "prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + "PREFIX ub: <http://swat.cse.lehigh.edu/onto/univ-bench.owl#>" + "SELECT ?X ?name "+ "WHERE" + "{ ?X ub:name ?name ." + "FILTER regex(?name,\"^Publication\") ."+ "}"; Query query = QueryFactory.create(s2); QueryExecution qExe = QueryExecutionFactory.create(query, njmodel); StopWatch watch = new StopWatch(); ResultSet results = qExe.execSelect(); log.info("Query took (ms): "+ watch.stop()); System.out.println("Query took (ms): "+ watch.stop()); //ResultSetFormatter.out(System.out, results); int count=0; while(results.hasNext()){ //System.out.println("in while"+count); QuerySolution sol = results.next(); System.out.println(sol.get("name")); count++; } log.info("Record fetched:"+ count); System.out.println("Record fetched:"+ count); }
Example #24
Source File: SparqlExtractorUI.java From wandora with GNU General Public License v3.0 | 5 votes |
public void checkSPARQLQuery(String query) { try { Query q = QueryFactory.create(query); WandoraOptionPane.showMessageDialog(wandora, "SPARQL query successfully checked. Syntax OK.", "Syntax OK"); } catch(Exception e) { WandoraOptionPane.showMessageDialog(wandora, "Syntax Error: "+e.getMessage(), "Syntax Error"); //wandora.handleError(e); } }
Example #25
Source File: SPARQLService.java From semanticMDR with GNU General Public License v3.0 | 5 votes |
/** * Runs SPARQL queries * * @param type * Result Format: N3, N-TRIPLE, RDF/XML, RDF/XML-ABBREV, TURTLE * @param query * Sparql for the query * @return */ @GET @Produces({ WebUtil.MEDIA_TYPE_APPLICATION_NTRIPLE, WebUtil.MEDIA_TYPE_APPLICATION_RDFJSON, WebUtil.MEDIA_TYPE_APPLICATION_RDFXML, MediaType.TEXT_PLAIN, WebUtil.MEDIA_TYPE_TEXT_N3, WebUtil.MEDIA_TYPE_TEXT_TURTLE }) public Response selectQuery(@QueryParam("sparql") String query, @Context Request request) { Variant variant = request.selectVariant(WebUtil.VARIANTS); MediaType mediaType = variant.getMediaType(); Repository repository = RepositoryManager.getInstance().getRepository(); OntModel ontModel = repository.getMDRDatabase().getOntModel(); Query q = null; try { query = URLDecoder.decode(query, "UTF-8"); q = QueryFactory.create(query); } catch (Exception exc) { logger.error("Error during the creation of the SPARQL query", exc); return Response.serverError().build(); } QueryExecution qexec = QueryExecutionFactory.create(q, ontModel); Model resultModel = null; if (q.isSelectType()) { ResultSet resultSet = qexec.execSelect(); resultModel = ResultSetFormatter.toModel(resultSet); } else { throw new WebApplicationException(Status.UNAUTHORIZED); } qexec.close(); graphStream.setModel(resultModel); graphStream.setLanguage(WebUtil.getSerializationLanguage(mediaType .toString())); return Response.ok(graphStream).build(); }
Example #26
Source File: RDFStoreDAO.java From aliada-tool with GNU General Public License v3.0 | 5 votes |
/** * It executes a SELECT SPARQL query on the SPARQL endpoint, * to get the resources specified in the query argument. * * @param query the query to execute to get the resources. * @param sparqlEndpointURI the SPARQL endpoint URI. * @param user the user name for the SPARQl endpoint. * @param password the password for the SPARQl endpoint. * @param offset causes the solutions generated to start after * the specified number of solutions. * @param limit upper bound on the number of solutions returned. * @return a list of {@link eu.aliada.shared.rdfstore.RetrievedResource} with the resources. * @since 2.0 */ public RetrievedResource[] getResources(final String query, final String sparqlEndpointURI, final String user, final String password, final int offset, final int limit) { final ArrayList<RetrievedResource> resList = new ArrayList<RetrievedResource>(); try { // Execute the query and obtain results final QueryExecution qexec = QueryExecutionFactory.sparqlService( sparqlEndpointURI, QueryFactory.create(query), auth(sparqlEndpointURI, user, password)); qexec.setTimeout(2000, 5000); final ResultSet results = qexec.execSelect() ; while (results.hasNext()) { final QuerySolution soln = results.nextSolution() ; final Resource res = soln.getResource("res"); String name = ""; if(soln.contains("name")) { name = soln.getLiteral("name").getString(); } final RetrievedResource retrievedRes = new RetrievedResource(res.getURI(), name); resList.add(retrievedRes); } qexec.close() ; } catch (Exception exception) { LOGGER.error(MessageCatalog._00035_SPARQL_FAILED, exception, query); } if (resList.isEmpty()) { return new RetrievedResource[0]; } return (RetrievedResource[]) resList.toArray(new RetrievedResource[resList.size()]); }
Example #27
Source File: QueryOptimizer.java From anno4j with Apache License 2.0 | 5 votes |
/** * 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(); }
Example #28
Source File: QueryOptimizer.java From anno4j with Apache License 2.0 | 5 votes |
/** * 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(); }
Example #29
Source File: ModelImplJena.java From semweb4j with BSD 2-Clause "Simplified" License | 5 votes |
@Override public QueryResultTable sparqlSelect(String queryString) throws ModelRuntimeException { assertModel(); log.debug("Query " + queryString); Query query = QueryFactory.create(queryString); return new QueryResultTableImpl(query, this.jenaModel); }
Example #30
Source File: ModelImplJena.java From semweb4j with BSD 2-Clause "Simplified" License | 5 votes |
@Override public boolean sparqlAsk(String queryString) throws ModelRuntimeException { assertModel(); log.debug("Query " + queryString); Query query = QueryFactory.create(queryString); if(!query.isAskType()) { throw new ModelRuntimeException("The given query is not an ASK query"); } // else QueryExecution qexec = QueryExecutionFactory.create(query, this.jenaModel); return qexec.execAsk(); }