Refine search
private QuerySolution getQuerySolutionFromOntDB(final String queryExpression) throws IOException, NotAvailableException { final ResultSet resultSet = SparqlHttp.sparqlQuery(queryExpression, OntConfig.getOntologyDbUrl()); if (resultSet == null || !resultSet.hasNext()) { throw new NotAvailableException("Could not get resultSet of query, because query result is invalid! Query wrong?"); } return resultSet.next(); }
public SortedSet<OWLClassExpression> getMeaningfulClasses(OWLClassExpression index, SortedSet<OWLClassExpression> targetClasses) { String query = buildMeaningfulClassesQuery(index, targetClasses); if (logger.isDebugEnabled()) logger.debug(sparql_debug, query); SortedSet<OWLClassExpression> meaningfulClasses = new TreeSet<>(); ResultSet rs = executeSelectQuery(query); while(rs.hasNext()) { QuerySolution qs = rs.next(); meaningfulClasses.add(df.getOWLClass(IRI.create(qs.getResource("concept").getURI()))); } return meaningfulClasses; }
public int getObjectCountForProperty(OWLObjectProperty p, long timeout, TimeUnit timeoutUnits){ int cnt = -1; String query = String.format( "SELECT (COUNT(DISTINCT ?o) AS ?cnt) WHERE {?s <%s> ?o.}", p.toStringID()); ResultSet rs = executeSelectQuery(query, timeout, timeoutUnits); if(rs.hasNext()){ cnt = rs.next().getLiteral("cnt").getInt(); } return cnt; }
public int getSubjectCountForProperty(OWLProperty p, long timeout, TimeUnit timeoutUnits){ int cnt = -1; String query = String.format( "SELECT (COUNT(DISTINCT ?s) AS ?cnt) WHERE {?s <%s> ?o.}", p.toStringID()); ResultSet rs = executeSelectQuery(query, timeout, timeoutUnits); if(rs.hasNext()){ cnt = rs.next().getLiteral("cnt").getInt(); } return cnt; }
public Set<OWLClass> getTypes(String namespace, boolean omitEmptyTypes) { Set<OWLClass> types = new TreeSet<>(); String query = "SELECT DISTINCT ?cls WHERE {[] a ?cls ." + (omitEmptyTypes ? "[] a ?cls ." : "" ) + (namespace != null ? ("FILTER(REGEX(?cls,'^" + namespace + "'))") : "") + "}"; ResultSet rs = executeSelectQuery(query); while(rs.hasNext()){ QuerySolution qs = rs.next(); types.add(df.getOWLClass(IRI.create(qs.getResource("cls").getURI()))); } return types; }
public SortedSet<OWLClass> getMostSpecificClasses() { SortedSet<OWLClass> classes = new TreeSet<>(); String query = "SELECT ?cls WHERE {?cls a <http://www.w3.org/2002/07/owl#Class>. " + "FILTER NOT EXISTS{?sub <http://www.w3.org/2000/01/rdf-schema#subClassOf> ?cls. FILTER(?sub != <http://www.w3.org/2002/07/owl#Nothing>)}}"; ResultSet rs = executeSelectQuery(query); QuerySolution qs; while(rs.hasNext()){ qs = rs.next(); classes.add(df.getOWLClass(IRI.create(qs.getResource("cls").getURI()))); } return classes; }
public SortedSet<OWLObjectProperty> getInverseObjectProperties(OWLObjectProperty property){ SortedSet<OWLObjectProperty> inverseObjectProperties = new TreeSet<>(); String query = "SELECT ?p WHERE {" + "{<%p> <%ax> ?p.} UNION {?p <%ax> <%p>}}".replace("%p", property.toStringID()).replace("%ax", OWL.inverseOf.getURI()); ResultSet rs = executeSelectQuery(query); QuerySolution qs; while(rs.hasNext()){ qs = rs.next(); inverseObjectProperties.add(df.getOWLObjectProperty(IRI.create(qs.getResource("p").getURI()))); } return inverseObjectProperties; }
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; }
@Override public Map<OWLIndividual, SortedSet<OWLLiteral>> getDatatypeMembersImpl(OWLDataProperty dataProperty) { Map<OWLIndividual, SortedSet<OWLLiteral>> subject2objects = new HashMap<>(); String query = String.format(SPARQLQueryUtils.SELECT_PROPERTY_RELATIONSHIPS_QUERY, dataProperty.toStringID()); ResultSet rs = executeSelectQuery(query); while(rs.hasNext()){ QuerySolution qs = rs.next(); OWLIndividual sub = df.getOWLNamedIndividual(IRI.create(qs.getResource("var1").getURI())); OWLLiteral obj = OwlApiJenaUtils.getOWLLiteral(qs.getLiteral("var2")); subject2objects.computeIfAbsent(sub, k -> new TreeSet<>()).add(obj); } return subject2objects; }