From: <lor...@us...> - 2009-09-14 10:52:00
|
Revision: 1846 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1846&view=rev Author: lorenz_b Date: 2009-09-14 10:51:51 +0000 (Mon, 14 Sep 2009) Log Message: ----------- fixed axiom selection, when source axiom of laconic axiom is scheduled for removal Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationTest.java trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsDialog.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2009-09-14 09:59:30 UTC (rev 1845) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2009-09-14 10:51:51 UTC (rev 1846) @@ -188,6 +188,10 @@ return arity; } + public int getGlobalArity(OWLAxiom ax){ + return gen.getArity(ax); + } + public void setLaconicMode(boolean laconic){ gen.setComputeLaconicExplanations(laconic); fireExplanationTypeChanged(); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationTest.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationTest.java 2009-09-14 09:59:30 UTC (rev 1845) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationTest.java 2009-09-14 10:51:51 UTC (rev 1846) @@ -19,7 +19,6 @@ import com.clarkparsia.explanation.io.manchester.ManchesterSyntaxExplanationRenderer; -@SuppressWarnings("unused") public class ExplanationTest { // private static final String file = "file:examples/ore/inconsistent.owl"; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java 2009-09-14 09:59:30 UTC (rev 1845) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java 2009-09-14 10:51:51 UTC (rev 1846) @@ -88,6 +88,10 @@ fireImpactListChanged(); } + public void addSelection(List<OWLAxiom> axioms){ + selectedAxioms.addAll(axioms); + } + public void removeSelection(OWLAxiom ax){ selectedAxioms.remove(ax); fireImpactListChanged(); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java 2009-09-14 09:59:30 UTC (rev 1845) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java 2009-09-14 10:51:51 UTC (rev 1846) @@ -68,6 +68,24 @@ public Set<Explanation> getExplanations(OWLAxiom entailment){ return getExplanations(entailment, -1); } + + public int getArity(OWLAxiom axiom){ + int arity = 0; + Map<OWLAxiom, Set<Explanation>> cache; + if(laconicMode == true){ + cache = laconicExplanationCache; + } else { + cache = regularExplanationCache; + } + for(Set<Explanation> explanations : cache.values()){ + for(Explanation exp : explanations){ + if(exp.getAxioms().contains(axiom)){ + arity++; + } + } + } + return arity; + } @Override public Set<Explanation> getExplanations(OWLAxiom entailment, int limit){ Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2009-09-14 09:59:30 UTC (rev 1845) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2009-09-14 10:51:51 UTC (rev 1846) @@ -1,26 +1,14 @@ package org.dllearner.tools.ore.ui; -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.Insets; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Set; -import javax.swing.BorderFactory; -import javax.swing.Box; -import javax.swing.JButton; -import javax.swing.JComponent; -import javax.swing.JDialog; -import javax.swing.JPanel; import javax.swing.table.AbstractTableModel; import org.dllearner.tools.ore.ExplanationManager; import org.dllearner.tools.ore.ImpactManager; import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.RepairManager; -import org.dllearner.tools.ore.TaskManager; import org.dllearner.tools.ore.explanation.Explanation; import org.semanticweb.owl.model.AddAxiom; import org.semanticweb.owl.model.OWLAxiom; @@ -64,16 +52,16 @@ @Override public Object getValueAt(int rowIndex, int columnIndex) { + OWLAxiom ax = getOWLAxiomAtRow(rowIndex); if(columnIndex == 0){ - OWLAxiom ax = getOWLAxiomAtRow(rowIndex); int depth2Root = expMan.getOrdering(exp).get(rowIndex).values().iterator().next(); return ManchesterSyntaxRenderer.render(ax, impMan.isSelected(ax), depth2Root); } else if(columnIndex == 1){ - return expMan.getArity(unsat, getOWLAxiomAtRow(rowIndex)); + return expMan.getGlobalArity(ax);//getArity(unsat, getOWLAxiomAtRow(rowIndex)); } else if(columnIndex == 2) { - return expMan.getUsage(getOWLAxiomAtRow(rowIndex)).size(); + return expMan.getUsage(ax).size(); } else if(columnIndex == 3){ - return Boolean.valueOf(impMan.isSelected(getOWLAxiomAtRow(rowIndex))); + return Boolean.valueOf(impMan.isSelected(ax)); } else { return "rewrite"; } @@ -116,7 +104,8 @@ int ret = dialog.showDialog(); if(ret == RemainingAxiomsDialog.OK_RETURN_CODE){ impMan.addSelection(ax); - repMan.addToRepairPlan(dialog.getChanges()); + List<OWLOntologyChange> changes = dialog.getChanges(); + repMan.addToRepairPlan(changes); } } else { Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsDialog.java 2009-09-14 09:59:30 UTC (rev 1845) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsDialog.java 2009-09-14 10:51:51 UTC (rev 1846) @@ -15,9 +15,11 @@ import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JDialog; +import javax.swing.JLabel; import javax.swing.JPanel; import org.dllearner.tools.ore.ExplanationManager; +import org.dllearner.tools.ore.ImpactManager; import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.TaskManager; import org.semanticweb.owl.model.AddAxiom; @@ -51,6 +53,7 @@ private List<OWLAxiom> sourceAxioms; private ExplanationManager expMan; + private ImpactManager impMan; private OWLOntology ontology; @@ -58,7 +61,7 @@ public RemainingAxiomsDialog(OWLAxiom laconicAxiom, OWLOntology ont){ super(TaskManager.getInstance().getDialog(), "Selected part of axiom in ontology", true); setLayout(new BorderLayout()); - + add(new JLabel("You selected an axiom which is only part of some axioms in the ontology"), BorderLayout.NORTH); createControls(); this.ontology = ont; @@ -67,6 +70,7 @@ explanationsPanel = new Box(1); expMan = ExplanationManager.getInstance(OREManager.getInstance()); + impMan = ImpactManager.getInstance(OREManager.getInstance()); changes = new ArrayList<OWLOntologyChange>(); sourceAxioms = new ArrayList<OWLAxiom>(); @@ -83,7 +87,7 @@ } - add(explanationsPanel, BorderLayout.NORTH); + add(explanationsPanel, BorderLayout.CENTER); } @@ -154,6 +158,7 @@ public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("Ok")) { returnCode = OK_RETURN_CODE; + impMan.addSelection(sourceAxioms); closeDialog(); } else { returnCode = CANCEL_RETURN_CODE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |