From: <lor...@us...> - 2009-09-08 09:30:46
|
Revision: 1839 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1839&view=rev Author: lorenz_b Date: 2009-09-08 09:30:35 +0000 (Tue, 08 Sep 2009) Log Message: ----------- some small changes 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/explanation/laconic/OPlus.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTablePanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ManchesterSyntaxRenderer.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/OWLSyntaxTableCellRenderer.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairPlanPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatisfiableClassesTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatisfiableClassesTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -90,6 +91,13 @@ } } + public Set<OWLClass> getUnsatisfiableClasses(){ + Set<OWLClass> unsat = new HashSet<OWLClass>(); + unsat.addAll(rootFinder.getRootClasses()); + unsat.addAll(rootFinder.getDerivedClasses()); + return unsat; + } + public Set<Explanation> getUnsatisfiableExplanations(OWLClass unsat) { OWLSubClassAxiom entailment = dataFactory.getOWLSubClassAxiom(unsat, 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 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -326,6 +326,9 @@ parts.remove(part);System.out.println("removed part: " + part); for(OWLAxiom pa : parts){ System.out.println("Part : " + pa + "has source : " + oPlus.getAxiomsMap().get(pa)); + if(oPlus.getAxiomsMap().get(pa).size() == 1){ + System.out.println("important: " + pa); + } } return rebuildAxioms(parts); @@ -333,7 +336,7 @@ private Set<OWLAxiom> rebuildAxioms(Set<OWLAxiom> axioms){ Map<OWLAxiom, Set<OWLAxiom>> sourceAxioms2OPlus = new HashMap<OWLAxiom, Set<OWLAxiom>>(); - + for (OWLAxiom ax : axioms) { if (ontology.containsAxiom(ax)) { sourceAxioms2OPlus.put(ax, computeOPlus(Collections @@ -343,26 +346,28 @@ Map<OWLClass, Map<OWLAxiom, Set<OWLSubClassAxiom>>> lhs2SubClassAxiom = new HashMap<OWLClass, Map<OWLAxiom, Set<OWLSubClassAxiom>>>(); Set<OWLAxiom> reconstituedAxioms = new HashSet<OWLAxiom>(); - for (OWLAxiom laconicAx : axioms) {System.out.println("Laconic Axiom: "+ laconicAx); + for (OWLAxiom laconicAx : axioms) { + + if (laconicAx instanceof OWLSubClassAxiom) { OWLSubClassAxiom subAx = (OWLSubClassAxiom) laconicAx; - if (subAx.getSubClass().isAnonymous()) {System.out.println(" has anomymous subclass ");System.out.println("has source axioms: " +oPlus.getAxiomsMap().get(subAx)); - reconstituedAxioms.add(subAx);System.out.println("adding to rebuildet axioms"); - } else {System.out.println("has no anonymous subclass"); + if (subAx.getSubClass().isAnonymous()) { + reconstituedAxioms.add(subAx); + } else { Map<OWLAxiom, Set<OWLSubClassAxiom>> source2AxiomMap = lhs2SubClassAxiom.get(subAx.getSubClass().asOWLClass()); if (source2AxiomMap == null) { source2AxiomMap = new HashMap<OWLAxiom, Set<OWLSubClassAxiom>>(); lhs2SubClassAxiom.put(subAx.getSubClass().asOWLClass(), source2AxiomMap); } - for (OWLAxiom sourceAxiom : sourceAxioms2OPlus.keySet()) {System.out.println("source axiom: " + sourceAxiom); + for (OWLAxiom sourceAxiom : sourceAxioms2OPlus.keySet()) { if ((sourceAxioms2OPlus.get(sourceAxiom)).contains(subAx)) { Set<OWLSubClassAxiom> subClassAxioms = source2AxiomMap.get(sourceAxiom); if (subClassAxioms == null) { subClassAxioms = new HashSet<OWLSubClassAxiom>(); source2AxiomMap.put(sourceAxiom, subClassAxioms); } - subClassAxioms.add(subAx);System.out.println("-->subclass axioms: " + subClassAxioms); + subClassAxioms.add(subAx); } } } 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 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/OPlus.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -105,23 +105,23 @@ { for(OWLAxiom axiom : axioms){ - Set<OWLAxiom> existing = (Set<OWLAxiom>)axiomsMap.get(axiom); - if(existing == null) +// Set<OWLAxiom> existing = (Set<OWLAxiom>)axiomsMap.get(axiom); +// if(existing == null) +// { +// existing = new HashSet<OWLAxiom>(); +// axiomsMap.put(axiom, existing); +// } +// existing.add(source); + if(!axiom.equals(source)) { - existing = new HashSet<OWLAxiom>(); - axiomsMap.put(axiom, existing); + Set<OWLAxiom> existing = (Set<OWLAxiom>)axiomsMap.get(axiom); + if(existing == null) + { + existing = new HashSet<OWLAxiom>(); + axiomsMap.put(axiom, existing); + } + existing.add(source); } - existing.add(source); -// if(!axiom.equals(source)) -// { -// Set<OWLAxiom> existing = (Set<OWLAxiom>)axiomsMap.get(axiom); -// if(existing == null) -// { -// existing = new HashSet<OWLAxiom>(); -// axiomsMap.put(axiom, existing); -// } -// existing.add(source); -// } } return axioms; } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -17,6 +17,7 @@ import javax.swing.UIManager; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; +import javax.swing.table.JTableHeader; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; @@ -40,6 +41,16 @@ private RepairManager repMan; + protected String[] columnToolTips = { + null, // "First Name" assumed obvious + // "Last Name" assumed obvious + "The number of already computed explanations where the axiom occurs.", + "TODO", + "If checked, the axiom is selected to remove from the ontology.", + "Edit the axiom." + }; + + public ExplanationTable(Explanation exp, OWLClass cl) { repMan = RepairManager.getInstance(OREManager.getInstance()); @@ -54,10 +65,11 @@ column5.setCellEditor(new ButtonCellEditor()); column5.setResizable(false); setRowHeight(getRowHeight() + 4); - getColumn(1).setMaxWidth(30); - getColumn(2).setMaxWidth(30); + getColumn(1).setMaxWidth(60); + getColumn(2).setMaxWidth(60); getColumn(3).setMaxWidth(30); getColumn(4).setMaxWidth(30); + getSelectionModel().addListSelectionListener( new ListSelectionListener() { @@ -113,6 +125,26 @@ }); } + @Override + protected JTableHeader createDefaultTableHeader() { + return new JTableHeader(columnModel) { + /** + * + */ + private static final long serialVersionUID = -3386641672808329591L; + + public String getToolTipText(MouseEvent e) { + String tip = null; + java.awt.Point p = e.getPoint(); + int index = columnModel.getColumnIndexAtX(p.x); + int realIndex = + columnModel.getColumn(index).getModelIndex(); + return columnToolTips[realIndex]; + } + }; + + } + private void changeSelection() { } @@ -182,23 +214,19 @@ } } - @Override public void repairPlanExecuted(List<OWLOntologyChange> changes) { - repaint(); - + repaint(); } @Override public void repairPlanChanged() { repaint(); - } @Override public void dispose() throws Exception { repMan.removeListener(this); - } 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-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -135,6 +135,19 @@ return expMan.getOrdering(exp).get(rowIndex).keySet().iterator().next(); } + @Override + public String getColumnName(int column) { + if(column == 0){ + return "Axiom"; + } else if(column == 1){ + return "Arity"; + } else if(column == 2){ + return "Usage"; + } else { + return ""; + } + } + } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTablePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTablePanel.java 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTablePanel.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -22,11 +22,11 @@ public ExplanationTablePanel(JXTable explanationTable, int explanationNumber){ this.explanationTable = explanationTable; this.explanationNumber = explanationNumber; - createGUI(); + createUI(); } - private void createGUI(){ + private void createUI(){ setLayout(new BorderLayout(2, 2)); JLabel label = new JLabel(new StringBuilder().append("Explanation ").append(explanationNumber).toString()); add(label, BorderLayout.NORTH); @@ -34,6 +34,7 @@ Border emptyBorder = BorderFactory.createEmptyBorder(0, 20, 0, 0); Border lineBorder = BorderFactory.createLineBorder(Color.LIGHT_GRAY); tablePanel.setBorder(BorderFactory.createCompoundBorder(emptyBorder, lineBorder)); + tablePanel.add(explanationTable.getTableHeader(), BorderLayout.NORTH); tablePanel.add(explanationTable); add(tablePanel); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ManchesterSyntaxRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ManchesterSyntaxRenderer.java 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ManchesterSyntaxRenderer.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -5,9 +5,12 @@ import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Individual; +import org.dllearner.tools.ore.ExplanationManager; +import org.dllearner.tools.ore.OREManager; import org.dllearner.utilities.owl.OWLAPIConverter; import org.dllearner.utilities.owl.OWLAPIDescriptionConvertVisitor; import org.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLClass; import org.semanticweb.owl.model.OWLDescription; import org.semanticweb.owl.model.OWLIndividual; import org.semanticweb.owl.model.OWLObject; @@ -84,7 +87,18 @@ String token; while(st.hasMoreTokens()){ token = st.nextToken(); + boolean unsatClass = false; + for(OWLClass cl : ExplanationManager.getInstance(OREManager.getInstance()).getUnsatisfiableClasses()){ + if(cl.toString().equals(token)){ + unsatClass = true; + break; + } + } String color = "black"; + if(unsatClass){ + color = "red"; + } + boolean isReserved = false; for(Keyword key : Keyword.values()){ if(token.equals(key.getLabel())){ @@ -92,7 +106,7 @@ isReserved = true;break; } } - if(isReserved){ + if(isReserved || unsatClass){ bf.append("<b><font color=" + color + ">" + token + " </font></b>"); } else { bf.append(" " + token + " "); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/OWLSyntaxTableCellRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/OWLSyntaxTableCellRenderer.java 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/OWLSyntaxTableCellRenderer.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -5,10 +5,11 @@ import javax.swing.table.DefaultTableCellRenderer; +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.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLClass; import com.clarkparsia.explanation.io.manchester.Keyword; import com.clarkparsia.explanation.io.manchester.ManchesterSyntaxObjectRenderer; @@ -85,7 +86,20 @@ String token; while(st.hasMoreTokens()){ token = st.nextToken(); + + boolean unsatClass = false; + for(OWLClass cl : ExplanationManager.getInstance(OREManager.getInstance()).getUnsatisfiableClasses()){ + if(cl.toString().equals(token)){ + unsatClass = true; + break; + } + } String color = "black"; + if(unsatClass){ + color = "red"; + } + + boolean isReserved = false; for(Keyword key : Keyword.values()){ if(token.equals(key.getLabel())){ @@ -93,7 +107,7 @@ isReserved = true;break; } } - if(isReserved){ + if(isReserved || unsatClass){ bf.append("<b><font color=" + color + ">" + token + " </font></b>"); } else { bf.append(" " + token + " "); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairPlanPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairPlanPanel.java 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairPlanPanel.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -21,6 +21,7 @@ private static final long serialVersionUID = 537629900742120594L; private RepairManager repMan; private JButton undoButton; + private JButton applyButton; public RepairPlanPanel() { this.repMan = RepairManager.getInstance(OREManager.getInstance()); @@ -42,10 +43,11 @@ } }); + undoButton.setToolTipText("Undo former applied changes."); undoButton.setEnabled(false); buttonPanel.add(undoButton); - buttonPanel.add(new JButton(new AbstractAction("Apply") { + applyButton = new JButton(new AbstractAction("Apply") { /** * @@ -56,7 +58,9 @@ computeRepairPlan(); } - })); + }); + applyButton.setToolTipText("Apply changes in repairplan."); + buttonPanel.add(applyButton); JScrollPane repScr = new JScrollPane(new RepairTable()); repScr.setBackground(null); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatisfiableClassesTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatisfiableClassesTable.java 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatisfiableClassesTable.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -2,14 +2,9 @@ import java.awt.Color; import java.awt.Dimension; -import java.awt.event.ActionEvent; -import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.List; -import javax.swing.AbstractAction; -import javax.swing.JPopupMenu; - import org.dllearner.tools.ore.ExplanationManager; import org.dllearner.tools.ore.OREManager; import org.jdesktop.swingx.JXTable; @@ -32,8 +27,9 @@ setTableHeader(null); setGridColor(Color.LIGHT_GRAY); getColumn(0).setMaxWidth(20); - + setRowHeight(getRowHeight() + 4); getColumn(0).setCellRenderer(new UnsatClassesTableCellRenderer(expMan)); + // setAutoResizeMode(JTable.AUTO_RESIZE_OFF); // addMouseListener(new MouseAdapter() { @@ -65,20 +61,20 @@ // }); } - private void showPopupMenu(MouseEvent e){ - JPopupMenu menu = new JPopupMenu(); - menu.add(new AbstractAction("Why is derived class?") { - final UnsatisfiableClassesTable table = UnsatisfiableClassesTable.this; - - public void actionPerformed(ActionEvent e) - { - - } - - - }); - menu.show(this, e.getX(), e.getY()); - } +// private void showPopupMenu(MouseEvent e){ +// JPopupMenu menu = new JPopupMenu(); +// menu.add(new AbstractAction("Why is derived class?") { +// final UnsatisfiableClassesTable table = UnsatisfiableClassesTable.this; +// +// public void actionPerformed(ActionEvent e) +// { +// +// } +// +// +// }); +// menu.show(this, e.getX(), e.getY()); +// } @Override public Dimension getPreferredScrollableViewportSize() { @@ -99,7 +95,7 @@ List<OWLClass> selectedClasses = new ArrayList<OWLClass>(getSelectedRows().length); int[] rows = getSelectedRows(); for(int i = 0; i < rows.length; i++){ - selectedClasses.add((OWLClass)((UnsatisfiableClassesTableModel)getModel()).getValueAt(rows[i], 0)); + selectedClasses.add(((UnsatisfiableClassesTableModel)getModel()).getClassAt(rows[i])); } return selectedClasses; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatisfiableClassesTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatisfiableClassesTableModel.java 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatisfiableClassesTableModel.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -40,7 +40,11 @@ @Override public Object getValueAt(int rowIndex, int columnIndex) { - return unsatClasses.get(rowIndex); + if(columnIndex == 0){ + return unsatClasses.get(rowIndex); + } else { + return "<html><b><font color=\"red\">" + unsatClasses.get(rowIndex).toString() + " </font></b></html>"; + } } public void addUnsatClasses(List<OWLClass> unsatClasses){ @@ -53,5 +57,9 @@ this.unsatClasses.clear(); fireTableDataChanged(); } + + public OWLClass getClassAt(int rowIndex){ + return unsatClasses.get(rowIndex); + } } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java 2009-09-07 13:47:42 UTC (rev 1838) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java 2009-09-08 09:30:35 UTC (rev 1839) @@ -48,7 +48,7 @@ public class KnowledgeSourcePanelDescriptor extends WizardPanelDescriptor implements ActionListener{ public static final String IDENTIFIER = "KNOWLEDGESOURCE_CHOOSE_PANEL"; - public static final String INFORMATION = "Choose an OWL-ontology from file system or URI. Your are also able to extract a fragment " + + public static final String INFORMATION = "Choose an OWL-ontology from filesystem or URI. Your are also able to extract a fragment " + "from a SPARQL-endpoint. After all press <Next>"; private KnowledgeSourcePanel knowledgePanel; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |