Java Code Examples for com.hp.hpl.jena.query.QueryExecution#execDescribe()
The following examples show how to use
com.hp.hpl.jena.query.QueryExecution#execDescribe() .
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: RDFFileManager.java From Benchmark with GNU General Public License v3.0 | 6 votes |
private static void extractEventPattern(EventDeclaration ed, Dataset dataset, Map<String, EventDeclaration> edMap) throws CloneNotSupportedException { String desribeStr = queryPrefix + " describe ?z where {<" + ed.getnodeId() + "> owls:presents ?y. ?y ces:hasPattern ?z.}"; QueryExecution qe1 = QueryExecutionFactory.create(desribeStr, dataset); Model patternModel = qe1.execDescribe(); // RDFDataMgr.write(System.out, patternModel, Lang.TURTLE); EventPattern ep = new EventPattern(); ep.setID("EP-" + ed.getnodeId()); // ep.setFilters(new HashMap<String, List<Filter>>()); String queryRoot = queryPrefix + " select ?z where {<" + ed.getnodeId() + "> owls:presents ?y. ?y ces:hasPattern ?z.}"; QueryExecution qe2 = QueryExecutionFactory.create(queryRoot, dataset); ResultSet results = qe2.execSelect(); if (results.hasNext()) { ed.setEp(ep); RDFNode root = results.next().get("z"); traverseToExtract(0, root, patternModel, ep, dataset, edMap); extractSelectionMap(root, patternModel, ep, dataset, edMap); // System.out.println("EP extracted: " + ep.toString()); } // traverse // RDFDataMgr.write(System.out, results, Lang.TURTLE); }
Example 2
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 3
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 4
Source File: Sparql.java From DataHubSystem with GNU Affero General Public License v3.0 | 4 votes |
@Override public Object execute(Map<String, EdmLiteral> parameters) throws ODataException { EdmLiteral query_lit = parameters.remove("query"); // Olingo2 checks for presence of non-nullable parameters for us! String query_s = query_lit.getLiteral(); Query query = QueryFactory.create(query_s); if (!(query.isSelectType() || query.isDescribeType())) { throw new InvalidOperationException(query.getQueryType()); } DrbCortexModel cortexmodel; try { cortexmodel = DrbCortexModel.getDefaultModel(); } catch (IOException ex) { throw new RuntimeException(ex); } Model model = cortexmodel.getCortexModel().getOntModel(); QueryExecution qexec = null; // FIXME: QueryExecution in newer versions of Jena (post apache incubation) implement AutoClosable. try { qexec = QueryExecutionFactory.create(query, model); if (query.isSelectType()) { ResultSet results = qexec.execSelect(); return ResultSetFormatter.asXMLString(results); } else { Model description = qexec.execDescribe(); // newer version of Jena have the RIOT package for I/O StringWriter strwrt = new StringWriter(); Abbreviated abb = new Abbreviated(); abb.write(description, strwrt, null); return strwrt.toString(); } } finally { if (qexec != null) { qexec.close(); } } }
Example 5
Source File: ResourceDescriptionServlet.java From GeoTriples with Apache License 2.0 | 4 votes |
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { D2RServer server = D2RServer.fromServletContext(getServletContext()); server.checkMappingFileChanged(); String relativeResourceURI = request.getRequestURI().substring( request.getContextPath().length() + request.getServletPath().length()); // Some servlet containers keep the leading slash, some don't if (!"".equals(relativeResourceURI) && "/".equals(relativeResourceURI.substring(0, 1))) { relativeResourceURI = relativeResourceURI.substring(1); } if (request.getQueryString() != null) { relativeResourceURI = relativeResourceURI + "?" + request.getQueryString(); } /* Determine service stem, i.e. vocab/ in /[vocab/]data */ int servicePos; if (-1 == (servicePos = request.getServletPath().indexOf( "/" + D2RServer.getDataServiceName()))) throw new ServletException("Expected to find service path /" + D2RServer.getDataServiceName()); String serviceStem = request.getServletPath().substring(1, servicePos + 1); String resourceURI = RequestParamHandler .removeOutputRequestParam(server.resourceBaseURI(serviceStem) + relativeResourceURI); String documentURL = server.dataURL(serviceStem, relativeResourceURI); String pageURL = server.pageURL(serviceStem, relativeResourceURI); String sparqlQuery = "DESCRIBE <" + resourceURI + ">"; QueryExecution qe = QueryExecutionFactory.create(sparqlQuery, server.dataset()); if (server.getConfig().getPageTimeout() > 0) { qe.setTimeout(Math.round(server.getConfig().getPageTimeout() * 1000)); } Model description = qe.execDescribe(); qe.close(); if (description.size() == 0) { response.sendError(404); } if (description.qnameFor(FOAF.primaryTopic.getURI()) == null && description.getNsPrefixURI("foaf") == null) { description.setNsPrefix("foaf", FOAF.NS); } Resource resource = description.getResource(resourceURI); Resource document = description.getResource(documentURL); document.addProperty(FOAF.primaryTopic, resource); Statement label = resource.getProperty(RDFS.label); if (label != null) { document.addProperty(RDFS.label, "RDF Description of " + label.getString()); } server.addDocumentMetadata(description, document); if (server.getConfig().serveMetadata()) { // add document metadata from template Model resourceMetadataTemplate = server.getConfig().getResourceMetadataTemplate( server, getServletContext()); MetadataCreator resourceMetadataCreator = new MetadataCreator( server, resourceMetadataTemplate); description.add(resourceMetadataCreator.addMetadataFromTemplate( resourceURI, documentURL, pageURL)); Map<String, String> descPrefixes = description.getNsPrefixMap(); descPrefixes.putAll(resourceMetadataTemplate.getNsPrefixMap()); description.setNsPrefixes(descPrefixes); } // TODO: Add a Content-Location header new ModelResponse(description, request, response).serve(); }