From: <hee...@us...> - 2008-07-10 16:37:45
|
Revision: 1007 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1007&view=rev Author: heeroyuy Date: 2008-07-10 09:37:43 -0700 (Thu, 10 Jul 2008) Log Message: ----------- added new panel for more details of the learned concept Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java trunk/src/dl-learner/org/dllearner/tools/protege/MoreDetailForSuggestedConceptsPanel.java trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-07-10 09:43:45 UTC (rev 1006) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-07-10 16:37:43 UTC (rev 1007) @@ -10,6 +10,8 @@ import javax.swing.event.ListSelectionEvent; import org.dllearner.core.owl.Description; + +import org.semanticweb.owl.model.OWLDescription; /** * * @author Heero Yuy @@ -37,7 +39,7 @@ * This is the view of the DL-Learner tab. */ private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; -// private JDialog detailDialog; + /** * This is the constructor for the action handler * @param a ActionHandler @@ -135,7 +137,7 @@ } if(z.getActionCommand().equals("Why")) { - view.getMoreDetailForSuggestedConceptsPanel().renderDetailPanel(model.getEvaluatedDescription()); + view.getMoreDetailForSuggestedConceptsPanel().renderDetailPanel((Description)view.getSuggestClassPanel().getSuggestList().getSelectedValue()); } } @@ -231,18 +233,10 @@ { if(!view.getAddButton().isEnabled()) { - view.getWhyButton().setEnabled(true); view.getAddButton().setEnabled(true); } } - /** - * - * @param t - */ - /*public void textValueChanged(TextEvent t) - { - }*/ /** * */ Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-07-10 09:43:45 UTC (rev 1006) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-07-10 16:37:43 UTC (rev 1007) @@ -2,7 +2,7 @@ import java.util.Set; import java.util.TreeSet; -//import java.util.List; +import java.util.List; import java.util.Vector; import java.util.HashSet; import java.util.Iterator; @@ -176,7 +176,8 @@ * */ private OWLAxiom axiomOWLAPI; - private EvaluatedDescription evalDescription; + + private List<EvaluatedDescription> evalDescription; /** * This is the constructor for DL-Learner model * @param editorKit @@ -225,7 +226,8 @@ */ private void addToListModel() { - evalDescription = la.getCurrentlyBestEvaluatedDescription(); + evalDescription = la.getCurrentlyBestEvaluatedDescriptions(anzahl); + System.out.println("Size: "+la.getCurrentlyBestDescriptions().size()); for(int j = 0;j<la.getCurrentlyBestEvaluatedDescriptions(anzahl).size();j++) { suggestModel.add(j,la.getCurrentlyBestEvaluatedDescriptions(anzahl).get(j).getDescription()); @@ -234,7 +236,7 @@ /** * This method checks which positive and negative examples are checked - * and puts the checked examples into a treeset. + * and puts the checked examples into a tree set. */ public void setPositiveAndNegativeExamples() { @@ -271,7 +273,10 @@ { return description; } - + public List<EvaluatedDescription> getEvaluatedDescriptionList() + { + return evalDescription; + } /** * This method sets the knowledge source for the learning process. * Only OWLAPIOntology will be available. @@ -300,7 +305,7 @@ /** * This method sets the Learning problem for the learning process. * PosNegDefinitonLp for equivalent classes and - * PosNegInclusionLP for superclasses. + * PosNegInclusionLP for super classes. */ public void setLearningProblem() { @@ -356,6 +361,7 @@ la.start(); description = new Description[la.getCurrentlyBestEvaluatedDescriptions(anzahl).size()]; addToListModel(); + System.out.println(la.getCurrentlyBestEvaluatedDescriptions()); view.renderErrorMessage(error); view.getRunButton().setEnabled(true); view.getCancelButton().setEnabled(false); @@ -427,10 +433,6 @@ } } - public EvaluatedDescription getEvaluatedDescription() - { - return evalDescription; - } /** * This method resets the Concepts that are learned. */ @@ -636,7 +638,7 @@ } /** - * Thsi method gets a description learned by the DL-Learner an converts it + * This method gets a description learned by the DL-Learner an converts it * to the OWLDescription format. * @param desc Description learned by the DL-Learner */ @@ -672,7 +674,7 @@ /** * This method stores the new concept learned by the DL-Learner in the Ontology. - * @param desc Description learne by the DL-Learner + * @param desc Description learn by the DL-Learner */ public void changeDLLearnerDescriptionsToOWLDescriptions(Description desc) { @@ -686,6 +688,7 @@ OWLOntology ontology = editor.getOWLModelManager().getActiveOntology(); AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); + System.out.println("axiom: "+axiomOWLAPI); try { manager.applyChange(axiom); } catch (OWLOntologyChangeException e) { Modified: trunk/src/dl-learner/org/dllearner/tools/protege/MoreDetailForSuggestedConceptsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/MoreDetailForSuggestedConceptsPanel.java 2008-07-10 09:43:45 UTC (rev 1006) +++ trunk/src/dl-learner/org/dllearner/tools/protege/MoreDetailForSuggestedConceptsPanel.java 2008-07-10 16:37:43 UTC (rev 1007) @@ -1,16 +1,18 @@ package org.dllearner.tools.protege; import java.util.Iterator; -import java.util.Set; +import java.util.List; import javax.swing.JPanel; import javax.swing.JLabel; +import javax.swing.JTextArea; import javax.swing.JScrollPane; import javax.swing.JDialog; +import javax.swing.WindowConstants; import java.awt.GridLayout; import org.dllearner.core.EvaluatedDescription; - +import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Individual; public class MoreDetailForSuggestedConceptsPanel extends JPanel{ @@ -18,18 +20,24 @@ private DLLearnerModel model; - private JLabel accuracy; + private JTextArea accuracy; private JPanel accuracyPanel; - private JPanel coveredExamplesPanel; - private JLabel coveredExamples; - + private JLabel coveredPositiveExamples; + private JLabel coveredNegativeExamples; + private JLabel notCoveredPositiveExamples; + private JLabel notCoveredNegativeExamples; private JDialog detailPopup; - + private JPanel examplePanel; + private JTextArea posCoveredText; + private JTextArea posNotCoveredText; + private JTextArea negCoveredText; + private JTextArea negNotCoveredText; + private JTextArea accuracyText; private JScrollPane detailScroll; private JPanel detailPanel; - private EvaluatedDescription evalDescription; + public MoreDetailForSuggestedConceptsPanel(DLLearnerModel model) { this.model = model; @@ -44,29 +52,110 @@ { return detailScroll; } + private EvaluatedDescription getSelectedConcept(Description eval) + { + List<EvaluatedDescription> evalDesc = model.getEvaluatedDescriptionList(); + EvaluatedDescription eDesc = null; + + for(Iterator<EvaluatedDescription> i = evalDesc.iterator(); i.hasNext();) + { + if(eDesc==null) + { + EvaluatedDescription e = i.next(); + System.out.println("Description: "+e.getDescription()); + System.out.println("Description2: "+eval); + if(e.getDescription().toString().equals(eval.toString())) + { + eDesc = e; + } + + } + } + return eDesc; + } - public void renderDetailPanel(EvaluatedDescription eval) + public void renderDetailPanel(Description desc) { - this.evalDescription = eval; - accuracy = new JLabel("Accuracy:"); - coveredExamples = new JLabel("Covered Examples:"); + EvaluatedDescription eval = getSelectedConcept(desc); + System.out.println("Eval: "+eval); + accuracyPanel = new JPanel(new GridLayout(0,2)); + accuracy = new JTextArea("Accuracy:"); + accuracy.setEditable(false); + accuracyPanel.add(accuracy); + posCoveredText = new JTextArea(); + posCoveredText.setEditable(false); + posNotCoveredText = new JTextArea(); + posNotCoveredText.setEditable(false); + negCoveredText = new JTextArea(); + negCoveredText.setEditable(false); + negNotCoveredText = new JTextArea(); + negNotCoveredText.setEditable(false); + accuracyText = new JTextArea(); + accuracyText.setEditable(false); + if(eval!=null) + { + accuracyText.append(String.valueOf(eval.getAccuracy())); + } + accuracyPanel.add(accuracyText); + accuracyPanel.setBounds(0,0,400,40); + examplePanel = new JPanel(new GridLayout(0,2)); + detailPanel = new JPanel(new GridLayout(0,1)); + //detailPanel.setLayout(null); + examplePanel.add(accuracy); + examplePanel.add(accuracyText); + coveredPositiveExamples = new JLabel("Covered Positive Examples:"); + notCoveredPositiveExamples = new JLabel("Not Covered Positive Examples"); + coveredNegativeExamples = new JLabel("Covered Negative Examples:"); + notCoveredNegativeExamples = new JLabel("Not Covered Negative Examples"); detailPopup = new JDialog(); - detailPopup.setSize(300, 300); - accuracyPanel = new JPanel(new GridLayout(0,1)); - coveredExamplesPanel = new JPanel(new GridLayout(0,1)); + detailPopup.setSize(400, 400); + detailPopup.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + detailPopup.setVisible(true); + detailPopup.setResizable(false); detailScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - detailPanel = new JPanel(new GridLayout(0,2)); - accuracyPanel.add(new JLabel(String.valueOf(evalDescription.getAccuracy()))); - Set<Individual> posCovered = evalDescription.getCoveredPositives(); - for(Iterator<Individual> i = posCovered.iterator(); i.hasNext();) + examplePanel.add(coveredPositiveExamples); + examplePanel.add(notCoveredPositiveExamples); + if(eval!=null) { - coveredExamplesPanel.add(new JLabel(i.next().toString())); + for(Iterator<Individual> i = eval.getCoveredPositives().iterator(); i.hasNext();) + { + posCoveredText.append(i.next()+"\n"); } - detailPanel.add(accuracy); - detailPanel.add(accuracyPanel); - detailPanel.add(coveredExamples); - detailPanel.add(coveredExamplesPanel); + examplePanel.add(posCoveredText); + } + if(eval!=null) + { + + for(Iterator<Individual> i = eval.getNotCoveredPositives().iterator(); i.hasNext();) + { + posNotCoveredText.append(i.next()+"\n"); + } + examplePanel.add(posNotCoveredText); + } + examplePanel.add(coveredNegativeExamples); + examplePanel.add(notCoveredNegativeExamples); + + if(eval!=null) + { + for(Iterator<Individual> i = eval.getCoveredNegatives().iterator(); i.hasNext();) + { + negCoveredText.append(i.next()+"\n"); + } + examplePanel.add(negCoveredText); + } + if(eval!=null) + { + + for(Iterator<Individual> i = eval.getNotCoveredNegatives().iterator(); i.hasNext();) + { + negNotCoveredText.append(i.next()+"\n"); + } + examplePanel.add(negNotCoveredText); + } + //detailPanel.add(accuracyPanel); + detailPanel.add(examplePanel); detailScroll.setViewportView(detailPanel); + detailPopup.add(detailScroll); } } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-07-10 09:43:45 UTC (rev 1006) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-07-10 16:37:43 UTC (rev 1007) @@ -276,7 +276,7 @@ /** * */ - + private JButton why; /** * */ @@ -324,7 +324,7 @@ /** * */ - private JButton why; + // private JButton why; private MoreDetailForSuggestedConceptsPanel detail; /** * The constructor for the DL-Learner tab in the class description editor @@ -334,6 +334,7 @@ public DLLearnerView(OWLFrame<OWLClass> aktuell,String label) { classSelectorPanel = new OWLClassSelectorPanel(editorKit); + why = new JButton("Why"); classSelectorPanel.firePropertyChange("test", false, true); URL iconUrl = this.getClass().getResource("pfeil.gif"); icon = new ImageIcon(iconUrl); @@ -348,7 +349,7 @@ run = new JButton("Suggest "+label); cancel = new JButton("Cancel"); accept = new JButton("ADD"); - why = new JButton("Why"); + //why = new JButton("Why"); sugPanel.addSuggestPanelMouseListener(action); errorMessage = new JLabel(); learner = new JPanel(); @@ -381,7 +382,6 @@ */ public void makeView() { - why.setEnabled(false); advanced.setIcon(icon); model.clearVector(); model.unsetListModel(); @@ -393,9 +393,9 @@ action.resetToggled(); sugPanel.setSuggestList(model.getSuggestList()); sugPanel = sugPanel.updateSuggestClassList(); - why.setBounds(10,160,200,30); advanced.setSelected(false); sugPanel.setBounds(10,40,490,110); + why.setBounds(10,160,200,30); adv.setBounds(40,200,200,20); run.setBounds(10,0,200,30); advanced.setBounds(10,200,20,20); @@ -407,8 +407,8 @@ errorMessage.setBounds(220,160,300,20); learner.add(run); learner.add(adv); - learner.add(why); learner.add(advanced); + learner.add(why); learner.add(cancel); learner.add(sugPanel); learner.add(accept); @@ -439,10 +439,6 @@ return learner; } - public JButton getWhyButton() - { - return why; - } /** * * @param visible @@ -534,7 +530,6 @@ public void dispose() { } - public void addWhyButtonListener(ActionListener a) { why.addActionListener(a); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |