From: <lor...@us...> - 2014-02-08 12:46:51
|
Revision: 4220 http://sourceforge.net/p/dl-learner/code/4220 Author: lorenz_b Date: 2014-02-08 12:46:48 +0000 (Sat, 08 Feb 2014) Log Message: ----------- Added method to get properties used by instances of given class. Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java Modified: trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2014-02-03 14:41:54 UTC (rev 4219) +++ trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2014-02-08 12:46:48 UTC (rev 4220) @@ -150,6 +150,10 @@ } } + public SPARQLReasoner(SparqlEndpoint endpoint, String cacheDirectory) { + this(new SparqlEndpointKS(endpoint), cacheDirectory); + } + public SPARQLReasoner(SparqlEndpointKS ks, CacheCoreEx cacheBackend) { this(ks, new CacheExImpl(cacheBackend)); } @@ -1301,6 +1305,34 @@ return null; } + public Set<ObjectProperty> getObjectPropertiesWithDomain(NamedClass domain) { + Set<ObjectProperty> properties = new TreeSet<>(); + + String query = "SELECT ?p WHERE {?p <http://www.w3.org/2000/01/rdf-schema#domain> <" + domain + ">.}"; + ResultSet rs = executeSelectQuery(query); + QuerySolution qs; + while(rs.hasNext()){ + qs = rs.next(); + properties.add(new ObjectProperty(qs.getResource("p").getURI())); + } + + return properties; + } + + public Set<ObjectProperty> getObjectProperties(NamedClass cls) { + Set<ObjectProperty> properties = new TreeSet<>(); + + String query = "SELECT DISTINCT ?p WHERE {?s a <" + cls + ">. ?s ?p ?o}"; + ResultSet rs = executeSelectQuery(query); + QuerySolution qs; + while(rs.hasNext()){ + qs = rs.next(); + properties.add(new ObjectProperty(qs.getResource("p").getURI())); + } + + return properties; + } + public SortedSet<NamedClass> getDomains(ObjectProperty objectProperty) { String query = String.format("SELECT ?domain WHERE {" + "<%s> <%s> ?domain. FILTER(isIRI(?domain))" + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |