From: <lor...@us...> - 2013-06-12 09:00:39
|
Revision: 3991 http://sourceforge.net/p/dl-learner/code/3991 Author: lorenz_b Date: 2013-06-12 09:00:36 +0000 (Wed, 12 Jun 2013) Log Message: ----------- Added methods to export class hierarchy as set of axioms. Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/core/owl/ClassHierarchy.java Modified: trunk/components-core/src/main/java/org/dllearner/core/owl/ClassHierarchy.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/owl/ClassHierarchy.java 2013-06-12 08:59:59 UTC (rev 3990) +++ trunk/components-core/src/main/java/org/dllearner/core/owl/ClassHierarchy.java 2013-06-12 09:00:36 UTC (rev 3991) @@ -28,6 +28,8 @@ import org.apache.log4j.Logger; import org.dllearner.utilities.owl.ConceptComparator; +import org.dllearner.utilities.owl.OWLAPIConverter; +import org.semanticweb.owlapi.model.OWLAxiom; /** * Represents a subsumption hierarchy (ignoring equivalent concepts). @@ -381,6 +383,31 @@ return new ClassHierarchy(subsumptionHierarchyUpNew, subsumptionHierarchyDownNew); } + public Set<Axiom> toAxioms(){ + return toAxioms(Thing.instance); + } + + public Set<OWLAxiom> toOWLAPIAxioms(){ + Set<OWLAxiom> owlAxioms = new HashSet<OWLAxiom>(); + Set<Axiom> axioms = toAxioms(); + for(Axiom axiom : axioms){ + owlAxioms.add(OWLAPIConverter.getOWLAPIAxiom(axiom)); + } + return owlAxioms; + } + + public Set<Axiom> toAxioms(Description concept){ + Set<Axiom> axioms = new HashSet<Axiom>(); + Set<Description> subConcepts = subsumptionHierarchyDown.get(concept); + if (subConcepts != null) { + for (Description sub : subConcepts){ + axioms.add(new SubClassAxiom(sub, concept)); + axioms.addAll(toAxioms(sub)); + } + } + return axioms; + } + /** * Checks whether the description is contained in the hierarchy. * @param description This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |