public static boolean checkContainment(CompanyModel c){ String queryString = "ASK" + // check whether any manager is an employee in any other department "{?dept1" + " <" + c.MANAGER + "> " + "?manager" + ". " + " ?dept2" + " <" + c.EMPLOYEES + "> " + "?employees1" + ". " + " ?employees1" + " <" + RDFS.member + "> " + "?employee1" + ". " + " FILTER (?manager = ?employee1) " + // check whether any employee occurs more than once " ?dept3 " + " <" + c.EMPLOYEES + "> " + "?employees2" + ". " + " ?employees2" + " <" + RDFS.member + "> " + "?employee2" + ". " + " FILTER (?employee1 = ?employee2)" + // check whether any department occurs more than once " ?upperDept1" + " <" + c.DEPTS + "> " + "?dept4" + ". " + " ?upperDept2" + " <" + c.DEPTS + "> " + "?dept5" + ". " + " FILTER (?dept4 = ?dept5) " + "}"; Query query = QueryFactory.create(queryString); QueryExecution qe = QueryExecutionFactory.create(query, c.getModel()); boolean out = qe.execAsk(); qe.close(); return !out; }
private List<Statement> expandSubClasses(Model model){ List<Statement> stmts = new ArrayList<Statement>(); String sparql = "PREFIX rdfs: <" + RDFS.getURI() + ">" + "SELECT DISTINCT ?class ?synonym " + "WHERE { " + "?class rdfs:subClassOf+ ?subClass . " + "?subClass <" + synonym + "> ?synonym" + "}"; Query query = QueryFactory.create(sparql, Syntax.syntaxARQ); QueryExecution queryExecution = QueryExecutionFactory.create(query, model); ResultSet resultSet = queryExecution.execSelect(); resultSet.forEachRemaining(querySolution -> { stmts.add(new StatementImpl(querySolution.getResource("class"), synonym, querySolution.getLiteral("synonym"))); }); return stmts; }
private List<Statement> expandSubProperties(Model model){ List<Statement> stmts = new ArrayList<Statement>(); String sparql = "PREFIX rdfs: <" + RDFS.getURI() + ">" + "SELECT DISTINCT ?property ?synonym " + "WHERE { " + "?property rdfs:subPropertyOf+ ?subProperty . " + "?subProperty <" + synonym + "> ?synonym" + "}"; Query query = QueryFactory.create(sparql, Syntax.syntaxARQ); QueryExecution queryExecution = QueryExecutionFactory.create(query, model); ResultSet resultSet = queryExecution.execSelect(); resultSet.forEachRemaining(querySolution -> { stmts.add(new StatementImpl(querySolution.getResource("property"), synonym, querySolution.getLiteral("synonym"))); }); return stmts; }
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(); }
private Set<String> getTypesFromSPARQL(String sparqlQueryString) { Query query = QueryFactory.create(sparqlQueryString); QueryExecution qexec = QueryExecutionFactory.sparqlService(this.endpoint, query); Set<String> types = new HashSet<>(); ResultSet results = qexec.execSelect(); while(results.hasNext()) { QuerySolution qs = results.next(); Resource type = qs.getResource("?type"); types.add(type.getURI()); } qexec.close(); return types; }
private void runQueryButtonActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_runQueryButtonActionPerformed List<String> lines = null; try { lines = Files.readAllLines(queryPath); } catch (IOException ex) { Logger.getLogger(Ontogui.class.getName()).log(Level.SEVERE, null, ex); } String queryString = ""; for (String line : lines) { queryString += line + System.lineSeparator(); } Query query = QueryFactory.create(queryString, Syntax.syntaxARQ); queryResultArea.setText("Starting query: " + queryPath.toFile().getName() + "\n"); Thread t = new Thread(new QueryProcessor(query, new QueryAreaStream( queryResultArea), dataset, checkbox1.getState())); t.start(); }
private void runSmellAnalysisButtonActionPerformed( java.awt.event.ActionEvent evt) {// GEN-FIRST:event_runSmellAnalysisButtonActionPerformed String filename = smellName; File smellFile = new File(System.getProperty("user.dir") + "/sparql/smells/" + filename.replaceAll(" ", "") + ".sparql"); List<String> lines = null; try { lines = Files.readAllLines(smellFile.toPath()); } catch (IOException ex) { Logger.getLogger(Ontogui.class.getName()).log(Level.SEVERE, null, ex); } String queryString = ""; for (String line : lines) { queryString += line + System.lineSeparator(); } Query query = QueryFactory.create(queryString, Syntax.syntaxARQ); queryResultArea.setText("Starting analysis: " + smellName + "\n"); Thread t = new Thread(new QueryProcessor(query, new QueryAreaStream( queryResultArea), dataset, checkbox1.getState())); t.start(); }
private void runMetricsButtonActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_runMetricsButtonActionPerformed String folder = metricName.split(":")[0].toLowerCase(); String filename = metricName.split(":")[1]; File metricFile = new File(System.getProperty("user.dir") + "/sparql/metrics/" + folder + "/" + filename + ".sparql"); List<String> lines = null; try { lines = Files.readAllLines(metricFile.toPath()); } catch (IOException ex) { Logger.getLogger(Ontogui.class.getName()).log(Level.SEVERE, null, ex); } String queryString = ""; for (String line : lines) { queryString += line + System.lineSeparator(); } Query query = QueryFactory.create(queryString, Syntax.syntaxARQ); queryResultArea.setText("Starting analysis:" + metricName + "\n"); System.err.println(checkbox1.isEnabled()); Thread t = new Thread(new QueryProcessor(query, new QueryAreaStream( queryResultArea), dataset, checkbox1.getState())); t.start(); }
@Test public void testMetric_TotalBuilds() { Query query = QueryFactory. create( loadResource("/metrics/total_builds.sparql")); QueryExecution queryExecution = null; try { queryExecution = QueryExecutionFactory.create(query, buildsDataSet()); ResultSet results = queryExecution.execSelect(); for(; results.hasNext();) { QuerySolution solution = results.nextSolution(); long buildId = solution.getLiteral("total_builds").getLong(); System.out.printf("Total builds: %d%n",buildId); } } finally { if (queryExecution != null) { queryExecution.close(); } } }
@Test public void testMetric_TotalExecutions_Global() { Query query = QueryFactory. create( loadResource("/metrics/total_executions_global.sparql")); QueryExecution queryExecution = null; try { queryExecution = QueryExecutionFactory.create(query, executionsDataSet()); ResultSet results = queryExecution.execSelect(); for(; results.hasNext();) { QuerySolution solution = results.nextSolution(); long total_executions = solution.getLiteral("total_executions").getLong(); System.out.printf("Total executions: %d%n",total_executions); } } finally { if (queryExecution != null) { queryExecution.close(); } } }
@Test public void testMetric_TotalExecutions_PerBuild() { Query query = QueryFactory. create( loadResource("/metrics/total_executions_per_build.sparql")); QueryExecution queryExecution = null; try { queryExecution = QueryExecutionFactory.create(query, executionsDataSet()); ResultSet results = queryExecution.execSelect(); for(; results.hasNext();) { QuerySolution solution = results.nextSolution(); long total_executions = solution.getLiteral("total_executions").getLong(); String buildId = shorten(solution.getResource("build").getURI()); System.out.printf("Total executions of build %s: %d%n",buildId,total_executions); } } finally { if (queryExecution != null) { queryExecution.close(); } } }
@Test public void testMetric_TotalSuccesfulExecutions_Global() { Query query = QueryFactory. create( loadResource("/metrics/total_succesful_executions_global.sparql")); QueryExecution queryExecution = null; try { queryExecution = QueryExecutionFactory.create(query, executionsDataSet()); ResultSet results = queryExecution.execSelect(); for(; results.hasNext();) { QuerySolution solution = results.nextSolution(); long total_executions = solution.getLiteral("total_executions").getLong(); System.out.printf("Total succesful executions: %d%n",total_executions); } } finally { if (queryExecution != null) { queryExecution.close(); } } }
@Test public void testMetric_TotalSuccesfulExecutions_Global_Period() { Query query = QueryFactory. create( loadResource("/metrics/total_succesful_executions_global_period.sparql")); QueryExecution queryExecution = null; try { queryExecution = QueryExecutionFactory.create(query, executionsDataSet()); ResultSet results = queryExecution.execSelect(); for(; results.hasNext();) { QuerySolution solution = results.nextSolution(); long total_executions = solution.getLiteral("total_executions").getLong(); String day = solution.getLiteral("day").getString(); System.out.printf("Total succesful executions [%s]: %d%n",day,total_executions); } } finally { if (queryExecution != null) { queryExecution.close(); } } }
@Test public void testMetric_TotalSuccesfulExecutions_PerBuild() { Query query = QueryFactory. create( loadResource("/metrics/total_succesful_executions_per_build.sparql")); QueryExecution queryExecution = null; try { queryExecution = QueryExecutionFactory.create(query, executionsDataSet()); ResultSet results = queryExecution.execSelect(); for(; results.hasNext();) { QuerySolution solution = results.nextSolution(); long total_executions = solution.getLiteral("total_executions").getLong(); String buildId = shorten(solution.getResource("build").getURI()); System.out.printf("Total succesful executions of build %s: %d%n",buildId,total_executions); } } finally { if (queryExecution != null) { queryExecution.close(); } } }
@Test public void testMetric_TotalBrokenExecutions_Global() { Query query = QueryFactory. create( loadResource("/metrics/total_broken_executions_global.sparql")); QueryExecution queryExecution = null; try { queryExecution = QueryExecutionFactory.create(query, executionsDataSet()); ResultSet results = queryExecution.execSelect(); for(; results.hasNext();) { QuerySolution solution = results.nextSolution(); long total_executions = solution.getLiteral("total_executions").getLong(); System.out.printf("Total broken executions: %d%n",total_executions); } } finally { if (queryExecution != null) { queryExecution.close(); } } }
@Test public void testMetric_TotalBrokenExecutions_PerBuild() { Query query = QueryFactory. create( loadResource("/metrics/total_broken_executions_per_build.sparql")); QueryExecution queryExecution = null; try { queryExecution = QueryExecutionFactory.create(query, executionsDataSet()); ResultSet results = queryExecution.execSelect(); for(; results.hasNext();) { QuerySolution solution = results.nextSolution(); long total_executions = solution.getLiteral("total_executions").getLong(); String buildId = shorten(solution.getResource("build").getURI()); System.out.printf("Total broken executions of build %s: %d%n",buildId,total_executions); } } finally { if (queryExecution != null) { queryExecution.close(); } } }
public String executeQuery() { Query query = QueryFactory.create(this.getQuery(), Syntax.syntaxARQ); Op op = Algebra.compile(query); try { if(new String("internal").equals(this.service)) { this.results = jenaService.runLocalOp(op); } else if (new String("external").equals(this.service)) { this.results = jenaService.runExternalOp(op); } } catch (Exception e) { e.printStackTrace(); } finally { } return ("success"); }
/** * Run SPARQL query * @param uri uri resource * @param p property * @return results map: uri-s (if uri is a subject), uri-o (if uri is an object) */ private TObjectCharHashMap<String> runQuery(String uri, String p){ TObjectCharHashMap<String> results = new TObjectCharHashMap<String>(); Query query; String q; q = "SELECT * WHERE {{?s " + p + " <" + uri + ">. FILTER isIRI(?s). } UNION " + "{<" + uri + "> " + p + " ?o ." + " FILTER isIRI(?o). }} "; logger.debug(q); try { query = QueryFactory.create(q); results = executeQuery(query, p); } catch (Exception e) { e.printStackTrace(); } return results; }
/** * Run SPARQL query * @param uri resource uri * @param p property * @return results map: uri-s (if uri is a subject), uri-o (if uri is an object) */ private TObjectByteHashMap<String> runQuery(String uri, String p){ TObjectByteHashMap<String> results = new TObjectByteHashMap<String>(); Query query; String q; q = "SELECT * WHERE {{?s " + p + " <" + uri + ">. FILTER isIRI(?s). } UNION " + "{<" + uri + "> " + p + " ?o ." + " FILTER isIRI(?o). }} "; logger.debug(q); try { query = QueryFactory.create(q); results = executeQuery(query, p); } catch (Exception e) { e.printStackTrace(); } return results; }
public String getRedirect(final String entityUri) { final String query = "SELECT ?types WHERE{ <" + entityUri + "> <http://dbpedia.org/ontology/wikiPageRedirects> ?types. }"; ResultSet results = null; QueryExecution qexec = null; try { final com.hp.hpl.jena.query.Query cquery = QueryFactory .create(query); qexec = QueryExecutionFactory.create(cquery, redirects); results = qexec.execSelect(); } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } finally { if (results != null) { while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); final String type = sol.getResource("types").toString(); return type; } } } return null; }
private String checkAvailability(String resource) { try { Query query = QueryFactory .create("SELECT ?label WHERE{ <" + resource + "> <http://www.w3.org/2000/01/rdf-schema#label> ?label. }"); QueryExecution qe = QueryExecutionFactory.create(query, this.m_l); ResultSet results = qe.execSelect(); if (results.hasNext()) { return resource; } } catch (Exception e) { return ""; } return ""; }
private String checkRedirects(String resource) { String result = resource; try { Query query = QueryFactory .create("SELECT ?redirect WHERE{ <" + resource + "> <http://dbpedia.org/ontology/wikiPageRedirects> ?redirect. }"); QueryExecution qe = QueryExecutionFactory.create(query, this.m); ResultSet results = qe.execSelect(); while (results.hasNext()) { QuerySolution sol = results.nextSolution(); result = sol.getResource("redirect").getURI(); } } catch (Exception e) { return resource; } return result; }
private Set<String> queryEntitiesFromCategory(final String catUri) { Set<String> set = new HashSet<String>(); final String query = "SELECT ?entities WHERE{ ?entities <http://purl.org/dc/terms/subject> <" + catUri + ">. }"; try { final com.hp.hpl.jena.query.Query cquery = QueryFactory .create(query); final QueryExecution qexec = QueryExecutionFactory .create(cquery, m); final ResultSet results = qexec.execSelect(); while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); set.add(sol.getResource("entities").getURI() .replaceAll("http://dbpedia.org/resource/", "")); } } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } return set; }
private String queryEntitiesFromCategory(final String catUri) { String res = null; final String query = "SELECT ?entities WHERE{ ?entities <http://purl.org/dc/terms/subject> <" + catUri + ">. }"; try { final com.hp.hpl.jena.query.Query cquery = QueryFactory .create(query); final QueryExecution qexec = QueryExecutionFactory .create(cquery, m); final ResultSet results = qexec.execSelect(); List<String> entities = new LinkedList<String>(); while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); entities.add(sol.getResource("entities").getURI()); } if (entities.size() != 0) { int randomNr = this.random.nextInt(entities.size()); return entities.get(randomNr); } } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } return res; }
private boolean hasSubCategory(String uri) { final String query = "SELECT ?entities WHERE{ ?types <http://www.w3.org/2004/02/skos/core#broader> <" + uri + ">. }"; boolean hasSubtype = false; try { final com.hp.hpl.jena.query.Query cquery = QueryFactory .create(query); final QueryExecution qexec = QueryExecutionFactory .create(cquery, skosModel); final ResultSet results = qexec.execSelect(); while (results.hasNext()) { hasSubtype = true; break; } } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } return hasSubtype; }
private String getRedirect(String uri) { final Model model = DisambiguationMainService.getInstance().getDBpediaRedirects(); final String query = "SELECT ?label WHERE{ <" + uri + "> <http://dbpedia.org/ontology/wikiPageRedirects> ?label. }"; ResultSet results = null; QueryExecution qexec = null; String redirect = null; try { final com.hp.hpl.jena.query.Query cquery = QueryFactory.create(query); qexec = QueryExecutionFactory.create(cquery, model); results = qexec.execSelect(); } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } finally { if (results.hasNext()) { final QuerySolution sol = results.nextSolution(); redirect = sol.getResource("label").getURI(); } } return redirect; }
public static Set<Type> getRDFTypesFromEntity(final String entityUri) { Set<Type> set = new HashSet<Type>(); final Model model = DisambiguationMainService.getInstance().getDBPediaInstanceTypes(); final String query = "SELECT ?types WHERE{ <" + entityUri + "> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?types. }"; ResultSet results = null; QueryExecution qexec = null; try { final com.hp.hpl.jena.query.Query cquery = QueryFactory .create(query); qexec = QueryExecutionFactory.create(cquery, model); results = qexec.execSelect(); } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } finally { if (results != null) { while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); final String type = sol.getResource("types").toString(); set.add(new Type("", type, true, 0)); } } } return set; }
public static String getDbPediaDescription(final String uri) throws QueryException { String res = null; final Model model = DisambiguationMainService.getInstance() .getDBPediaDescription(); final String query = "SELECT ?description WHERE{ <" + uri + "> <http://dbpedia.org/ontology/abstract> ?description. }"; ResultSet results = null; // NOPMD by quh on 14.02.14 10:04 QueryExecution qexec = null; try { final com.hp.hpl.jena.query.Query cquery = QueryFactory .create(query); qexec = QueryExecutionFactory.create(cquery, model); results = qexec.execSelect(); } finally { if ((results != null) && results.hasNext()) { res = results.nextSolution().getLiteral("description") .getString(); } if (qexec != null) { qexec.close(); } } return res; }
public static List<String> getDbPediaLabel(final String uri) throws QueryException { final List<String> labellist = new LinkedList<String>(); final Model model = DisambiguationMainService.getInstance() .getDBPediaLabels(); final String query = "SELECT ?label WHERE{ <" + uri + "> <http://www.w3.org/2000/01/rdf-schema#label> ?label. }"; ResultSet results = null; // NOPMD by quh on 14.02.14 10:04 QueryExecution qexec = null; final com.hp.hpl.jena.query.Query cquery = QueryFactory.create(query); qexec = QueryExecutionFactory.create(cquery, model); results = qexec.execSelect(); if (results != null) { while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); final String label = sol.getLiteral("label").getLexicalForm(); labellist.add(label); } qexec.close(); } return labellist; }
public static List<String> getDbPediaLabel_GER(final String uri) throws QueryException { final List<String> labellist = new LinkedList<String>(); final Model model = DisambiguationMainService.getInstance() .getDBPediaLabels_GER(); final String query = "SELECT ?label WHERE{ <" + uri + "> <http://www.w3.org/2000/01/rdf-schema#label> ?label. }"; ResultSet results = null; // NOPMD by quh on 14.02.14 10:04 QueryExecution qexec = null; final com.hp.hpl.jena.query.Query cquery = QueryFactory.create(query); qexec = QueryExecutionFactory.create(cquery, model); results = qexec.execSelect(); if (results != null) { while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); final String label = sol.getLiteral("label").getLexicalForm(); labellist.add(label); } qexec.close(); } return labellist; }
private static String queryDbPediaCategoryLabel(final String catUri) { String res = null; final Model model = DisambiguationMainService.getInstance() .getDBPediaCategoryLabels(); final String query = "SELECT ?label WHERE{ <" + catUri + "> <http://www.w3.org/2000/01/rdf-schema#label> ?label. }"; try { final com.hp.hpl.jena.query.Query cquery = QueryFactory .create(query); final QueryExecution qexec = QueryExecutionFactory.create(cquery, model); final ResultSet results = qexec.execSelect(); // NOPMD by quh on // 18.02.14 15:05 while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); final String name = sol.getLiteral("label").getLexicalForm(); res = name; } } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } return res; }
private static String queryDbPediaCategoryLabel_GER(final String catUri) { String res = null; final Model model = DisambiguationMainService.getInstance() .getDBPediaCategoryLabels_GER(); final String query = "SELECT ?label WHERE{ <" + catUri + "> <http://www.w3.org/2000/01/rdf-schema#label> ?label. }"; try { final com.hp.hpl.jena.query.Query cquery = QueryFactory .create(query); final QueryExecution qexec = QueryExecutionFactory.create(cquery, model); final ResultSet results = qexec.execSelect(); // NOPMD by quh on // 18.02.14 15:05 while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); final String name = sol.getLiteral("label").getLexicalForm(); // RDFHack ToDo: Inform how to resolve the dbpedia tql files correctly res = name; } } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } return res; }
public static List<Type> queryYagoCategories(final String uri) { final Model model = DisambiguationMainService.getInstance() .getYagoTransitiveTypes(); final List<Type> types = new LinkedList<Type>(); final String query = "SELECT ?type WHERE{ <" + uri + "> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type. }"; try { final com.hp.hpl.jena.query.Query que = QueryFactory.create(query); final QueryExecution qexec = QueryExecutionFactory.create(que, model); final ResultSet results = qexec.execSelect(); // NOPMD by quh on // 18.02.14 15:05 while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); final String name = sol.getResource("type").toString(); types.add(new Type("", name, true, 0)); } } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } return types; }
private static String queryYagoCategoryLabel(final String catUri) { String res = null; final Model model = DisambiguationMainService.getInstance() .getYagoCategoryLabels(); final String query = "SELECT ?label WHERE{ <" + catUri + "> <http://www.w3.org/2004/02/skos/core#> ?label. }"; try { final com.hp.hpl.jena.query.Query que = QueryFactory.create(query); final QueryExecution qexec = QueryExecutionFactory.create(que, model); final ResultSet results = qexec.execSelect(); // NOPMD by quh on // 18.02.14 15:05 while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); final String name = sol.getLiteral("label").getLexicalForm(); res = name; } } catch (final QueryException e) { Logger.getRootLogger().error(e.getStackTrace()); } return res; }
public List<String> getDbPediaLabel(final String uri) throws QueryException, QueryParseException { final List<String> labellist = new LinkedList<String>(); try { final String query = "SELECT ?label WHERE{ <" + uri + "> <http://www.w3.org/2000/01/rdf-schema#label> ?label. }"; ResultSet results = null; QueryExecution qexec = null; final com.hp.hpl.jena.query.Query cquery = QueryFactory.create(query); qexec = QueryExecutionFactory.create(cquery, this.labelmodel); results = qexec.execSelect(); if (results != null) { while (results.hasNext()) { final QuerySolution sol = results.nextSolution(); final String label = sol.getLiteral("label").getLexicalForm(); labellist.add(label); } qexec.close(); } } catch (QueryParseException e) { Logger.getRootLogger().info("Query parse Exception"); } return labellist; }