From: <lor...@us...> - 2010-03-13 15:37:01
|
Revision: 2118 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2118&view=rev Author: lorenz_b Date: 2010-03-13 15:36:54 +0000 (Sat, 13 Mar 2010) Log Message: ----------- Bug fix. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/OPlus.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsPanel.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -15,6 +15,7 @@ import org.dllearner.tools.ore.explanation.ExplanationType; import org.dllearner.tools.ore.explanation.RootFinder; import org.dllearner.tools.ore.explanation.laconic.LaconicExplanationGenerator; +import org.dllearner.tools.ore.explanation.laconic.OPlus; import org.mindswap.pellet.owlapi.PelletReasonerFactory; import org.mindswap.pellet.owlapi.Reasoner; import org.semanticweb.owl.apibinding.OWLManager; @@ -303,6 +304,10 @@ return gen.getRemainingAxioms(source, part); } + public Set<OWLAxiom> getLaconicAxioms(OWLAxiom ax){ + OPlus oPlus = new OPlus(dataFactory); + return ax.accept(oPlus); + } @Override public void activeOntologyChanged() { reasoner = OREManager.getInstance().getReasoner().getReasoner(); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -113,8 +113,9 @@ } public void removeSelection(OWLAxiom ax){ - selectedAxioms.remove(ax); - fireImpactListChanged(); + if(selectedAxioms.remove(ax)){ + fireImpactListChanged(); + } } public boolean isSelected(OWLAxiom ax){ Modified: trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -5,14 +5,10 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Timer; -import java.util.TimerTask; -import java.util.TreeSet; import org.dllearner.algorithms.celoe.CELOE; import org.dllearner.core.ComponentInitException; import org.dllearner.core.ComponentManager; -import org.dllearner.core.EvaluatedDescription; import org.dllearner.core.LearningProblemUnsupportedException; import org.dllearner.core.ReasonerComponent; import org.dllearner.core.owl.NamedClass; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -61,6 +61,8 @@ lastRequestedRegularSize = new HashMap<OWLAxiom, Integer>(); lastRequestedLaconicSize = new HashMap<OWLAxiom, Integer>(); +// laconicExpGen = new LaconicExplanationGenerator(manager); + RepairManager.getInstance(OREManager.getInstance()).addListener(this); } @@ -202,6 +204,7 @@ } axiom2Module.put(entailment, module); laconicExpGen = new LaconicExplanationGenerator(manager, new PelletReasonerFactory(), Collections.singleton(module)); +// laconicExpGen.setOntology(Collections.singleton(module)); laconicExpGen.setProgressMonitor(TaskManager.getInstance().getStatusBar()); if(limit == -1){ explanations = laconicExpGen.getExplanations(entailment); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -67,6 +67,30 @@ lastRegularExplanations = new HashSet<Explanation>(); } + public LaconicExplanationGenerator(OWLOntologyManager manager) { + + this.manager = manager; + + oPlus = new OPlus(manager.getOWLDataFactory()); + lastRegularExplanations = new HashSet<Explanation>(); + } + + public void setOntology(Set<OWLOntology> ontologies){ + try { + ontology = manager.createOntology(URI.create(new StringBuilder().append( + "http://laconic").append(System.nanoTime()).toString()), + ontologies, true); + } catch (OWLOntologyCreationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (OWLOntologyChangeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + pelletExplanation = new PelletExplanationGenerator(manager, ontologies); + lastRegularExplanations = new HashSet<Explanation>(); + } + /** * Computes a more fine grained representation for a set of axioms, which means to split them * e.g. for A \sqsubseteq B \sqcap C returning A \sqsubseteq B and A \sqsubseteq C Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/OPlus.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/OPlus.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/OPlus.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -58,8 +58,8 @@ /* - * This class computes the oplus closure provided in 'Laconic and Precise Justifications in OWL' from - * Matthew Horridge, Bijan Parsia and Ulrike Sattler. A set of axioms is into smaller and weaker axioms. + * This class computes the OPlus closure provided in 'Laconic and Precise Justifications in OWL' from + * Matthew Horridge, Bijan Parsia and Ulrike Sattler. A set of axioms is transformed into smaller and weaker axioms. */ public class OPlus implements OWLAxiomVisitorEx<Set<OWLAxiom>> Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -107,12 +107,13 @@ // } // // } + RemainingAxiomsDialog dialog = new RemainingAxiomsDialog(ax, ont); int ret = dialog.showDialog(); if(ret == RemainingAxiomsDialog.OK_RETURN_CODE){ impMan.addSelection(ax); List<OWLOntologyChange> changes = dialog.getChanges(); - for(OWLAxiom source : expMan.getLaconicSourceAxioms(ax)){ + for(OWLAxiom source : expMan.getSourceAxioms(ax)){ if(repMan.isScheduled2Add(source)){ changes.add(new RemoveAxiom(ont, source)); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsDialog.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsDialog.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -2,6 +2,7 @@ import java.awt.BorderLayout; import java.awt.Dimension; +import java.awt.FlowLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -17,6 +18,8 @@ import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.JTextArea; +import javax.swing.JTextPane; import org.dllearner.tools.ore.ExplanationManager; import org.dllearner.tools.ore.ImpactManager; @@ -61,7 +64,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); + add(new JLabel("The selected axiom is only part of some axioms in the ontology"), BorderLayout.NORTH); createControls(); this.ontology = ont; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -3,7 +3,6 @@ import java.awt.Color; import java.awt.Component; import java.awt.Cursor; -import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; @@ -15,12 +14,14 @@ import javax.swing.JTable; import javax.swing.table.TableCellRenderer; +import org.dllearner.tools.ore.ExplanationManager; import org.dllearner.tools.ore.ImpactManager; import org.dllearner.tools.ore.OREApplication; import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.RepairManager; import org.dllearner.tools.ore.ui.rendering.TextAreaRenderer; import org.jdesktop.swingx.JXTable; +import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLOntologyChange; public class RepairTable extends JXTable { @@ -92,13 +93,7 @@ if (row >= 0 && row <= table.getRowCount() && column == 2) { OWLOntologyChange change = ((RepairTableModel) getModel()) .getChangeAt(row); - if (ImpactManager.getInstance(OREManager.getInstance()) - .isSelected(change.getAxiom())) { - ImpactManager.getInstance(OREManager.getInstance()) - .removeSelection(change.getAxiom()); - } - RepairManager.getInstance(OREManager.getInstance()) - .removeFromRepairPlan(change); + handleRemoveChange(change); setCursor(null); } } @@ -128,18 +123,19 @@ OWLOntologyChange change = ((RepairTableModel) getModel()) .getChangeAt(selRow); if (e.getKeyCode() == KeyEvent.VK_DELETE) { - RepairManager.getInstance(OREManager.getInstance()) - .removeFromRepairPlan(change); - if (ImpactManager.getInstance(OREManager.getInstance()).isSelected( - change.getAxiom())) { - ImpactManager.getInstance(OREManager.getInstance()) - .removeSelection(change.getAxiom()); - } - + handleRemoveChange(change); } - getSelectionModel().clearSelection(); } + + private void handleRemoveChange(OWLOntologyChange change) { + OREManager oreMan = OREManager.getInstance(); + RepairManager.getInstance(oreMan).removeFromRepairPlan(change); + ImpactManager.getInstance(oreMan).removeSelection(change.getAxiom()); + for (OWLAxiom ax : ExplanationManager.getInstance(oreMan).getLaconicAxioms(change.getAxiom())) { + ImpactManager.getInstance(oreMan).removeSelection(ax); + } + } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsPanel.java 2010-03-13 12:07:58 UTC (rev 2117) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsPanel.java 2010-03-13 15:36:54 UTC (rev 2118) @@ -28,6 +28,7 @@ import java.util.Set; import javax.swing.BorderFactory; +import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; @@ -38,6 +39,7 @@ import org.dllearner.core.owl.Individual; import org.dllearner.core.owl.NamedClass; import org.dllearner.core.owl.ObjectPropertyAssertion; +import org.dllearner.tools.ore.OREApplication; import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.OntologyModifier; import org.dllearner.tools.ore.ui.rendering.ManchesterSyntaxRenderer; @@ -66,7 +68,7 @@ private JXTaskPaneContainer container; - private ImageIcon newIcon; + private Icon newIcon = new ImageIcon(OREApplication.class.getResource("new.gif")); private String baseURI; private Map<String, String> prefixes; @@ -86,8 +88,8 @@ prefixes = OREManager.getInstance().getPrefixes(); baseURI = OREManager.getInstance().getBaseURI(); - newIcon = new ImageIcon("src/dl-learner/org/dllearner/tools/ore/new.gif"); + setLayout(new GridLayout()); setBackground(Color.WHITE); setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |