@Override public void run() { loadQuery(); loadInput(); execQuery(); printQueryResults(); }
@Override public String getAppCmd() { return "openllet query " + getMandatoryOptions() + "[options] <file URI>..."; }
private void loadInput() { try { loader = (JenaLoader) getLoader("Jena"); final KnowledgeBase kb = getKB(loader); startTask("consistency check"); final boolean isConsistent = kb.isConsistent(); finishTask("consistency check"); if (!isConsistent) throw new OpenlletCmdException("Ontology is inconsistent, run \"openllet explain\" to get the reason"); } catch (final NotFoundException e) { throw new OpenlletCmdException(e); } catch (final QueryParseException e) { throw new OpenlletCmdException(e); } catch (final InconsistentOntologyException e) { throw new OpenlletCmdException("Cannot query inconsistent ontology!", e); } }
private void loadQuery() { try { verbose("Query file: " + queryFile); startTask("parsing query file"); queryString = FileManager.get().readWholeFileAsUTF8(queryFile); query = QueryFactory.create(queryString, queryFormat); finishTask("parsing query file"); verbose("Query: "); verbose("-----------------------------------------------------"); verbose(queryString.trim()); verbose("-----------------------------------------------------"); } catch (final NotFoundException e) { throw new OpenlletCmdException(e); } catch (final QueryParseException e) { throw new OpenlletCmdException(e); } }
@Override public OpenlletCmdOptions getOptions() final OpenlletCmdOptions options = getGlobalOptions(); options.add(option); options.add(getIgnoreImportsOption()); options.add(getInputFormatOption());
@Override protected OpenlletCmdApp create() { return new OpenlletQuery(); } }, "-q", fileIRI("test/data/query/sameAs/sameAs-01.rq"), fileIRI("test/data/query/sameAs/data-01.ttl"));
private void execQuery() { final Dataset dataset = DatasetFactory.create(loader.getModel()); try (QueryExecution qe = (queryEngine == null) ? SparqlDLExecutionFactory.create(query, dataset) : SparqlDLExecutionFactory.create(query, dataset, null, queryEngine)) { verbose("Created query engine: " + qe.getClass().getName()); startTask("query execution"); if (query.isSelectType()) queryResults = ResultSetFactory.makeRewindable(qe.execSelect()); else if (query.isConstructType()) constructQueryModel = qe.execConstruct(); else if (query.isAskType()) askQueryResult = qe.execAsk(); else throw new UnsupportedOperationException("Unsupported query type"); finishTask("query execution"); } }