From: <lor...@us...> - 2009-06-18 07:54:00
|
Revision: 1804 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1804&view=rev Author: lorenz_b Date: 2009-06-18 07:53:24 +0000 (Thu, 18 Jun 2009) Log Message: ----------- swapped out axiom selection Function to static class Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/HittingSet.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/RootFinder.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/SyntacticRelevanceBasedExplanationGenerator.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/AxiomSelector.java Added: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/AxiomSelector.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/AxiomSelector.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/AxiomSelector.java 2009-06-18 07:53:24 UTC (rev 1804) @@ -0,0 +1,52 @@ +package org.dllearner.tools.ore.explanation; + +import java.util.HashSet; +import java.util.Set; + +import org.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLOntology; + +public class AxiomSelector { + + public static Set<OWLAxiom> getSyntacticRelevantAxioms( + OWLOntology ontology, OWLClass cl) { + + Set<OWLAxiom> relevantAxioms = new HashSet<OWLAxiom>(); + + for (OWLAxiom ax : ontology.getLogicalAxioms()) { + if (isSyntacticRelevant(ax,cl)) { + relevantAxioms.add(ax); + } + } + + return relevantAxioms; + } + + public static Set<OWLAxiom> getSyntacticRelevantAxioms( + OWLOntology ontology, Set<OWLAxiom> axioms) { + + Set<OWLAxiom> relevantAxioms = new HashSet<OWLAxiom>(); + + for (OWLAxiom ax : ontology.getLogicalAxioms()) { + for (OWLAxiom ax2 : axioms) { + if (isSyntacticRelevant(ax, ax2)) { + relevantAxioms.add(ax); + } + } + + } + + return relevantAxioms; + } + + private static boolean isSyntacticRelevant(OWLAxiom ax1, OWLAxiom ax2) { + return org.mindswap.pellet.utils.SetUtils.intersects( + ax1.getSignature(), ax2.getSignature()); + } + + private static boolean isSyntacticRelevant(OWLAxiom ax, OWLClass cl) { + return org.mindswap.pellet.utils.SetUtils.intersects(ax.getSignature(), + cl.getSignature()); + } +} Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/HittingSet.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/HittingSet.java 2009-06-18 07:37:37 UTC (rev 1803) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/HittingSet.java 2009-06-18 07:53:24 UTC (rev 1804) @@ -7,6 +7,11 @@ public class HittingSet extends HashSet<OWLAxiom> { + /** + * + */ + private static final long serialVersionUID = 7704909550386943944L; + public HittingSet(Set<OWLAxiom> axioms){ addAll(axioms); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/RootFinder.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/RootFinder.java 2009-06-18 07:37:37 UTC (rev 1803) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/RootFinder.java 2009-06-18 07:53:24 UTC (rev 1804) @@ -15,7 +15,6 @@ import org.semanticweb.owl.inference.OWLReasonerException; import org.semanticweb.owl.inference.OWLReasonerFactory; import org.semanticweb.owl.model.AxiomType; -import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLClass; import org.semanticweb.owl.model.OWLDataAllRestriction; import org.semanticweb.owl.model.OWLDataExactCardinalityRestriction; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/SyntacticRelevanceBasedExplanationGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/SyntacticRelevanceBasedExplanationGenerator.java 2009-06-18 07:37:37 UTC (rev 1803) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/SyntacticRelevanceBasedExplanationGenerator.java 2009-06-18 07:53:24 UTC (rev 1804) @@ -77,7 +77,7 @@ } localReasoner.loadOntology(ont); - Set<OWLAxiom> relevant = getSyntacticRelevantAxioms(unsat, k); + Set<OWLAxiom> relevant = AxiomSelector.getSyntacticRelevantAxioms(ontology, unsat);//getSyntacticRelevantAxioms(unsat, k); Set<HittingSet> hittingSets = new HashSet<HittingSet>(); Set<HittingSet> hittingSetLocal = new HashSet<HittingSet>(); @@ -155,7 +155,7 @@ hittingSetLocal.addAll((Set<HittingSet>)result.get(1)); } k++; - relevant = getSyntacticRelevantAxioms(unsat, k); + relevant = AxiomSelector.getSyntacticRelevantAxioms(ontology, relevant);//getSyntacticRelevantAxioms(unsat, k); } return justifications; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |