From: <moa...@us...> - 2013-05-15 13:09:35
|
Revision: 3980 http://sourceforge.net/p/dl-learner/code/3980 Author: moahmedsherif Date: 2013-05-15 13:09:32 +0000 (Wed, 15 May 2013) Log Message: ----------- add getParentClasses() and getChildClasses() 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 2013-05-10 21:55:32 UTC (rev 3979) +++ trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2013-05-15 13:09:32 UTC (rev 3980) @@ -498,6 +498,44 @@ return siblings; } + /** + * Returns a set of classes which are Parent of current class + * in the class hierarchy. + * @param cls + * @param limit + * @return + */ + public Set<NamedClass> getParentClasses(NamedClass cls) { + Set<NamedClass> parents = new HashSet<NamedClass>(); + String query = "SELECT DISTINCT ?parentClass WHERE { <" + cls.getName() + "> <http://www.w3.org/2000/01/rdf-schema#subClassOf> ?parentClass }"; + ResultSet rs = executeSelectQuery(query); + QuerySolution qs; + while(rs.hasNext()){ + qs = rs.next(); + parents.add(new NamedClass(qs.getResource("parentClass").getURI())); + } + return parents; + } + + /** + * Returns a set of classes which are children of current class + * in the class hierarchy. + * @param cls + * @param limit + * @return + */ + public Set<NamedClass> getChildClasses(NamedClass cls) { + Set<NamedClass> children = new HashSet<NamedClass>(); + String query = "SELECT DISTINCT ?childClass WHERE { ?childClass <http://www.w3.org/2000/01/rdf-schema#subClassOf> <" + cls.getName() + ">}"; + ResultSet rs = executeSelectQuery(query); + QuerySolution qs; + while(rs.hasNext()){ + qs = rs.next(); + children.add(new NamedClass(qs.getResource("childClass").getURI())); + } + return children; + } + @Override public boolean hasType(Description description, Individual individual) { if(!(description instanceof NamedClass)){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |