From: <lor...@us...> - 2010-03-15 20:57:38
|
Revision: 2121 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2121&view=rev Author: lorenz_b Date: 2010-03-15 20:57:30 +0000 (Mon, 15 Mar 2010) Log Message: ----------- Changed computing of remaining axiom parts, which are shown when an axiom is selected, which is not an asserted axiom in the ontology. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.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/RemainingAxiomsTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/RemainingAxiomPartsGenerator.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2010-03-15 09:01:40 UTC (rev 2120) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2010-03-15 20:57:30 UTC (rev 2121) @@ -13,6 +13,7 @@ import org.dllearner.tools.ore.explanation.Explanation; import org.dllearner.tools.ore.explanation.ExplanationException; import org.dllearner.tools.ore.explanation.ExplanationType; +import org.dllearner.tools.ore.explanation.RemainingAxiomPartsGenerator; import org.dllearner.tools.ore.explanation.RootFinder; import org.dllearner.tools.ore.explanation.laconic.LaconicExplanationGenerator; import org.dllearner.tools.ore.explanation.laconic.OPlus; @@ -57,13 +58,14 @@ private CachedExplanationGenerator gen; + private RemainingAxiomPartsGenerator remainingAxGen; + private ExplanationManager(OREManager oreMan) { OREManager.getInstance().addListener(this); this.reasoner = oreMan.getReasoner().getReasoner(); this.manager = reasoner.getManager(); this.ontology = oreMan.getReasoner().getOWLAPIOntologies(); - System.out.println(ontology); dataFactory = manager.getOWLDataFactory(); @@ -77,6 +79,8 @@ listeners = new ArrayList<ExplanationManagerListener>(); gen = new CachedExplanationGenerator(reasoner.getLoadedOntologies()); + + remainingAxGen = new RemainingAxiomPartsGenerator(ontology, dataFactory); } @@ -308,6 +312,11 @@ OPlus oPlus = new OPlus(dataFactory); return ax.accept(oPlus); } + + public Map<OWLAxiom, Set<OWLAxiom>> getRemainingAxiomParts(OWLAxiom laconicAxiom){ + return remainingAxGen.getRemainingAxiomParts(laconicAxiom); + } + @Override public void activeOntologyChanged() { reasoner = OREManager.getInstance().getReasoner().getReasoner(); Added: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/RemainingAxiomPartsGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/RemainingAxiomPartsGenerator.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/RemainingAxiomPartsGenerator.java 2010-03-15 20:57:30 UTC (rev 2121) @@ -0,0 +1,118 @@ +package org.dllearner.tools.ore.explanation; + +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +import org.dllearner.tools.ore.explanation.laconic.OPlus; +import org.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLDataFactory; +import org.semanticweb.owl.model.OWLOntology; + +public class RemainingAxiomPartsGenerator { + private OPlus oPlusGen; + private Set<OWLOntology> ontologies; + private OWLDataFactory dataFactory; + + private Map<OWLAxiom, Set<OWLAxiom>> source2AxiomsMap = new HashMap<OWLAxiom, Set<OWLAxiom>>(); + + private Map<OWLAxiom, Map<OWLAxiom, Set<OWLAxiom>>> axiom2RemainingAxiomsMap = new HashMap<OWLAxiom, Map<OWLAxiom, Set<OWLAxiom>>>(); + + public RemainingAxiomPartsGenerator(Set<OWLOntology> ontologies, OWLDataFactory factory){ + this.ontologies = ontologies; + this.dataFactory = factory; + + oPlusGen = new OPlus(dataFactory); + + } + + public RemainingAxiomPartsGenerator(OWLOntology ontology, OWLDataFactory factory){ + this.ontologies = Collections.singleton(ontology); + this.dataFactory = factory; + + oPlusGen = new OPlus(dataFactory); + + } + + public Map<OWLAxiom, Set<OWLAxiom>> getRemainingAxiomParts(OWLAxiom laconicAxiom){ + Set<OWLAxiom> oplus; + Set<OWLAxiom> sourceAxioms = new HashSet<OWLAxiom>(); + Set<OWLAxiom> remainingAxioms; + + Map<OWLAxiom,Set<OWLAxiom>> source2RemainingAxiomsMap = axiom2RemainingAxiomsMap.get(laconicAxiom); + if(source2RemainingAxiomsMap == null){ + + source2RemainingAxiomsMap = new HashMap<OWLAxiom, Set<OWLAxiom>>(); + axiom2RemainingAxiomsMap.put(laconicAxiom, source2RemainingAxiomsMap); + + for(OWLOntology ont : ontologies){ + for(OWLAxiom ax : ont.getAxioms()){ + oplus = source2AxiomsMap.get(ax); + if(oplus == null){ + oplus = ax.accept(oPlusGen); + source2AxiomsMap.put(ax, oplus); + } + if(oplus.contains(laconicAxiom)){ + sourceAxioms.add(ax); + continue; + } else { + for(OWLAxiom part : laconicAxiom.accept(oPlusGen)){ + if(oplus.contains(part)){ + sourceAxioms.add(ax); + break; + } + } + } + + + } + } +// System.out.println("Source axioms: " + sourceAxioms); + for(OWLAxiom sourceAx : sourceAxioms){ + remainingAxioms = new HashSet<OWLAxiom>(); +// System.out.println("Source axiom: " + sourceAx); + Set<OWLAxiom> temp = new HashSet<OWLAxiom>(source2AxiomsMap.get(sourceAx)); + Set<OWLAxiom> laconicAxiomParts = laconicAxiom.accept(oPlusGen); + temp.removeAll(laconicAxiomParts); + for(Iterator<OWLAxiom> i = temp.iterator();i.hasNext();){ + OWLAxiom ax = i.next(); + for(OWLAxiom laconicAxiomPart : laconicAxiomParts){ + if(ax.accept(oPlusGen).contains(laconicAxiomPart)){ +// System.out.println(ax); + i.remove(); + break; + } + } + + } + remainingAxioms.addAll(temp); + for(OWLAxiom ax : temp){ +// System.out.println("Temp: " + ax); + for(OWLAxiom a : ax.accept(oPlusGen)){ +// System.out.println(a); + if(temp.contains(a) && !a.equals(ax)){ + remainingAxioms.remove(a); + } + } + } + source2RemainingAxiomsMap.put(sourceAx, remainingAxioms); +// System.out.println("Remaining axioms: " + remainingAxioms); + } + } + + + + return source2RemainingAxiomsMap; + + } + + public void clear(){ + source2AxiomsMap.clear(); + axiom2RemainingAxiomsMap.clear(); + } + + +} 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-15 09:01:40 UTC (rev 2120) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java 2010-03-15 20:57:30 UTC (rev 2121) @@ -4,6 +4,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.Map; import java.util.Set; @@ -11,9 +12,12 @@ import org.dllearner.tools.ore.explanation.Explanation; import org.dllearner.tools.ore.explanation.ExplanationException; import org.dllearner.tools.ore.explanation.PelletExplanationGenerator; +import org.dllearner.tools.ore.explanation.RemainingAxiomPartsGenerator; import org.mindswap.pellet.owlapi.PelletReasonerFactory; +import org.mindswap.pellet.owlapi.Reasoner; import org.semanticweb.owl.apibinding.OWLManager; 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.OWLDataFactory; @@ -203,7 +207,7 @@ } Set<Explanation> explanations = new HashSet<Explanation>(); - for (Explanation explanation : allPreviouslyFoundExplanations) {System.out.println(explanation); + for (Explanation explanation : allPreviouslyFoundExplanations) { if (!nonLaconicExplanations.contains(explanation)) { if (laconicExplanations.contains(explanation)) { explanations.add(explanation); @@ -391,42 +395,97 @@ } public static void main(String[] args) throws OWLOntologyCreationException, ExplanationException, OWLOntologyChangeException{ -// String baseURI = "http://protege.stanford.edu/plugins/owl/owl-library/koala.owl"; + String baseURI = "http://protege.stanford.edu/plugins/owl/owl-library/koala.owl"; OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); OWLOntology ontology = manager.loadOntologyFromPhysicalURI(URI.create("file:examples/ore/koala.owl")); OWLDataFactory factory = manager.getOWLDataFactory(); + Reasoner reasoner = new PelletReasonerFactory().createReasoner(manager); + reasoner.loadOntology(ontology); + reasoner.classify(); + RemainingAxiomPartsGenerator remAxGen = new RemainingAxiomPartsGenerator(ontology, factory); LaconicExplanationGenerator expGen = new LaconicExplanationGenerator(manager, new PelletReasonerFactory(), Collections.singleton(ontology)); + for(OWLClass unsat : reasoner.getInconsistentClasses()){ + System.out.println("#######################################"); + System.out.println("Unsatisfiable class: " + unsat); + for(Explanation exp : expGen.getExplanations(factory.getOWLSubClassAxiom(unsat, factory.getOWLNothing()))){ +// System.out.println("Laconic explanation: " + exp); + for(OWLAxiom ax : exp.getAxioms()){ + if(!ontology.containsAxiom(ax)){ + System.out.println("Laconic axiom: " + ax); + System.out.println("Remaining axioms: " + remAxGen.getRemainingAxiomParts(ax)); + } + } + } + } // OWLClass koalaWithPhD = factory.getOWLClass(URI.create(baseURI + "#KoalaWithPhD")); // OWLClass koala = factory.getOWLClass(URI.create(baseURI + "#Koala")); +// OWLAxiom laconicAx = factory.getOWLSubClassAxiom(koalaWithPhD, koala); +// OPlus oplusGen = new OPlus(factory); +// Set<OWLAxiom> sourceAxioms = new HashSet<OWLAxiom>(); +// Map<OWLAxiom, Set<OWLAxiom>> source2AxiomsMap = new HashMap<OWLAxiom, Set<OWLAxiom>>(); +// Set<OWLAxiom> oplus; +// Set<OWLAxiom> remainingAxioms = new HashSet<OWLAxiom>(); +// long startTime = System.currentTimeMillis(); +// for(OWLAxiom ax : ontology.getAxioms(AxiomType.EQUIVALENT_CLASSES)){ +// oplus = ax.accept(oplusGen); +// if(oplus.contains(laconicAx)){ +// sourceAxioms.add(ax); +// source2AxiomsMap.put(ax, oplus); +// } +// } +// for(OWLAxiom sourceAx : sourceAxioms){ +// System.out.println("Source axiom: " + sourceAx); +// Set<OWLAxiom> temp = source2AxiomsMap.get(sourceAx); +// for(Iterator<OWLAxiom> i = temp.iterator();i.hasNext();){ +// OWLAxiom ax = i.next(); +// if(ax.accept(oplusGen).contains(laconicAx)){ +//// System.out.println(ax); +// i.remove(); +// } +// } +// remainingAxioms.addAll(temp); +// for(OWLAxiom ax : temp){ +//// System.out.println("Temp: " + ax); +// for(OWLAxiom a : ax.accept(oplusGen)){ +//// System.out.println(a); +// if(temp.contains(a) && !a.equals(ax)){ +// remainingAxioms.remove(a); +// } +// } +// } +// System.out.println("Remaining axioms: " + remainingAxioms); +// } +// System.out.println("Overall computing time: " + (System.currentTimeMillis() - startTime)); + // System.out.println(expGen.getExplanations(factory.getOWLSubClassAxiom(koalaWithPhD, factory.getOWLNothing()), 1)); -// OWLAxiom laconicAx = factory.getOWLSubClassAxiom(koalaWithPhD, koala); +// // Set<OWLAxiom> sourceAxioms = expGen.getSourceAxioms(laconicAx); // System.out.println("Source axioms: " + sourceAxioms); // for(OWLAxiom sourceAx : sourceAxioms){ // System.out.println("\nRebuildet: " + expGen.getRemainingAxioms(sourceAx, laconicAx)); // } - OWLAxiom ax = factory.getOWLEquivalentClassesAxiom(factory.getOWLClass(URI.create("A")), - factory.getOWLObjectIntersectionOf(factory.getOWLClass(URI.create("C")), - factory.getOWLObjectSomeRestriction(factory.getOWLObjectProperty(URI.create("R")), - factory.getOWLClass(URI.create("F"))))); - OWLAxiom ax2 = factory.getOWLSubClassAxiom(factory.getOWLObjectSomeRestriction(factory.getOWLObjectProperty(URI.create("R")), factory.getOWLThing()), - factory.getOWLObjectComplementOf(factory.getOWLClass(URI.create("C")))); - Set<OWLAxiom> ont = new HashSet<OWLAxiom>(); - ont.add(ax); - ont.add(ax2); - OWLOntology o = manager.createOntology(ont); - expGen = new LaconicExplanationGenerator(manager, new PelletReasonerFactory(), Collections.singleton(o)); - System.out.println(expGen.getExplanations(factory.getOWLSubClassAxiom(factory.getOWLClass(URI.create("A")), factory.getOWLNothing()), 1)); +// OWLAxiom ax = factory.getOWLEquivalentClassesAxiom(factory.getOWLClass(URI.create("A")), +// factory.getOWLObjectIntersectionOf(factory.getOWLClass(URI.create("C")), +// factory.getOWLObjectSomeRestriction(factory.getOWLObjectProperty(URI.create("R")), +// factory.getOWLClass(URI.create("F"))))); +// OWLAxiom ax2 = factory.getOWLSubClassAxiom(factory.getOWLObjectSomeRestriction(factory.getOWLObjectProperty(URI.create("R")), factory.getOWLThing()), +// factory.getOWLObjectComplementOf(factory.getOWLClass(URI.create("C")))); +// Set<OWLAxiom> ont = new HashSet<OWLAxiom>(); +// ont.add(ax); +// ont.add(ax2); +// OWLOntology o = manager.createOntology(ont); +// expGen = new LaconicExplanationGenerator(manager, new PelletReasonerFactory(), Collections.singleton(o)); +// System.out.println(expGen.getExplanations(factory.getOWLSubClassAxiom(factory.getOWLClass(URI.create("A")), factory.getOWLNothing()), 1)); +// +// OWLAxiom remove = factory.getOWLSubClassAxiom(factory.getOWLClass(URI.create("A")),factory.getOWLObjectSomeRestriction(factory.getOWLObjectProperty(URI.create("R")), factory.getOWLThing())); +// Set<OWLAxiom> sourceAxioms = expGen.getSourceAxioms(remove); +// System.out.println("Source axioms: " + sourceAxioms); +// for(OWLAxiom sourceAx : sourceAxioms){ +// System.out.println("\nRebuildet: " + expGen.getRemainingAxioms(sourceAx, remove)); +// } - OWLAxiom remove = factory.getOWLSubClassAxiom(factory.getOWLClass(URI.create("A")),factory.getOWLObjectSomeRestriction(factory.getOWLObjectProperty(URI.create("R")), factory.getOWLThing())); - Set<OWLAxiom> sourceAxioms = expGen.getSourceAxioms(remove); - System.out.println("Source axioms: " + sourceAxioms); - for(OWLAxiom sourceAx : sourceAxioms){ - System.out.println("\nRebuildet: " + expGen.getRemainingAxioms(sourceAx, remove)); - } - } } 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-15 09:01:40 UTC (rev 2120) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2010-03-15 20:57:30 UTC (rev 2121) @@ -84,12 +84,12 @@ impMan.removeSelection(ax); if(!ont.containsAxiom(ax)){ List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); - for(OWLAxiom source : expMan.getSourceAxioms(ax)){ + for(OWLAxiom source : expMan.getRemainingAxiomParts(ax).keySet()){ impMan.removeSelection(source); changes.add(new RemoveAxiom(ont, source)); - for(OWLAxiom remain : expMan.getRemainingAxioms(source, ax)){ - changes.add(new AddAxiom(ont, remain)); - } +// for(OWLAxiom remain : expMan.getRemainingAxioms(source, ax)){ +// changes.add(new AddAxiom(ont, remain)); +// } } repMan.removeFromRepairPlan(changes); } else { @@ -98,27 +98,18 @@ } else { // impMan.addSelection(ax); if(!OREManager.getInstance().isSourceOWLAxiom(ax)){ -// List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); -// for(OWLAxiom source : expMan.getSourceAxioms(ax)){ -// impMan.addSelection(source); -// changes.add(new RemoveAxiom(ont, source)); -// for(OWLAxiom remain : expMan.getRemainingAxioms(source, ax)){ -// changes.add(new AddAxiom(ont, remain)); -// } -// -// } 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.getSourceAxioms(ax)){ - if(repMan.isScheduled2Add(source)){ - changes.add(new RemoveAxiom(ont, source)); - } - - } +// for(OWLAxiom source : expMan.getSourceAxioms(ax)){ +// if(repMan.isScheduled2Add(source)){ +// changes.add(new RemoveAxiom(ont, source)); +// } +// +// } repMan.addToRepairPlan(changes); } 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-15 09:01:40 UTC (rev 2120) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsDialog.java 2010-03-15 20:57:30 UTC (rev 2121) @@ -2,13 +2,15 @@ import java.awt.BorderLayout; import java.awt.Dimension; -import java.awt.FlowLayout; +import java.awt.GridLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import javax.swing.BorderFactory; @@ -18,6 +20,8 @@ import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JSeparator; import javax.swing.JTextArea; import javax.swing.JTextPane; @@ -25,6 +29,7 @@ import org.dllearner.tools.ore.ImpactManager; import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.TaskManager; +import org.dllearner.tools.ore.ui.rendering.ManchesterSyntaxRenderer; import org.semanticweb.owl.model.AddAxiom; import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLOntology; @@ -62,9 +67,15 @@ public RemainingAxiomsDialog(OWLAxiom laconicAxiom, OWLOntology ont){ - super(TaskManager.getInstance().getDialog(), "Selected part of axiom in ontology", true); + super(TaskManager.getInstance().getDialog(), "Selected part of axioms in ontology", true); setLayout(new BorderLayout()); - add(new JLabel("The selected axiom is only part of some axioms in the ontology"), BorderLayout.NORTH); + JTextPane info = new JTextPane(); + info.setBackground(getParent().getBackground()); + info.setEditable(false); + info.setContentType("text/html"); + info.setText("<html>You selected an axiom, which is only part of some axioms in the ontology." + + " To retain the remaining parts, you can select them below.</html>"); + add(info, BorderLayout.NORTH); createControls(); this.ontology = ont; @@ -78,15 +89,14 @@ changes = new ArrayList<OWLOntologyChange>(); sourceAxioms = new ArrayList<OWLAxiom>(); - sourceAxioms.addAll(expMan.getSourceAxioms(laconicAxiom)); +// sourceAxioms.addAll(expMan.getSourceAxioms(laconicAxiom)); - for(OWLAxiom source : sourceAxioms){ + Map<OWLAxiom, Set<OWLAxiom>> sourceAxiom2RemainingAxiomPartsMap = expMan.getRemainingAxiomParts(laconicAxiom); + + for(OWLAxiom source : sourceAxiom2RemainingAxiomPartsMap.keySet()){ changes.add(new RemoveAxiom(ont, source)); - List<OWLAxiom> remainingAxioms = new ArrayList<OWLAxiom>(expMan.getRemainingAxioms(source, laconicAxiom)); - RemainingAxiomsTable table = new RemainingAxiomsTable(remainingAxioms); - tables.add(table); - explanationsPanel.add(table); + explanationsPanel.add(createRemainingAxiomsPanel(source, sourceAxiom2RemainingAxiomPartsMap.get(source))); } @@ -95,6 +105,30 @@ } + private JPanel createRemainingAxiomsPanel(OWLAxiom source, Set<OWLAxiom> remainingParts){ + JPanel panel = new JPanel(new BorderLayout()); + + JPanel p = new JPanel(new GridLayout(3, 1)); + p.add(new JLabel("<html><b>Axiom:</b></html>")); + JTextPane sourceAxiomPane = new JTextPane(); + sourceAxiomPane.setContentType("text/html"); + sourceAxiomPane.setText(ManchesterSyntaxRenderer.render(source, false, 0)); + sourceAxiomPane.setEditable(false); +// sourceAxiomPane.setBackground(getParent().getBackground()); + p.add(sourceAxiomPane); + p.add(new JLabel("<html><b>Remaining parts:</b></html>")); + panel.add(p, BorderLayout.NORTH); + + RemainingAxiomsTable table = new RemainingAxiomsTable(new ArrayList<OWLAxiom>(remainingParts)); + panel.add(new JScrollPane(table)); + + panel.add(new JSeparator(JSeparator.HORIZONTAL), BorderLayout.SOUTH); + + tables.add(table); + + return panel; + } + private void createControls() { Box buttonBox = Box.createHorizontalBox(); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsTable.java 2010-03-15 09:01:40 UTC (rev 2120) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsTable.java 2010-03-15 20:57:30 UTC (rev 2121) @@ -20,6 +20,7 @@ setModel(new RemainingAxiomsTableModel(remainingAxioms)); getColumn(0).setCellRenderer(new TextAreaRenderer()); getColumn(1).setMaxWidth(30); + setTableHeader(null); } public List<OWLAxiom> getSelectedAxioms(){ 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-15 09:01:40 UTC (rev 2120) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java 2010-03-15 20:57:30 UTC (rev 2121) @@ -132,6 +132,7 @@ OREManager oreMan = OREManager.getInstance(); RepairManager.getInstance(oreMan).removeFromRepairPlan(change); ImpactManager.getInstance(oreMan).removeSelection(change.getAxiom()); + System.out.println(change); for (OWLAxiom ax : ExplanationManager.getInstance(oreMan).getLaconicAxioms(change.getAxiom())) { ImpactManager.getInstance(oreMan).removeSelection(ax); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |