From: <hee...@us...> - 2008-04-09 12:14:47
|
Revision: 779 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=779&view=rev Author: heeroyuy Date: 2008-04-09 05:14:35 -0700 (Wed, 09 Apr 2008) Log Message: ----------- warnings fixed Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerComponentListener.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerConfig.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerOptionTab.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassButton.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,38 +1,30 @@ package org.dllearner.tools.protege; import java.awt.event.*; - -public class ActionHandler implements ActionListener, ComponentListener{ - private ActionHandler action; - +public class ActionHandler implements ActionListener, ItemListener{ + private DLLearnerModel model; - public ActionHandler(ActionHandler a) + public ActionHandler(ActionHandler a,DLLearnerModel m) { - action = a; + model = m; } public void actionPerformed(ActionEvent z){ - System.out.println("hihihi: "+ z.getActionCommand()); + if(z.getActionCommand().equals("RUN")) + { + model.configDLLearner(); + model.DLLearnerStart(); + //setChanged(); + //notifyObservers(model.getSolutions()); + System.out.println(model.getSolutions()); + //config.setDescriptionList(model.getSolutions()); + } } - public void componentHidden(ComponentEvent e) - { - System.out.println("1: "+e.getID()); - } - public void componentMoved(ComponentEvent e) + public void itemStateChanged(ItemEvent i) { - System.out.println("2: "+ e.getComponent().getClass().getName()); + } - public void componentResized(ComponentEvent e) - { - //System.out.println("3: "+ e.getComponent().getClass().getName()); - } - - public void componentShown(ComponentEvent e) - { - System.out.println("4: "+ e.getID()); - } - } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-04-09 12:14:35 UTC (rev 779) @@ -15,7 +15,7 @@ { super(editorKit.getOWLModelManager().getOWLOntologyManager()); addSection(new OWLEquivalentClassesAxiomFrameSection(editorKit, this)); - addSection(new SuggestClassButton(editorKit, this)); + addSection(new SuggestEquivalentClassButton(editorKit, this)); addSection(new OWLSubClassAxiomFrameSection(editorKit, this)); //addSection(new SuggestClassButton(editorKit, this)); addSection(new InheritedAnonymousClassesFrameSection(editorKit, this)); Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerComponentListener.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerComponentListener.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerComponentListener.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,16 +0,0 @@ -package org.dllearner.tools.protege; - -import java.awt.event.*; - -public class DLLearnerComponentListener implements ItemListener { - - public void itemStateChanged(ItemEvent e) { - if (e.getStateChange() == ItemEvent.SELECTED) { - - System.out.println("JUHU "+e.getStateChange()); - - } else { - - } - } -} Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerConfig.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerConfig.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerConfig.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,54 +0,0 @@ -package org.dllearner.tools.protege; - -import org.protege.editor.owl.OWLEditorKit; - -public class DLLearnerConfig { - - - - public void DLLearnerStart() - { - System.out.println("blub"); - /*ComponentManager cm = ComponentManager.getInstance(); - KnowledgeSource source = cm.knowledgeSource(OWLFile.class); - String example = "examples/family/father.owl"; - cm.applyConfigEntry(source, "url", new File(example).toURI().toString()); - source.init(); - - // create DIG reasoning service with standard settings - ReasonerComponent reasoner = cm.reasoner(DIGReasoner.class, source); - // ReasoningService rs = cm.reasoningService(DIGReasonerNew.class, source); - reasoner.init(); - ReasoningService rs = cm.reasoningService(reasoner); - - // create a learning problem and set positive and negative examples - LearningProblem lp = cm.learningProblem(PosNegDefinitionLP.class, rs); - Set<String> positiveExamples = new TreeSet<String>(); - positiveExamples.add("http://example.com/father#stefan"); - positiveExamples.add("http://example.com/father#markus"); - positiveExamples.add("http://example.com/father#martin"); - Set<String> negativeExamples = new TreeSet<String>(); - negativeExamples.add("http://example.com/father#heinz"); - negativeExamples.add("http://example.com/father#anna"); - negativeExamples.add("http://example.com/father#michelle"); - cm.applyConfigEntry(lp, "positiveExamples", positiveExamples); - cm.applyConfigEntry(lp, "negativeExamples", negativeExamples); - lp.init(); - - // create the learning algorithm - LearningAlgorithm la = null; - try { - la = cm.learningAlgorithm(RandomGuesser.class, lp, rs); - } catch (LearningProblemUnsupportedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - cm.applyConfigEntry(la, "numberOfTrees", 100); - cm.applyConfigEntry(la, "maxDepth", 5); - la.init(); - - // start the algorithm and print the best concept found - la.start(); - System.out.println(la.getBestSolution());*/ - } -} Added: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-04-09 12:14:35 UTC (rev 779) @@ -0,0 +1,185 @@ +package org.dllearner.tools.protege; + +import org.dllearner.core.ComponentManager; +import org.dllearner.kb.OWLFile; + +import java.util.Observable; +import java.util.Set; +import java.util.TreeSet; +import java.util.Vector; +import java.io.*; +import javax.swing.JCheckBox; +import org.dllearner.algorithms.refinement.*; +import org.dllearner.core.*; +import org.dllearner.reasoning.*; +import org.dllearner.learningproblems.*; + +public class DLLearnerModel extends Observable{ + private String[] componenten={"org.dllearner.kb.OWLFile","org.dllearner.reasoning.OWLAPIReasoner", + "org.dllearner.reasoning.DIGReasoner","org.dllearner.reasoning.FastRetrievalReasoner","org.dllearner.learningproblems.PosNegInclusionLP" + ,"org.dllearner.learningproblems.PosNegDefinitionLP","org.dllearner.algorithms.RandomGuesser","org.dllearner.algorithms.BruteForceLearner","org.dllearner.algorithms.refinement.ROLearner","org.dllearner.algorithms.refexamples.ExampleBasedROLComponent","org.dllearner.algorithms.gp.GP"}; + private String uri; + private Vector<JCheckBox> positiv; + private Vector<JCheckBox> negativ; + private ComponentManager cm; + private ReasonerComponent reasoner; + private ReasoningService rs; + private static final int anzahl = 10; + private String[] description = new String[anzahl]; + + public DLLearnerModel() + + { + positiv = new Vector<JCheckBox>(); + negativ = new Vector<JCheckBox>(); + + } + /** + * String um die Componenten des DL-Learners anzumelden + */ + public void setDLLearnerModel(Vector<JCheckBox> pos, Vector<JCheckBox> neg, String s) + { + positiv=pos; + negativ=neg; + uri=s; + } + public void configDLLearner() + { + ComponentManager.setComponentClasses(componenten); + // get singleton instance of component manager + cm = ComponentManager.getInstance(); + + // create knowledge source + KnowledgeSource source = cm.knowledgeSource(OWLFile.class); + cm.applyConfigEntry(source, "url", new File(uri).toURI().toString()); + try{ + source.init(); + } + catch(Exception e){ + } + // create DIG reasoning service with standard settings + reasoner = cm.reasoner(OWLAPIReasoner.class, source); + // ReasoningService rs = cm.reasoningService(DIGReasonerNew.class, source); + try{ + reasoner.init(); + } + catch(Exception e){ + + } + rs = cm.reasoningService(reasoner); + } + + public void startPosNegDefinitionReasoning() + { + + } + public void DLLearnerStart() + { + // create a learning problem and set positive and negative examples + LearningProblem lp = cm.learningProblem(PosNegDefinitionLP.class, rs); + Set<String> positiveExamples = new TreeSet<String>(); + for(int i=0;i<positiv.size();i++) + { + if(positiv.get(i).isSelected()) + { + positiveExamples.add(positiv.get(i).getText()); + } + } + Set<String> negativeExamples = new TreeSet<String>(); + for(int i=0;i<negativ.size();i++) + { + if(negativ.get(i).isSelected()) + { + negativeExamples.add(negativ.get(i).getText()); + } + } + cm.applyConfigEntry(lp, "positiveExamples", positiveExamples); + cm.applyConfigEntry(lp, "negativeExamples", negativeExamples); + try{ + lp.init(); + } + catch(Exception e){ + + } + + // create the learning algorithm + LearningAlgorithm la = null; + try { + la = cm.learningAlgorithm(ROLearner.class, lp, rs); + } catch (LearningProblemUnsupportedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + cm.applyConfigEntry(la, "numberOfTrees", 100); + cm.applyConfigEntry(la, "maxDepth", 5); + try{ + la.init(); + } + catch(Exception e){ + + } + + // start the algorithm and print the best concept found + la.start(); + description[0]=la.getBestSolution().toString(); + setChanged(); + notifyObservers(description); + } + + public String[] getSolutions() + { + return description; + } + public Vector<JCheckBox> getPosVector() + { + return positiv; + } + + public Vector<JCheckBox> getNegVector() + { + return negativ; + } + + public void setPosVector(Vector<JCheckBox> a) + { + positiv =a; + } + + public void setNegVector(Vector<JCheckBox> b) + { + negativ = b; + } + + public void addToPosVector(JCheckBox a) + { + positiv.add(a); + } + + public void addToNegVector(JCheckBox b) + { + negativ.add(b); + } + + public void clearVector() + { + positiv.removeAllElements(); + negativ.removeAllElements(); + } + + public String getUri() + { + return uri; + } + + public void setDescriptionList(String[] list) + { + description=list; + } + + public String[] getSollutions() + { + return description; + } + + +} Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerOptionTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerOptionTab.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerOptionTab.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,175 +0,0 @@ -package org.dllearner.tools.protege; - -import org.protege.editor.owl.OWLEditorKit; - -import org.semanticweb.owl.model.OWLClass; -import org.semanticweb.owl.model.OWLDescription; -import org.semanticweb.owl.model.OWLException; -import org.protege.editor.owl.ui.frame.*; -import org.protege.editor.owl.ui.framelist.OWLFrameList2; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.util.*; - -import org.dllearner.algorithms.RandomGuesser; -import org.dllearner.core.ComponentInitException; -import org.dllearner.algorithms.refexamples.ExampleBasedROLearner; -import org.dllearner.core.ComponentManager; -import org.dllearner.reasoning.DIGReasoner; -import org.dllearner.algorithms.RandomGuesser; -import org.dllearner.core.ComponentInitException; -import org.dllearner.core.ComponentManager; -import org.dllearner.core.KnowledgeSource; -import org.dllearner.core.LearningAlgorithm; -import org.dllearner.core.LearningProblem; -import org.dllearner.core.LearningProblemUnsupportedException; -import org.dllearner.core.ReasonerComponent; -import org.dllearner.core.ReasoningService; -import org.dllearner.kb.OWLFile; -import org.dllearner.learningproblems.PosNegDefinitionLP; -import org.dllearner.reasoning.DIGReasoner; -import org.dllearner.learningproblems.PosNegDefinitionLP; -import org.dllearner.core.KnowledgeSource; -import org.dllearner.kb.OWLFile; -import org.semanticweb.owl.model.*; - - - -public class DLLearnerOptionTab extends AbstractOWLFrameSectionRowObjectEditor<OWLDescription> - { - - private JLabel pos; - private JComponent learner; - private JSplitPane split; - private JButton accept; - private JButton config; - private OWLEditorKit editor; - private JPanel option; - private JScrollPane suggest; - private JPanel vorschlag; - private Object[] blub; - private OWLDescription initialDescription; - private JLabel neg; - private String test; - private ActionHandler action; - private DLLearnerComponentListener listen; - private DLLearnerConfig dlLearnerConfig; - private JCheckBox hi; - - - //TODO: Layout selber festlegen denn die standartlayouts sind scheisse - //TODO: ActionListener implementieren - //TODO: Reasoner, learningproblems und algos direkt vom dl-learner beziehen - //TODO: instanz vom DLLearnerOptionTab wieder zuruecksetzen damit beim laden neue Ontologie erkannt wird - public DLLearnerOptionTab(OWLEditorKit editorKit, OWLDescription description) { - - dlLearnerConfig = new DLLearnerConfig(); - editor = editorKit; - initialDescription = description; - split = new JSplitPane(split.HORIZONTAL_SPLIT,false); - suggest = new JScrollPane(); - vorschlag = new JPanel(new GridLayout(3,1)); - learner = new JPanel(); - option = new JPanel(new GridLayout(20,1)); - init(); - hi= new JCheckBox("Test", true); - //buildLearnerOption(); - } - - public void startDLLearner() - { - new DLLearnerConfig().DLLearnerStart(); - - - } - public void init() - { - action = new ActionHandler(this.action); - listen = new DLLearnerComponentListener(); - } - - public OWLDescription getEditedObject() - { - String expression = "JUHU"; - try { - return editor.getOWLModelManager().getOWLDescriptionParser().createOWLDescription(expression); - } - catch (OWLException e){ - return null; - } - - } - - private void buildLearnerOption() - { - learner.setPreferredSize(new Dimension(500, 400)); - split = new JSplitPane(split.HORIZONTAL_SPLIT,false); - split.setResizeWeight(0.5); - - pos = new JLabel("Positive Examples"); - option.add(pos); - blub=editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().toArray(); - for(int j = 0; j<editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().size();j++) - { - option.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j], true)).addComponentListener(action); - } - neg = new JLabel("Negative Examples"); - option.add(neg); - for(int j = 0; j<editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().size();j++) - { - option.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j], true)).addComponentListener(action); - } - config = new JButton("Config"); - config.addActionListener(this.action); - option.add(config); - option.add(hi); - accept = new JButton("RUN"); - accept.addActionListener(this.action); - vorschlag.add(suggest); - vorschlag.add(accept); - split.setLeftComponent(option); - split.setRightComponent(vorschlag); - learner.add(split); - System.out.println(""); - //System.out.println("hi: "+hi.get); - startDLLearner(); - - } - -public void actionPerformed(ActionEvent a) -{ - System.out.println(a.getSource()); -} - public JComponent getEditorComponent() - { - buildLearnerOption(); - return learner; - } - - public void clear() - { - if(split!=null) - { - split.removeAll(); - option.removeAll(); - vorschlag.removeAll(); - } - } - - public void dispose(){ - } - - public Set<OWLDescription> getEditedObjects() - { - return super.getEditedObjects(); - } - } \ No newline at end of file Modified: trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-04-09 12:14:35 UTC (rev 779) @@ -6,7 +6,7 @@ Bundle-Description: blablabla Bundle-Vendor: blablabla Bundle-DocURL: blablabla -Bundle-ClassPath: .,lib/xbean.jar,lib/dig1.1-xmlbeans.jar,lib/junit-4.4.jar,log4j.jar,lib/components.ini +Bundle-ClassPath: .,lib/xbean.jar,lib/dig1.1-xmlbeans.jar,lib/junit-4.4.jar,log4j.jar,lib/components.ini,lib/pellet/pellet.jar,lib/pellet/aterm-java-1.6.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.jar Import-Package: org.osgi.framework,org.apache.log4j Export-Package: lib Bundle-Version: 1.0.0 Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java 2008-04-09 12:14:35 UTC (rev 779) @@ -9,7 +9,7 @@ public class ProtegePlugin extends AbstractOWLClassViewComponent { - +private static final long serialVersionUID = 728362819273927L; private OWLFrameList2<OWLClass> list; public void initialiseClassView() throws Exception { Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassButton.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassButton.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassButton.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,64 +0,0 @@ -package org.dllearner.tools.protege; - -import java.util.Comparator; - -import org.protege.editor.owl.OWLEditorKit; -import org.protege.editor.owl.ui.frame.AbstractOWLFrameSection; -import org.protege.editor.owl.ui.frame.OWLFrame; -import org.protege.editor.owl.ui.frame.OWLFrameSectionRow; -import org.protege.editor.owl.ui.frame.OWLFrameSectionRowObjectEditor; -import org.semanticweb.owl.model.OWLClass; -import org.semanticweb.owl.model.OWLDescription; -import org.semanticweb.owl.model.OWLEquivalentClassesAxiom; -import org.semanticweb.owl.model.OWLOntology; -import org.semanticweb.owl.util.CollectionFactory; - - -public class SuggestClassButton extends AbstractOWLFrameSection<OWLClass, OWLEquivalentClassesAxiom, OWLDescription> { - - private static final String LABEL = "Suggest a class"; - - - public SuggestClassButton(OWLEditorKit editorKit, OWLFrame<OWLClass> frame) - { - super(editorKit, LABEL, frame); - } - - protected void clear() { - - } - - - - protected void refill(OWLOntology ontology) { - - } - - - protected void refillInferred() { - - } - - - public void visit(SuggestClassButton axiom) { - - - } - - - protected OWLEquivalentClassesAxiom createAxiom(OWLDescription object) { - return getOWLDataFactory().getOWLEquivalentClassesAxiom(CollectionFactory.createSet(getRootObject(), object)); - } - - - public OWLFrameSectionRowObjectEditor<OWLDescription> getObjectEditor() { - - return new DLLearnerOptionTab(getOWLEditorKit(), null); - - } - - - public Comparator<OWLFrameSectionRow<OWLClass, OWLEquivalentClassesAxiom, OWLDescription>> getRowComparator() { - return null; - } -} Added: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java 2008-04-09 12:14:35 UTC (rev 779) @@ -0,0 +1,63 @@ +package org.dllearner.tools.protege; + +import java.util.Comparator; + +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.frame.AbstractOWLFrameSection; +import org.protege.editor.owl.ui.frame.OWLFrame; +import org.protege.editor.owl.ui.frame.OWLFrameSectionRow; +import org.protege.editor.owl.ui.frame.OWLFrameSectionRowObjectEditor; +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLEquivalentClassesAxiom; +import org.semanticweb.owl.model.OWLOntology; +import org.semanticweb.owl.util.CollectionFactory; + + +public class SuggestEquivalentClassButton extends AbstractOWLFrameSection<OWLClass, OWLEquivalentClassesAxiom, OWLDescription> { + + private static final String LABEL = "Suggest a equivalent Class"; + private OWLFrame<OWLClass> frame; + public SuggestEquivalentClassButton(OWLEditorKit editorKit, OWLFrame<OWLClass> frame) + { + super(editorKit, LABEL, frame); + this.frame = frame; + } + + protected void clear() { + + } + + + + protected void refill(OWLOntology ontology) { + + } + + + protected void refillInferred() { + + } + + + public void visit(SuggestEquivalentClassButton axiom) { + + + } + + + protected OWLEquivalentClassesAxiom createAxiom(OWLDescription object) { + return getOWLDataFactory().getOWLEquivalentClassesAxiom(CollectionFactory.createSet(getRootObject(), object)); + } + + + public OWLFrameSectionRowObjectEditor<OWLDescription> getObjectEditor() { + return new SuggestEquivalentClassView(getOWLEditorKit(), null, frame); + + } + + + public Comparator<OWLFrameSectionRow<OWLClass, OWLEquivalentClassesAxiom, OWLDescription>> getRowComparator() { + return null; + } +} \ No newline at end of file Added: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java 2008-04-09 12:14:35 UTC (rev 779) @@ -0,0 +1,233 @@ +package org.dllearner.tools.protege; + + +import java.awt.Dimension; +import java.awt.GridLayout; +import java.util.*; + +import org.semanticweb.owl.model.OWLClass; +import org.dllearner.core.owl.Description; +import org.protege.editor.owl.ui.frame.OWLFrame; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JList; +import javax.swing.JSplitPane; + + +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.frame.AbstractOWLFrameSectionRowObjectEditor; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLException; + + +public class SuggestEquivalentClassView extends AbstractOWLFrameSectionRowObjectEditor<OWLDescription> implements Observer{ + + private JLabel pos; + private Vector<JCheckBox> positive = new Vector<JCheckBox>(); + private Vector<JCheckBox> negative = new Vector<JCheckBox>(); + private JComponent learner; + private JSplitPane split; + private JButton accept; + private JButton run; + private OWLEditorKit editor; + private JPanel option; + private JPanel listPanel; + private JScrollPane test; + private JList suggest; + private JPanel vorschlag; + private Object[] blub; + private JLabel neg; + private ActionHandler action; + private DLLearnerModel model; + private OWLFrame<OWLClass> aktuell; + private JPanel panel; + + public void update(Observable m,Object c) + { + if( model != m) return; + draw(); + } + //TODO: Layout selber festlegen denn die standartlayouts sind scheisse + //TODO: MVC Achitektur erstellen + //TODO: herrausfinden wie das mit dem scrollen geht + public SuggestEquivalentClassView(OWLEditorKit editorKit, OWLDescription description, OWLFrame<OWLClass> h) { + + editor = editorKit; + aktuell = h; + split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false); + model = new DLLearnerModel(); + model.addObserver( this); + vorschlag = new JPanel(); + panel = new JPanel(new GridLayout(0,1)); + panel.setPreferredSize(new Dimension(290,490)); + suggest = new JList(); + //positiv.setPreferredSize(new Dimension(190,200)); + //negativ.setPreferredSize(new Dimension(190,200)); + learner = new JPanel(); + listPanel = new JPanel(); + learner.setPreferredSize(new Dimension(600, 500)); + split.setResizeWeight(0.5); + pos = new JLabel("Positive Examples"); + neg = new JLabel("Negative Examples"); + run = new JButton("RUN"); + accept = new JButton("ADD"); + //accept.setSize(190, 20); + accept.setPreferredSize(new Dimension(290,50)); + action = new ActionHandler(this.action, model); + } + + public OWLDescription getEditedObject() + { + String expression = "JUHU"; + try { + return editor.getOWLModelManager().getOWLDescriptionParser().createOWLDescription(expression); + } + catch (OWLException e){ + return null; + } + + } + + public void makeView() + { + test= new JScrollPane(); + option = new JPanel(new GridLayout(0,1)); + option.setPreferredSize(new Dimension(290,0)); + option.add(pos); + blub=editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().toArray(); + for(int j = 0; j<blub.length;j++) + { + positive.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j].toString())); + + } + for(int j=0; j<positive.size();j++) + { + option.add(positive.get(j)); + } + option.add(neg); + for(int j = 0; j<blub.length;j++) + { + negative.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j].toString())); + } + for(int i=0;i<negative.size();i++) + { + option.add(negative.get(i)); + } + //individuals.add(negative); + option.add(run); + panel.add(suggest); + panel.add(accept); + test.add(option); + split.setLeftComponent(option); + split.setRightComponent(panel); + learner.add(split); + System.out.println(aktuell.getRootObject()); + addListener(); + model.setDLLearnerModel(positive,negative,getUri()); + } + + public JComponent getEditorComponent() + { + makeView(); + return learner; + } + /** + * Methode die den View wieder leert nachdem er nicht mehr gebraucht wird + */ + public void clear() + { + if(split!=null) + { + split.removeAll(); + panel.removeAll(); + if(option!=null) + { + option.removeAll(); + } + suggest.removeAll(); + vorschlag.removeAll(); + positive.removeAllElements(); + negative.removeAllElements(); + } + } + /** + * Methode die alle Buttons und CheckBoxes an dem ActionListener anmeldet + */ + private void addListener() + { + run.addActionListener(this.action); + accept.addActionListener(this.action); + + for(int i=0;i<positive.size();i++) + { + positive.get(i).addItemListener(action); + } + + for(int i=0;i<negative.size();i++) + { + negative.get(i).addItemListener(action); + } + } + + public void dispose(){ + } + public String getUri() + { + char[] test = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()).toString().toCharArray(); + String uri=""; + for(int i =6; i<test.length;i++) + { + uri=uri+test[i]; + } + return uri; + } + + public void setSuggestionList(java.util.List<Description> list) + { + System.out.println(list.isEmpty()); + if(list.isEmpty()) + { + listPanel.add(new JLabel("No Suggestions")); + } + else + { + for(int i = 0; i<list.size();i++) + { + listPanel.add(new JLabel(list.get(i).toString())); + } + } + } + + + public Set<OWLDescription> getEditedObjects() + { + return super.getEditedObjects(); + } + private void resetPanel() + { + option.removeAll(); + positive.removeAllElements(); + negative.removeAllElements(); + panel.removeAll(); + } + public void release() + { + model.deleteObserver( this); + model = null; + } + + protected void draw() { + if (model != null) { + String desc[] = ((DLLearnerModel)model).getSolutions(); + + suggest = new JList(desc); + System.out.println("Hallo Welt"); + resetPanel(); + makeView(); + } + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-04-18 11:15:58
|
Revision: 798 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=798&view=rev Author: heeroyuy Date: 2008-04-18 04:15:47 -0700 (Fri, 18 Apr 2008) Log Message: ----------- -small design change -add thread to rum learning algorithm Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-04-17 13:02:17 UTC (rev 797) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-04-18 11:15:47 UTC (rev 798) @@ -1,24 +1,49 @@ package org.dllearner.tools.protege; + + import java.awt.event.*; -public class ActionHandler implements ActionListener, ItemListener{ +import java.util.Observable; +public class ActionHandler extends Observable implements ActionListener, ItemListener { private DLLearnerModel model; - - public ActionHandler(ActionHandler a,DLLearnerModel m) + private SuggestEquivalentClassView view; + private Thread dlLearner; + public ActionHandler(ActionHandler a,DLLearnerModel m, SuggestEquivalentClassView s) { + view = s; model = m; } public void actionPerformed(ActionEvent z){ + if(z.getActionCommand().equals("RUN")) { - model.configDLLearner(); - model.DLLearnerStart(); - //setChanged(); - //notifyObservers(model.getSolutions()); - System.out.println(model.getSolutions()); - //config.setDescriptionList(model.getSolutions()); + dlLearner = new Thread(model); + System.out.println("test"); + view.getStartButton().setEnabled(false); + view.getStopButton().setEnabled(true); + dlLearner.start(); } - } + + if(z.getActionCommand().equals("Cancel")) + { + System.out.println(dlLearner.isInterrupted()); + model.getLearningAlgorithm().stop(); + view.destroyListener(); + view.getStartButton().setEnabled(true); + view.getStopButton().setEnabled(false); + System.out.println(dlLearner.isInterrupted()); + String error = "Learning aborted"; + dlLearner.interrupt(); + System.out.println(dlLearner.isInterrupted()); + view.renderErrorMessage(error); + } + + if(z.getActionCommand().equals("ADD")) + { + String message ="Ausgezeichnet *Mr.Burns*"; + view.renderErrorMessage(message); + } + } public void itemStateChanged(ItemEvent i) @@ -26,5 +51,15 @@ } - + public void textValueChanged(TextEvent t) + { + + + } + + public void destroyThread() + { + view.getStartButton().setEnabled(true); + view.getStopButton().setEnabled(false); + } } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-04-17 13:02:17 UTC (rev 797) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-04-18 11:15:47 UTC (rev 798) @@ -17,7 +17,6 @@ addSection(new OWLEquivalentClassesAxiomFrameSection(editorKit, this)); addSection(new SuggestEquivalentClassButton(editorKit, this)); addSection(new OWLSubClassAxiomFrameSection(editorKit, this)); - //addSection(new SuggestClassButton(editorKit, this)); addSection(new InheritedAnonymousClassesFrameSection(editorKit, this)); addSection(new OWLClassAssertionAxiomIndividualSection(editorKit, this)); addSection(new OWLDisjointClassesAxiomFrameSection(editorKit, this)); Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-04-17 13:02:17 UTC (rev 797) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-04-18 11:15:47 UTC (rev 798) @@ -14,7 +14,7 @@ import org.dllearner.reasoning.*; import org.dllearner.learningproblems.*; -public class DLLearnerModel extends Observable{ +public class DLLearnerModel extends Observable implements Runnable{ private String[] componenten={"org.dllearner.kb.OWLFile","org.dllearner.reasoning.OWLAPIReasoner", "org.dllearner.reasoning.DIGReasoner","org.dllearner.reasoning.FastRetrievalReasoner","org.dllearner.learningproblems.PosNegInclusionLP" ,"org.dllearner.learningproblems.PosNegDefinitionLP","org.dllearner.algorithms.RandomGuesser","org.dllearner.algorithms.BruteForceLearner","org.dllearner.algorithms.refinement.ROLearner","org.dllearner.algorithms.refexamples.ExampleBasedROLComponent","org.dllearner.algorithms.gp.GP"}; @@ -26,7 +26,8 @@ private ReasoningService rs; private static final int anzahl = 10; private String[] description = new String[anzahl]; - + private LearningProblem lp; + private LearningAlgorithm la = null; public DLLearnerModel() { @@ -43,8 +44,14 @@ negativ=neg; uri=s; } - public void configDLLearner() + + + public void startPosNegDefinitionReasoning() { + + } + public void run() + { ComponentManager.setComponentClasses(componenten); // get singleton instance of component manager cm = ComponentManager.getInstance(); @@ -67,16 +74,9 @@ } rs = cm.reasoningService(reasoner); - } - - public void startPosNegDefinitionReasoning() - { - - } - public void DLLearnerStart() - { + lp = cm.learningProblem(PosNegDefinitionLP.class, rs); // create a learning problem and set positive and negative examples - LearningProblem lp = cm.learningProblem(PosNegDefinitionLP.class, rs); + Set<String> positiveExamples = new TreeSet<String>(); for(int i=0;i<positiv.size();i++) { @@ -103,9 +103,8 @@ } // create the learning algorithm - LearningAlgorithm la = null; try { - la = cm.learningAlgorithm(ROLearner.class, lp, rs); + this.la = cm.learningAlgorithm(ROLearner.class, lp, rs); } catch (LearningProblemUnsupportedException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -121,6 +120,7 @@ // start the algorithm and print the best concept found la.start(); + System.out.println(la.getSolutionScore()); description[0]=la.getBestSolution().toString(); setChanged(); notifyObservers(description); @@ -181,5 +181,10 @@ return description; } + public LearningAlgorithm getLearningAlgorithm() + { + return la; + } + } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-04-17 13:02:17 UTC (rev 797) +++ trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-04-18 11:15:47 UTC (rev 798) @@ -6,7 +6,7 @@ Bundle-Description: blablabla Bundle-Vendor: blablabla Bundle-DocURL: blablabla -Bundle-ClassPath: .,lib/xbean.jar,lib/dig1.1-xmlbeans.jar,lib/junit-4.4.jar,log4j.jar,lib/components.ini,lib/pellet/pellet.jar,lib/pellet/aterm-java-1.6.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.jar +Bundle-ClassPath: .,lib/junit-4.4.jar,log4j.jar,lib/pellet/pellet.jar,lib/pellet/aterm-java-1.6.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.jar Import-Package: org.osgi.framework,org.apache.log4j Export-Package: lib Bundle-Version: 1.0.0 Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java 2008-04-17 13:02:17 UTC (rev 797) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java 2008-04-18 11:15:47 UTC (rev 798) @@ -18,6 +18,7 @@ private static final String LABEL = "Suggest a equivalent Class"; private OWLFrame<OWLClass> frame; + private SuggestEquivalentClassView view; public SuggestEquivalentClassButton(OWLEditorKit editorKit, OWLFrame<OWLClass> frame) { super(editorKit, LABEL, frame); @@ -52,7 +53,9 @@ public OWLFrameSectionRowObjectEditor<OWLDescription> getObjectEditor() { - return new SuggestEquivalentClassView(getOWLEditorKit(), null, frame); + view = new SuggestEquivalentClassView(getOWLEditorKit(), null, frame); + view.setView(view); + return view; } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java 2008-04-17 13:02:17 UTC (rev 797) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java 2008-04-18 11:15:47 UTC (rev 798) @@ -6,18 +6,15 @@ import java.util.*; import org.semanticweb.owl.model.OWLClass; -import org.dllearner.core.owl.Description; import org.protege.editor.owl.ui.frame.OWLFrame; import javax.swing.JButton; import javax.swing.JCheckBox; +import java.awt.*; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; -import javax.swing.JScrollPane; import javax.swing.JList; -import javax.swing.JSplitPane; - import org.protege.editor.owl.OWLEditorKit; import org.protege.editor.owl.ui.frame.AbstractOWLFrameSectionRowObjectEditor; import org.semanticweb.owl.model.OWLDescription; @@ -30,56 +27,58 @@ private Vector<JCheckBox> positive = new Vector<JCheckBox>(); private Vector<JCheckBox> negative = new Vector<JCheckBox>(); private JComponent learner; - private JSplitPane split; private JButton accept; private JButton run; private OWLEditorKit editor; private JPanel option; - private JPanel listPanel; - private JScrollPane test; private JList suggest; - private JPanel vorschlag; - private Object[] blub; + private Object[] instances; private JLabel neg; + private final static Color Color_RED = Color.red; + private JButton cancel; + private JLabel errorMessage; private ActionHandler action; private DLLearnerModel model; - private OWLFrame<OWLClass> aktuell; - private JPanel panel; - + private String[] descriptions = new String[10]; + //private OWLFrame<OWLClass> aktuell; + private SuggestEquivalentClassView view; + public void update(Observable m,Object c) { if( model != m) return; draw(); } - //TODO: Layout selber festlegen denn die standartlayouts sind scheisse + //TODO: MVC Achitektur erstellen //TODO: herrausfinden wie das mit dem scrollen geht public SuggestEquivalentClassView(OWLEditorKit editorKit, OWLDescription description, OWLFrame<OWLClass> h) { editor = editorKit; - aktuell = h; - split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false); + //aktuell = h; model = new DLLearnerModel(); - model.addObserver( this); - vorschlag = new JPanel(); - panel = new JPanel(new GridLayout(0,1)); - panel.setPreferredSize(new Dimension(290,490)); - suggest = new JList(); - //positiv.setPreferredSize(new Dimension(190,200)); - //negativ.setPreferredSize(new Dimension(190,200)); + errorMessage = new JLabel(); + errorMessage.setForeground(Color_RED); + suggest = new JList(descriptions); learner = new JPanel(); - listPanel = new JPanel(); - learner.setPreferredSize(new Dimension(600, 500)); - split.setResizeWeight(0.5); + learner.setLayout(null); + learner.setPreferredSize(new Dimension(600, 480)); pos = new JLabel("Positive Examples"); neg = new JLabel("Negative Examples"); run = new JButton("RUN"); + cancel = new JButton("Cancel"); accept = new JButton("ADD"); - //accept.setSize(190, 20); accept.setPreferredSize(new Dimension(290,50)); - action = new ActionHandler(this.action, model); + option = new JPanel(new GridLayout(0,2)); + cancel.setEnabled(false); + option.setPreferredSize(new Dimension(290,0)); + model.addObserver(this); + } - + public void setView(SuggestEquivalentClassView v) + { + view = v; + action = new ActionHandler(this.action, model,view); + } public OWLDescription getEditedObject() { String expression = "JUHU"; @@ -94,38 +93,38 @@ public void makeView() { - test= new JScrollPane(); - option = new JPanel(new GridLayout(0,1)); - option.setPreferredSize(new Dimension(290,0)); + suggest = new JList(descriptions); option.add(pos); - blub=editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().toArray(); - for(int j = 0; j<blub.length;j++) + option.add(neg); + instances=editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().toArray(); + for(int j = 0; j<instances.length;j++) { - positive.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j].toString())); + positive.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+instances[j].toString())); } + for(int j = 0; j<instances.length;j++) + { + negative.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+instances[j].toString())); + } for(int j=0; j<positive.size();j++) { option.add(positive.get(j)); + option.add(negative.get(j)); } - option.add(neg); - for(int j = 0; j<blub.length;j++) - { - negative.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j].toString())); - } - for(int i=0;i<negative.size();i++) - { - option.add(negative.get(i)); - } - //individuals.add(negative); - option.add(run); - panel.add(suggest); - panel.add(accept); - test.add(option); - split.setLeftComponent(option); - split.setRightComponent(panel); - learner.add(split); - System.out.println(aktuell.getRootObject()); + //test.add(option); + option.setBounds(0, 0, 490, 250); + run.setBounds(0,260,200,30); + cancel.setBounds(210,260,200,30); + suggest.setBounds(0,300,490,110); + accept.setBounds(0,420,200,30); + errorMessage.setBounds(210,420,300,30); + System.out.println("blub2"); + learner.add(option); + learner.add(run); + learner.add(cancel); + learner.add(suggest); + learner.add(accept); + learner.add(errorMessage); addListener(); model.setDLLearnerModel(positive,negative,getUri()); } @@ -140,18 +139,18 @@ */ public void clear() { - if(split!=null) - { - split.removeAll(); - panel.removeAll(); + if(option!=null) { option.removeAll(); } suggest.removeAll(); - vorschlag.removeAll(); positive.removeAllElements(); negative.removeAllElements(); + errorMessage.setText(""); + for(int i=0; i<descriptions.length;i++) + { + descriptions[i]=""; } } /** @@ -161,7 +160,7 @@ { run.addActionListener(this.action); accept.addActionListener(this.action); - + cancel.addActionListener(this.action); for(int i=0;i<positive.size();i++) { positive.get(i).addItemListener(action); @@ -171,8 +170,28 @@ { negative.get(i).addItemListener(action); } - } - + } + public void destroyListener() + { + run.removeActionListener(this.action); + accept.removeActionListener(this.action); + System.out.println("hihihihi"); + cancel.removeActionListener(this.action); + for(int i=0;i<positive.size();i++) + { + positive.get(i).removeItemListener(action); + } + + for(int i=0;i<negative.size();i++) + { + negative.get(i).removeItemListener(action); + } + } + public void setSuggestedClass() + { + //TODO: Description umwandeln und in ontologie einfuegen + //editor.getOWLModelManager().getActiveOntology().getClassAxioms().add(e); + } public void dispose(){ } public String getUri() @@ -186,22 +205,8 @@ return uri; } - public void setSuggestionList(java.util.List<Description> list) - { - System.out.println(list.isEmpty()); - if(list.isEmpty()) - { - listPanel.add(new JLabel("No Suggestions")); - } - else - { - for(int i = 0; i<list.size();i++) - { - listPanel.add(new JLabel(list.get(i).toString())); - } - } - } + public Set<OWLDescription> getEditedObjects() { @@ -210,10 +215,12 @@ private void resetPanel() { option.removeAll(); + System.out.println("blub1"); positive.removeAllElements(); negative.removeAllElements(); - panel.removeAll(); + learner.removeAll(); } + public void release() { model.deleteObserver( this); @@ -222,12 +229,35 @@ protected void draw() { if (model != null) { - String desc[] = ((DLLearnerModel)model).getSolutions(); - - suggest = new JList(desc); - System.out.println("Hallo Welt"); + run.setEnabled(true); + cancel.setEnabled(false); + System.out.println("blub"); + descriptions = ((DLLearnerModel)model).getSolutions(); resetPanel(); makeView(); } } + + public void disableRunButtons() + { + run.setEnabled(false); + cancel.setEnabled(true); + resetPanel(); + makeView(); + } + + public void renderErrorMessage(String s) + { + errorMessage.setText(s); + } + + public JButton getStartButton() + { + return run; + } + + public JButton getStopButton() + { + return cancel; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-04-22 18:11:38
|
Revision: 815 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=815&view=rev Author: heeroyuy Date: 2008-04-22 11:11:28 -0700 (Tue, 22 Apr 2008) Log Message: ----------- small changes Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-04-22 17:43:49 UTC (rev 814) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-04-22 18:11:28 UTC (rev 815) @@ -4,7 +4,8 @@ import java.awt.event.*; import java.util.Observable; -public class ActionHandler extends Observable implements ActionListener, ItemListener { + +public class ActionHandler extends Observable implements ActionListener, ItemListener, MouseListener { private DLLearnerModel model; private SuggestEquivalentClassView view; private Thread dlLearner; @@ -17,8 +18,8 @@ if(z.getActionCommand().equals("RUN")) { + model.setDLLearnerModel(view.getPositiveVector(), view.getNegativeVector(),view.getUri()); dlLearner = new Thread(model); - System.out.println("test"); view.getStartButton().setEnabled(false); view.getStopButton().setEnabled(true); dlLearner.start(); @@ -26,21 +27,27 @@ if(z.getActionCommand().equals("Cancel")) { - System.out.println(dlLearner.isInterrupted()); model.getLearningAlgorithm().stop(); - view.destroyListener(); view.getStartButton().setEnabled(true); view.getStopButton().setEnabled(false); - System.out.println(dlLearner.isInterrupted()); String error = "Learning aborted"; dlLearner.interrupt(); - System.out.println(dlLearner.isInterrupted()); view.renderErrorMessage(error); } if(z.getActionCommand().equals("ADD")) { - String message ="Ausgezeichnet *Mr.Burns*"; + String suggest=view.getSuggestionList().getSelectedValue().toString(); + for(int i = 0;i<model.getSolutions().length;i++) + { + if(model.getSolutions()[i].toString().equals(suggest)) + { + model.changeDLLearnerDescriptionsToOWLDescriptions(model.getSolutions()[i]); + System.out.println(model.getSolutions()[i].toString()); + } + } + + String message ="Concept added"; view.renderErrorMessage(message); } } @@ -51,15 +58,34 @@ } - public void textValueChanged(TextEvent t) + public void mouseReleased(MouseEvent m) { + } + + public void mouseEntered(MouseEvent m) + { } - public void destroyThread() + public void mouseClicked(MouseEvent m) { - view.getStartButton().setEnabled(true); - view.getStopButton().setEnabled(false); + System.out.println("mouseClicked: "); } + + public void mouseExited(MouseEvent m) + { + + } + + public void mousePressed(MouseEvent m) + { + + } + public void textValueChanged(TextEvent t) + { + + } + + } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-04-22 17:43:49 UTC (rev 814) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-04-22 18:11:28 UTC (rev 815) @@ -14,7 +14,7 @@ public ButtonList(OWLEditorKit editorKit) { super(editorKit.getOWLModelManager().getOWLOntologyManager()); - addSection(new OWLEquivalentClassesAxiomFrameSection(editorKit, this)); + //addSection(new SuggestButton(editorKit, this)); addSection(new SuggestEquivalentClassButton(editorKit, this)); addSection(new OWLSubClassAxiomFrameSection(editorKit, this)); addSection(new InheritedAnonymousClassesFrameSection(editorKit, this)); Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-04-22 17:43:49 UTC (rev 814) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-04-22 18:11:28 UTC (rev 815) @@ -3,16 +3,31 @@ import org.dllearner.core.ComponentManager; import org.dllearner.kb.OWLFile; +import java.util.HashSet; import java.util.Observable; import java.util.Set; import java.util.TreeSet; import java.util.Vector; import java.io.*; +import org.dllearner.core.owl.Description; import javax.swing.JCheckBox; import org.dllearner.algorithms.refinement.*; +//import org.coode.manchesterowlsyntax.ManchesterOWLSyntaxEditorParser; import org.dllearner.core.*; import org.dllearner.reasoning.*; import org.dllearner.learningproblems.*; +import org.semanticweb.owl.apibinding.OWLManager; +import org.semanticweb.owl.model.AddAxiom; +import org.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDataFactory; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLOntology; +import org.dllearner.reasoning.OWLAPIReasoner; +import org.semanticweb.owl.model.OWLOntologyChangeException; +import org.semanticweb.owl.model.OWLOntologyManager; +import org.semanticweb.owl.model.OWLOntologyStorageException; +import org.semanticweb.owl.model.UnknownOWLOntologyException; public class DLLearnerModel extends Observable implements Runnable{ private String[] componenten={"org.dllearner.kb.OWLFile","org.dllearner.reasoning.OWLAPIReasoner", @@ -22,12 +37,15 @@ private Vector<JCheckBox> positiv; private Vector<JCheckBox> negativ; private ComponentManager cm; - private ReasonerComponent reasoner; + //private ReasonerComponent reasoner; private ReasoningService rs; private static final int anzahl = 10; - private String[] description = new String[anzahl]; + private Description[] description = new Description[anzahl]; private LearningProblem lp; private LearningAlgorithm la = null; + OWLAPIReasoner reasoner; + + public DLLearnerModel() { @@ -52,6 +70,7 @@ } public void run() { + resetSuggestionList(); ComponentManager.setComponentClasses(componenten); // get singleton instance of component manager cm = ComponentManager.getInstance(); @@ -120,13 +139,17 @@ // start the algorithm and print the best concept found la.start(); - System.out.println(la.getSolutionScore()); - description[0]=la.getBestSolution().toString(); + description = new Description[la.getBestSolutions(anzahl).size()]; + for(int j = 0;j<la.getBestSolutions(anzahl).size();j++) + { + description[j]=la.getBestSolutions(anzahl).get(j); + } setChanged(); notifyObservers(description); + } - public String[] getSolutions() + public Description[] getSolutions() { return description; } @@ -171,20 +194,67 @@ return uri; } - public void setDescriptionList(String[] list) + public void setDescriptionList(Description[] list) { description=list; } - public String[] getSollutions() - { - return description; - } public LearningAlgorithm getLearningAlgorithm() { return la; } + + public void resetSuggestionList() + { + /*for(int i=0;i<description.length;i++) + { + description[i]=""; + }*/ + } + + public void changeDLLearnerDescriptionsToOWLDescriptions(Description desc) + { + OWLDescription newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); + System.out.println(newConceptOWLAPI); + //OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(concept); + } + + public void addAxiomToOWL(Description desc,Description concept){ + OWLDescription newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); + OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(concept); + + OWLOntology ontology = reasoner.getOWLAPIOntologies().get(0); + + OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); + + OWLDataFactory factory = manager.getOWLDataFactory(); + + Set<OWLDescription> ds = new HashSet<OWLDescription>(); + ds.add(newConceptOWLAPI); + ds.add(oldConceptOWLAPI); + + OWLAxiom axiomOWLAPI = factory.getOWLEquivalentClassesAxiom(ds); + + + AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); + try { + manager.applyChange(axiom); + } catch (OWLOntologyChangeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + try { + manager.saveOntology(ontology); + } catch (UnknownOWLOntologyException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (OWLOntologyStorageException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-04-22 17:43:49 UTC (rev 814) +++ trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-04-22 18:11:28 UTC (rev 815) @@ -6,7 +6,7 @@ Bundle-Description: blablabla Bundle-Vendor: blablabla Bundle-DocURL: blablabla -Bundle-ClassPath: .,lib/junit-4.4.jar,log4j.jar,lib/pellet/pellet.jar,lib/pellet/aterm-java-1.6.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.jar +Bundle-ClassPath: .,lib/junit-4.4.jar,lib/pellet/pellet.jar,lib/pellet/aterm-java-1.6.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.jar Import-Package: org.osgi.framework,org.apache.log4j Export-Package: lib Bundle-Version: 1.0.0 Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java 2008-04-22 17:43:49 UTC (rev 814) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java 2008-04-22 18:11:28 UTC (rev 815) @@ -5,6 +5,7 @@ import java.awt.GridLayout; import java.util.*; +import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLClass; import org.protege.editor.owl.ui.frame.OWLFrame; import javax.swing.JButton; @@ -13,6 +14,8 @@ import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.JScrollPane; +import org.dllearner.core.owl.Description; import javax.swing.JList; import org.protege.editor.owl.OWLEditorKit; @@ -34,13 +37,15 @@ private JList suggest; private Object[] instances; private JLabel neg; + private JScrollPane scrollPane; + private JScrollPane suggestScroll; private final static Color Color_RED = Color.red; private JButton cancel; private JLabel errorMessage; private ActionHandler action; private DLLearnerModel model; - private String[] descriptions = new String[10]; - //private OWLFrame<OWLClass> aktuell; + private Description[] descriptions = new Description[10]; + private OWLFrame<OWLClass> aktuell; private SuggestEquivalentClassView view; public void update(Observable m,Object c) @@ -54,11 +59,15 @@ public SuggestEquivalentClassView(OWLEditorKit editorKit, OWLDescription description, OWLFrame<OWLClass> h) { editor = editorKit; - //aktuell = h; + scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + suggestScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + aktuell = h; model = new DLLearnerModel(); errorMessage = new JLabel(); + System.out.println("test: "+aktuell.getRootObject()); errorMessage.setForeground(Color_RED); - suggest = new JList(descriptions); + suggest = new JList(); + suggest.setEnabled(true); learner = new JPanel(); learner.setLayout(null); learner.setPreferredSize(new Dimension(600, 480)); @@ -70,7 +79,6 @@ accept.setPreferredSize(new Dimension(290,50)); option = new JPanel(new GridLayout(0,2)); cancel.setEnabled(false); - option.setPreferredSize(new Dimension(290,0)); model.addObserver(this); } @@ -91,9 +99,10 @@ } - public void makeView() + public JComponent makeView() { - suggest = new JList(descriptions); + suggest = new JList(); + option.add(pos); option.add(neg); instances=editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().toArray(); @@ -111,26 +120,48 @@ option.add(positive.get(j)); option.add(negative.get(j)); } - //test.add(option); - option.setBounds(0, 0, 490, 250); - run.setBounds(0,260,200,30); + for(int j = 0; j<positive.size();j++) + { + Object[] test=editor.getOWLModelManager().getActiveOntology().getClassAssertionAxioms(aktuell.getRootObject()).toArray(); + for(int i = 0;i<test.length;i++) + { + String k = test[i].toString(); + String l = instances[j].toString(); + if(k.contains(l)&&positive.get(j).getText().contains(l)) + { + JCheckBox n=positive.get(j); + n.setSelected(true); + positive.set(j, n); + } + } + + + + } + scrollPane.setViewportView(option); + scrollPane.setBounds(0, 0, 490, 250); + run.setBounds(0,260,200,30); cancel.setBounds(210,260,200,30); - suggest.setBounds(0,300,490,110); + suggestScroll.setBounds(0,300,490,110); + suggestScroll.setViewportView(suggest); + suggestScroll.setVisible(true); + //suggest.setBounds(0,300,490,110); accept.setBounds(0,420,200,30); errorMessage.setBounds(210,420,300,30); System.out.println("blub2"); - learner.add(option); + learner.add(scrollPane); learner.add(run); learner.add(cancel); learner.add(suggest); learner.add(accept); learner.add(errorMessage); addListener(); - model.setDLLearnerModel(positive,negative,getUri()); + return learner; } public JComponent getEditorComponent() { + System.out.println("das ist ein test"); makeView(); return learner; } @@ -145,13 +176,11 @@ option.removeAll(); } suggest.removeAll(); + model.resetSuggestionList(); + learner.removeAll(); positive.removeAllElements(); negative.removeAllElements(); errorMessage.setText(""); - for(int i=0; i<descriptions.length;i++) - { - descriptions[i]=""; - } } /** * Methode die alle Buttons und CheckBoxes an dem ActionListener anmeldet @@ -161,6 +190,7 @@ run.addActionListener(this.action); accept.addActionListener(this.action); cancel.addActionListener(this.action); + for(int i=0;i<positive.size();i++) { positive.get(i).addItemListener(action); @@ -171,22 +201,7 @@ negative.get(i).addItemListener(action); } } - public void destroyListener() - { - run.removeActionListener(this.action); - accept.removeActionListener(this.action); - System.out.println("hihihihi"); - cancel.removeActionListener(this.action); - for(int i=0;i<positive.size();i++) - { - positive.get(i).removeItemListener(action); - } - - for(int i=0;i<negative.size();i++) - { - negative.get(i).removeItemListener(action); - } - } + public void setSuggestedClass() { //TODO: Description umwandeln und in ontologie einfuegen @@ -212,14 +227,7 @@ { return super.getEditedObjects(); } - private void resetPanel() - { - option.removeAll(); - System.out.println("blub1"); - positive.removeAllElements(); - negative.removeAllElements(); - learner.removeAll(); - } + public void release() { @@ -232,25 +240,50 @@ run.setEnabled(true); cancel.setEnabled(false); System.out.println("blub"); + System.out.println(((DLLearnerModel)model).getSolutions().length); descriptions = ((DLLearnerModel)model).getSolutions(); - resetPanel(); - makeView(); + suggest=new JList(descriptions); + //learner.remove(3); + suggest.setBounds(0,300,490,110); + learner.add(suggest); + unsetJCheckBoxen(); + suggest.addMouseListener(action); + + returnLearner(); + } } - public void disableRunButtons() + public JComponent returnLearner() { - run.setEnabled(false); - cancel.setEnabled(true); - resetPanel(); - makeView(); + return learner; } public void renderErrorMessage(String s) { errorMessage.setText(s); } - + private void unsetJCheckBoxen() + { + for(int j=0;j<positive.size();j++) + { + if(positive.get(j).isSelected()) + { + JCheckBox i = positive.get(j); + i.setSelected(false); + positive.set(j, i); + } + } + for(int j=0;j<negative.size();j++) + { + if(negative.get(j).isSelected()) + { + JCheckBox i = negative.get(j); + i.setSelected(false); + negative.set(j, i); + } + } + } public JButton getStartButton() { return run; @@ -260,4 +293,24 @@ { return cancel; } + + public Vector<JCheckBox> getPositiveVector() + { + return positive; + } + + public Vector<JCheckBox> getNegativeVector() + { + + return negative; + } + + public JList getSuggestionList() + { + return suggest; + } + + + + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-05-20 18:32:13
|
Revision: 909 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=909&view=rev Author: heeroyuy Date: 2008-05-20 11:32:00 -0700 (Tue, 20 May 2008) Log Message: ----------- -added own thread for learning -delete old classes -writes learned concept back to owl Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerViewPanel.java trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java trunk/src/dl-learner/org/dllearner/tools/protege/OWLEquivalentClassesAxiomFrameSection.java trunk/src/dl-learner/org/dllearner/tools/protege/OWLSubClassAxiomFrameSection.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-05-20 16:43:05 UTC (rev 908) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-05-20 18:32:00 UTC (rev 909) @@ -3,36 +3,40 @@ import java.awt.event.*; -import java.util.Observable; +//TODO: Concepte und errormessages aus model holen +public class ActionHandler implements ActionListener, ItemListener, MouseListener{ + private DLLearnerModel model; -public class ActionHandler extends Observable implements ActionListener, ItemListener, MouseListener { - private DLLearnerModel model; - private SuggestEquivalentClassView view; + private String id; private Thread dlLearner; - public ActionHandler(ActionHandler a,DLLearnerModel m, SuggestEquivalentClassView s) + private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; + public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i) { - view = s; - model = m; + this.view = view; + this.id=i; + this.model = m; + + } public void actionPerformed(ActionEvent z){ - if(z.getActionCommand().equals("RUN")) + if(z.getActionCommand().equals("Suggest "+id)) { - model.setDLLearnerModel(view.getPositiveVector(), view.getNegativeVector(),view.getUri()); - dlLearner = new Thread(model); - view.getStartButton().setEnabled(false); - view.getStopButton().setEnabled(true); + this.dlLearner = new Thread(model); + view.getRunButton().setEnabled(false); + view.getCancelButton().setEnabled(true); dlLearner.start(); } if(z.getActionCommand().equals("Cancel")) { + view.getRunButton().setEnabled(true); + view.getCancelButton().setEnabled(false); + String error = "Learning aborted"; + view.renderErrorMessage(error); model.getLearningAlgorithm().stop(); - view.getStartButton().setEnabled(true); - view.getStopButton().setEnabled(false); - String error = "Learning aborted"; dlLearner.interrupt(); - view.renderErrorMessage(error); + } if(z.getActionCommand().equals("ADD")) @@ -43,7 +47,6 @@ if(model.getSolutions()[i].toString().equals(suggest)) { model.changeDLLearnerDescriptionsToOWLDescriptions(model.getSolutions()[i]); - System.out.println(model.getSolutions()[i].toString()); } } @@ -52,10 +55,14 @@ } } + public String getID() + { + return id; + } public void itemStateChanged(ItemEvent i) { - + //System.out.println(i.getItem()); } public void mouseReleased(MouseEvent m) @@ -70,7 +77,7 @@ public void mouseClicked(MouseEvent m) { - System.out.println("mouseClicked: "); + } public void mouseExited(MouseEvent m) @@ -87,5 +94,10 @@ } + public void destroyDLLearnerThread() + { + dlLearner =null; + } + } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-05-20 16:43:05 UTC (rev 908) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-05-20 18:32:00 UTC (rev 909) @@ -3,99 +3,101 @@ import org.dllearner.core.ComponentManager; import org.dllearner.kb.OWLFile; -import java.util.HashSet; import java.util.Observable; import java.util.Set; import java.util.TreeSet; import java.util.Vector; -import java.io.*; import org.dllearner.core.owl.Description; import javax.swing.JCheckBox; -import org.dllearner.algorithms.refinement.*; -//import org.coode.manchesterowlsyntax.ManchesterOWLSyntaxEditorParser; import org.dllearner.core.*; -import org.dllearner.reasoning.*; +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.frame.OWLFrame; +import org.semanticweb.owl.apibinding.OWLManager; +import org.semanticweb.owl.model.*; import org.dllearner.learningproblems.*; -import org.semanticweb.owl.apibinding.OWLManager; -import org.semanticweb.owl.model.AddAxiom; -import org.semanticweb.owl.model.OWLAxiom; -import org.semanticweb.owl.model.OWLDataFactory; -import org.semanticweb.owl.model.OWLDescription; +import java.net.URI; +import org.dllearner.core.owl.*; +import org.dllearner.core.owl.NamedClass; import org.semanticweb.owl.model.OWLOntology; import org.dllearner.reasoning.OWLAPIReasoner; -import org.semanticweb.owl.model.OWLOntologyChangeException; import org.semanticweb.owl.model.OWLOntologyManager; -import org.semanticweb.owl.model.OWLOntologyStorageException; -import org.semanticweb.owl.model.UnknownOWLOntologyException; +import org.dllearner.reasoning.OWLAPIDescriptionConvertVisitor; +import java.io.File; +import org.semanticweb.owl.model.OWLDescription; +import java.util.HashSet; +import java.util.*; +import org.dllearner.algorithms.refinement.ROLearner; +import org.dllearner.core.KnowledgeSource; +import org.dllearner.core.LearningAlgorithm; +import org.dllearner.core.LearningProblem; +import org.dllearner.core.LearningProblemUnsupportedException; +import org.dllearner.core.ReasoningService; +import org.dllearner.learningproblems.PosNegDefinitionLP; + public class DLLearnerModel extends Observable implements Runnable{ private String[] componenten={"org.dllearner.kb.OWLFile","org.dllearner.reasoning.OWLAPIReasoner", "org.dllearner.reasoning.DIGReasoner","org.dllearner.reasoning.FastRetrievalReasoner","org.dllearner.learningproblems.PosNegInclusionLP" ,"org.dllearner.learningproblems.PosNegDefinitionLP","org.dllearner.algorithms.RandomGuesser","org.dllearner.algorithms.BruteForceLearner","org.dllearner.algorithms.refinement.ROLearner","org.dllearner.algorithms.refexamples.ExampleBasedROLComponent","org.dllearner.algorithms.gp.GP"}; - private String uri; private Vector<JCheckBox> positiv; private Vector<JCheckBox> negativ; private ComponentManager cm; - //private ReasonerComponent reasoner; private ReasoningService rs; - private static final int anzahl = 10; + private KnowledgeSource source; + private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; + private static final int anzahl = 6; private Description[] description = new Description[anzahl]; private LearningProblem lp; + private OWLOntology ontology; private LearningAlgorithm la = null; - OWLAPIReasoner reasoner; + private OWLEditorKit editor; + private OWLFrame<OWLClass> aktuell; + private OWLAPIReasoner reasoner; + private Set<OWLDescription> OWLDescription; + private Set<String> positiveExamples; + private Set<String> negativeExamples; + private Vector<Individual> indis; + private OWLDescription desc; + private String id; + private OWLDescription newConceptOWLAPI; + private OWLDescription oldConceptOWLAPI; + private Set<OWLDescription> ds; + private Vector<Individual> individual; - public DLLearnerModel() + public DLLearnerModel(OWLEditorKit editorKit, OWLFrame<OWLClass> h,String id,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view) { + editor=editorKit; + aktuell=h; + this.id=id; + this.view=view; + OWLDescription = new HashSet<OWLDescription>(); positiv = new Vector<JCheckBox>(); negativ = new Vector<JCheckBox>(); - + indis = new Vector<Individual>(); + individual = new Vector<Individual>(); + ComponentManager.setComponentClasses(componenten); + cm = ComponentManager.getInstance(); + ds = new HashSet<OWLDescription>(); + } - /** - * String um die Componenten des DL-Learners anzumelden - */ - public void setDLLearnerModel(Vector<JCheckBox> pos, Vector<JCheckBox> neg, String s) + public void initReasoner() { - positiv=pos; - negativ=neg; - uri=s; - } - - - public void startPosNegDefinitionReasoning() - { + setKnowledgeSource(); + setReasoner(); + SortedSet<Individual> pos=rs.getIndividuals(); + while(pos.iterator().hasNext()) + { + indis.add(pos.iterator().next()); + pos.remove(pos.iterator().next()); + } + //this.neg=rs.getIndividuals(); } - public void run() + public void setPositiveAndNegativeExamples() { - resetSuggestionList(); - ComponentManager.setComponentClasses(componenten); - // get singleton instance of component manager - cm = ComponentManager.getInstance(); - - // create knowledge source - KnowledgeSource source = cm.knowledgeSource(OWLFile.class); - cm.applyConfigEntry(source, "url", new File(uri).toURI().toString()); - try{ - source.init(); - } - catch(Exception e){ - } - // create DIG reasoning service with standard settings - reasoner = cm.reasoner(OWLAPIReasoner.class, source); - // ReasoningService rs = cm.reasoningService(DIGReasonerNew.class, source); - try{ - reasoner.init(); - } - catch(Exception e){ - - } - rs = cm.reasoningService(reasoner); - lp = cm.learningProblem(PosNegDefinitionLP.class, rs); - // create a learning problem and set positive and negative examples - - Set<String> positiveExamples = new TreeSet<String>(); + positiveExamples = new TreeSet<String>(); for(int i=0;i<positiv.size();i++) { if(positiv.get(i).isSelected()) @@ -103,7 +105,7 @@ positiveExamples.add(positiv.get(i).getText()); } } - Set<String> negativeExamples = new TreeSet<String>(); + negativeExamples = new TreeSet<String>(); for(int i=0;i<negativ.size();i++) { if(negativ.get(i).isSelected()) @@ -111,16 +113,59 @@ negativeExamples.add(negativ.get(i).getText()); } } + + } + + public Description[] getDescriptions() + { + return description; + } + + public void setKnowledgeSource() + { + this.source = cm.knowledgeSource(OWLFile.class); + String uri=getUri(); + cm.applyConfigEntry(source, "url", new File(uri).toURI().toString()); + try{ + source.init(); + } + catch(ComponentInitException e){ + e.printStackTrace(); + } + } + + public void setReasoner() + { + this.reasoner =cm.reasoner(OWLAPIReasoner.class,source); + reasoner.init(); + rs = cm.reasoningService(reasoner); + } + + public void setLearningProblem() + { + System.out.println("das ist die id: "+id); + if(id.equals("Equivalent classes")) + { + lp = cm.learningProblem(PosNegDefinitionLP.class, rs); + } + if(id.equals("Superclasses")) + { + lp = cm.learningProblem(PosNegInclusionLP.class, rs); + } + cm.applyConfigEntry(lp, "positiveExamples", positiveExamples); cm.applyConfigEntry(lp, "negativeExamples", negativeExamples); try{ lp.init(); } - catch(Exception e){ - + catch(ComponentInitException e) + { + e.printStackTrace(); } - - // create the learning algorithm + } + + public void setLearningAlgorithm() + { try { this.la = cm.learningAlgorithm(ROLearner.class, lp, rs); } catch (LearningProblemUnsupportedException e) { @@ -132,10 +177,18 @@ try{ la.init(); } - catch(Exception e){ - + catch(ComponentInitException e){ + e.printStackTrace(); } - + } + + public void run() + { + setKnowledgeSource(); + setReasoner(); + setPositiveAndNegativeExamples();; + setLearningProblem(); + setLearningAlgorithm(); // start the algorithm and print the best concept found la.start(); description = new Description[la.getBestSolutions(anzahl).size()]; @@ -143,15 +196,14 @@ { description[j]=la.getBestSolutions(anzahl).get(j); } - setChanged(); - notifyObservers(description); - + view.draw(description); } public Description[] getSolutions() { return description; } + public Vector<JCheckBox> getPosVector() { return positiv; @@ -162,36 +214,107 @@ return negativ; } - public void setPosVector(Vector<JCheckBox> a) + + public void loadOntology(URI uri) { - positiv =a; + OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); + try{ + ontology = manager.loadOntology(uri); + } + catch(OWLOntologyCreationException e) + { + System.out.println("Can't create Ontology: "+ e); + } } - public void setNegVector(Vector<JCheckBox> b) + public void setPosVector() + { setPositiveConcept(); + for(int i = 0 ; i<indis.size() ; i++) + { + String ind = indis.get(i).toString(); + if(setPositivExamplesChecked(ind)) + { + positiv.add(new JCheckBox(ind.toString(),true)); + + } + else + { + positiv.add(new JCheckBox(ind.toString(),false)); + } + negativ.add(new JCheckBox(ind.toString())); + } + } + + + public void setNegVector() { - negativ = b; + } - public void addToPosVector(JCheckBox a) + public void setPositiveConcept() { - positiv.add(a); + //Set<OWLClassAssertionAxiom> test=editor.getOWLModelManager().getActiveOntology().getClassAssertionAxioms(aktuell.getRootObject()); + //OWLClassAssertionAxiom axio = test.iterator().next(); + Set<NamedClass> concepts = rs.getAtomicConcepts(); + System.out.println(concepts); + SortedSet<Individual> individuals = null; + while(concepts.iterator().hasNext()&&individuals==null) + { + NamedClass concept = concepts.iterator().next(); + //System.out.println(concept); + //System.out.println("test:"+concept.toString().endsWith("#"+aktuell.getRootObject().toString())); + if(concept.toString().endsWith("#"+aktuell.getRootObject().toString())) + { + individuals = rs.retrieval(concept); + } + concepts.remove(concept); + } + while(individuals.iterator().hasNext()) + { + individual.add(individuals.iterator().next()); + individuals.remove(individuals.iterator().next()); + } + } - public void addToNegVector(JCheckBox b) + public boolean setPositivExamplesChecked(String indi) { - negativ.add(b); + boolean isChecked = false; + for(int i = 0; i<individual.size()&& isChecked==false;i++) + { + String indi1=individual.get(i).getName(); + if(indi1.toString().equals(indi.toString())) + { + System.out.println("Check"); + isChecked = true; + } + else + { + System.out.println("Da bin ich"); + isChecked = false; + } + } + return isChecked; + } - + public void clearVector() { positiv.removeAllElements(); negativ.removeAllElements(); + indis.removeAllElements(); } public String getUri() - { - return uri; - } + { + char[] test = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()).toString().toCharArray(); + String uri=""; + for(int i =6; i<test.length;i++) + { + uri=uri+test[i]; + } + return uri; + } public void setDescriptionList(Description[] list) { @@ -204,56 +327,150 @@ return la; } + public JCheckBox getPositivJCheckBox(int i) + { + return positiv.get(i); + } + public JCheckBox getNegativJCheckBox(int i) + { + return negativ.get(i); + } + public void resetSuggestionList() { - /*for(int i=0;i<description.length;i++) + for(int i=0;i<description.length;i++) { - description[i]=""; - }*/ + description[i]=null; + } } - public void changeDLLearnerDescriptionsToOWLDescriptions(Description desc) + public void unsetJCheckBoxen() { - OWLDescription newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); - System.out.println(newConceptOWLAPI); - //OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(concept); + for(int j=0;j<positiv.size();j++) + { + if(positiv.get(j).isSelected()) + { + JCheckBox i = positiv.get(j); + i.setSelected(false); + positiv.set(j, i); + } + } + for(int j=0;j<negativ.size();j++) + { + if(negativ.get(j).isSelected()) + { + JCheckBox i = negativ.get(j); + i.setSelected(false); + negativ.set(j, i); + } + } } + + public OWLOntology getOWLOntology() + { + return ontology; + } - public void addAxiomToOWL(Description desc,Description concept){ - OWLDescription newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); - OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(concept); + public Set<OWLDescription> getNewOWLDescription() + { + return OWLDescription; + } + + public OWLDescription getOldConceptOWLAPI() + { + return oldConceptOWLAPI; + } + + public Set<OWLDescription> getNewOWLDescriptions() + { + return null; + } + + public OWLDescription getSollution() + { + return desc; + } + + public void setNewConceptOWLAPI(Description desc) + { + for(int i = 0;i<description.length;i++) + { + + if(desc.toString().equals(description[i].toString())) + { + newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); + ds.add(newConceptOWLAPI); + } + this.desc = newConceptOWLAPI; + OWLDescription.add(newConceptOWLAPI); + } + } + + public void setOldConceptOWLAPI() + { + SortedSet<Individual> indi=rs.getIndividuals(); + while(positiveExamples.iterator().hasNext()) + { + String indi1=positiveExamples.iterator().next(); + + for(int i = 0; i<indi.size();i++) + { + Individual indi2 = indi.iterator().next(); + if(indi2.toString().equals(indi1.toString())) + { + Set<NamedClass> concept=reasoner.getConcepts(indi2); + while(concept.iterator().hasNext()) + { + OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(concept.iterator().next()); + concept.remove(concept.iterator().next()); + ds.add(oldConceptOWLAPI); + } + + } + indi.remove(indi2); + } + indi=rs.getIndividuals(); + positiveExamples.remove(indi1); + } + } + + public void changeDLLearnerDescriptionsToOWLDescriptions(Description desc) + { + setNewConceptOWLAPI(desc); + setOldConceptOWLAPI(); + //OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); - OWLOntology ontology = reasoner.getOWLAPIOntologies().get(0); - - OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); - - OWLDataFactory factory = manager.getOWLDataFactory(); - - Set<OWLDescription> ds = new HashSet<OWLDescription>(); - ds.add(newConceptOWLAPI); - ds.add(oldConceptOWLAPI); - - OWLAxiom axiomOWLAPI = factory.getOWLEquivalentClassesAxiom(ds); - - - - AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); - try { + //OWLDataFactory factory = manager.getOWLDataFactory(); + //System.out.println("Manager: "+manager); + //OWLAxiom axiomOWLAPI = factory.getOWLEquivalentClassesAxiom(ds); + //OWLOntologyFormat format = new OWLOntologyFormat(); + //format = manager.getOntologyFormat(ontology); + //OWLOntology ontology = editor.getOWLModelManager().getActiveOntology(); + //System.out.println("Format: "+format); + //AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); + /*try { manager.applyChange(axiom); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); - } + } + try { - manager.saveOntology(ontology); + manager.saveOntology(ontology,format,editor.getOWLModelManager().getActiveOntology().getURI()); } catch (UnknownOWLOntologyException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (OWLOntologyStorageException e) { // TODO Auto-generated catch block e.printStackTrace(); + } */ } + + public ReasoningService getReasoningService() + { + return rs; } - -} + + + } \ No newline at end of file Added: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerViewPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerViewPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerViewPanel.java 2008-05-20 18:32:00 UTC (rev 909) @@ -0,0 +1,42 @@ +package org.dllearner.tools.protege; + +import org.protege.editor.core.ui.view.ViewComponent; +import org.protege.editor.core.ui.view.ViewComponentPlugin; +import org.protege.editor.core.ui.view.ViewComponentPluginAdapter; +import org.protege.editor.core.ui.workspace.Workspace; +import org.protege.editor.owl.ui.clshierarchy.ToldOWLClassHierarchyViewComponent; +import org.protege.editor.owl.ui.selector.AbstractSelectorPanel; +import org.protege.editor.owl.OWLEditorKit; + +public class DLLearnerViewPanel extends AbstractSelectorPanel { + + + private ToldOWLClassHierarchyViewComponent viewComponent; + private final static long serialVersionUID = 3546352435L; + public DLLearnerViewPanel(OWLEditorKit editor) + { + super(editor); + } + + protected ViewComponentPlugin getViewComponentPlugin() { + + return new ViewComponentPluginAdapter() { + public String getLabel() { + return "OWL Asserted Class Hierarchy"; + } + + + public Workspace getWorkspace() { + return getOWLEditorKit().getOWLWorkspace(); + } + + + public ViewComponent newInstance() throws ClassNotFoundException, IllegalAccessException, + InstantiationException { + viewComponent = new ToldOWLClassHierarchyViewComponent(); + viewComponent.setup(this); + return viewComponent; + } + +}; + }} Added: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-05-20 18:32:00 UTC (rev 909) @@ -0,0 +1,643 @@ +package org.dllearner.tools.protege; + +import org.dllearner.core.owl.Description; +import org.protege.editor.core.ui.util.ComponentFactory; +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.clsdescriptioneditor.ExpressionEditor; +import org.protege.editor.owl.ui.clsdescriptioneditor.OWLDescriptionChecker; +import org.protege.editor.owl.ui.selector.OWLClassSelectorPanel; +import org.protege.editor.owl.ui.selector.OWLObjectPropertySelectorPanel; +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDataFactory; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLException; +import org.semanticweb.owl.model.OWLObjectProperty; +import org.protege.editor.owl.ui.frame.*; + +import javax.swing.*; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.net.URI; +import java.util.*; +import java.util.List; + + +/** + * Author: Matthew Horridge<br> + * The University Of Manchester<br> + * Bio-Health Informatics Group<br> + * Date: 15-Feb-2007<br><br> + */ +public class OWLClassDescriptionEditorWithDLLearnerTab extends AbstractOWLFrameSectionRowObjectEditor<OWLDescription> + implements VerifiedInputEditor { + + private static final String CLASS_EXPRESSION_EDITOR_LABEL = "Class expression editor"; + private static final String CLASS_TREE_LABEL = "Class tree"; + private static final String RESTRICTION_CREATOR_LABEL = "Restriction creator"; + private static final String SUGGEST_EQUIVALENT_CLASS_LABEL = "Suggest a equivalent class"; + private static final String SUGGEST_SUBCLASS_LABEL = "Suggest a subclass"; + + private OWLEditorKit editorKit; + + private OWLDescriptionChecker checker; + + private ExpressionEditor<OWLDescription> editor; + + private JComponent editingComponent; + + private JTabbedPane tabbedPane; + + private DLLearnerView dllearner; + + private OWLClassSelectorPanel classSelectorPanel; + + private ObjectRestrictionCreatorPanel restrictionCreatorPanel; + + private OWLDescription initialDescription; + + private Set<InputVerificationStatusChangedListener> listeners = new HashSet<InputVerificationStatusChangedListener>(); + + private DocumentListener editorListener = new DocumentListener(){ + public void insertUpdate(DocumentEvent documentEvent) { + handleVerifyEditorContents(); + } + public void removeUpdate(DocumentEvent documentEvent) { + handleVerifyEditorContents(); + } + public void changedUpdate(DocumentEvent documentEvent) { + handleVerifyEditorContents(); + } + }; + + private ChangeListener changeListener = new ChangeListener(){ + public void stateChanged(ChangeEvent changeEvent) { + handleVerifyEditorContents(); + } + }; + + public OWLDescription getInitialDescription() + { + return initialDescription; + } + public OWLClassDescriptionEditorWithDLLearnerTab(OWLEditorKit editorKit, OWLDescription description,OWLFrame<OWLClass> frame, String label) { + this.editorKit = editorKit; + this.initialDescription = description; + checker = new OWLDescriptionChecker(editorKit); + editor = new ExpressionEditor<OWLDescription>(editorKit, checker); + dllearner = new DLLearnerView(frame,label); + editor.setExpressionObject(description); + editor.getDocument().addDocumentListener(editorListener); + + tabbedPane = new JTabbedPane(); + tabbedPane.setFocusable(false); + if(label.equals("Equivalent classes")) + { + tabbedPane.add(SUGGEST_EQUIVALENT_CLASS_LABEL,dllearner); + } + if(label.equals("Superclasses")) + { + tabbedPane.add(SUGGEST_SUBCLASS_LABEL,dllearner); + } + editingComponent = new JPanel(new BorderLayout()); + editingComponent.add(tabbedPane); + editingComponent.setPreferredSize(new Dimension(600, 490)); + tabbedPane.add(CLASS_EXPRESSION_EDITOR_LABEL, new JScrollPane(editor)); + + + if (description == null || !description.isAnonymous()) { + classSelectorPanel = new OWLClassSelectorPanel(editorKit); + tabbedPane.add(CLASS_TREE_LABEL, classSelectorPanel); + if (description != null) { + classSelectorPanel.setSelectedClass(description.asOWLClass()); + } + classSelectorPanel.addSelectionListener(changeListener); + + restrictionCreatorPanel = new ObjectRestrictionCreatorPanel(); + tabbedPane.add(RESTRICTION_CREATOR_LABEL, restrictionCreatorPanel); + restrictionCreatorPanel.classSelectorPanel.addSelectionListener(changeListener); + restrictionCreatorPanel.objectPropertySelectorPanel.addSelectionListener(changeListener); + //dllearner.DLLearnerViewPanel.addChangeListener(changeListener); + tabbedPane.addChangeListener(changeListener); + + } + } + + private void handleVerifyEditorContents() { + if (!listeners.isEmpty()){ + for (InputVerificationStatusChangedListener l : listeners){ + l.verifiedStatusChanged(isValidated()); + } + } + } + + + private boolean isValidated() { + boolean validated = false; + final String selectedTabTitle = tabbedPane.getTitleAt(tabbedPane.getSelectedIndex()); + if (selectedTabTitle.equals(CLASS_EXPRESSION_EDITOR_LABEL)){ + validated = editor.isWellFormed(); + } + else if (selectedTabTitle.equals(CLASS_TREE_LABEL)){ + validated = classSelectorPanel.getSelectedClass() != null; + } + else if (selectedTabTitle.equals(RESTRICTION_CREATOR_LABEL)){ + validated = restrictionCreatorPanel.classSelectorPanel.getSelectedClass() != null && + restrictionCreatorPanel.objectPropertySelectorPanel.getSelectedOWLObjectProperty() != null; + } + else if(selectedTabTitle.equals(SUGGEST_EQUIVALENT_CLASS_LABEL)){ + validated = dllearner.getSollution()!= null; + } + else if(selectedTabTitle.equals(SUGGEST_SUBCLASS_LABEL)){ + validated = dllearner.getSollution()!= null; + } + return validated; + } + + + public JComponent getInlineEditorComponent() { + // Same as general editor component + return editingComponent; + } + + + /** + * Gets a component that will be used to edit the specified + * object. + * @return The component that will be used to edit the object + */ + public JComponent getEditorComponent() { + return editingComponent; + } + + + public void clear() { + System.out.println("Und jetzt bin ich hier :-)"); + dllearner.unsetEverything(); + dllearner.makeView(); + initialDescription = null; + editor.setText(""); + } + + + public Set<OWLDescription> getEditedObjects() { + if (tabbedPane.getSelectedComponent() == classSelectorPanel) { + return classSelectorPanel.getSelectedClasses(); + } + else if (tabbedPane.getSelectedComponent() == restrictionCreatorPanel) { + return restrictionCreatorPanel.createRestrictions(); + } + else if(tabbedPane.getSelectedComponent() == dllearner){ + return dllearner.getSollutions(); + } + return super.getEditedObjects(); + } + + + /** + * Gets the object that has been edited. + * @return The edited object + */ + public OWLDescription getEditedObject() { + try { + if (!editor.isWellFormed()) { + return null; + } + String expression = editor.getText(); + if (editor.isWellFormed()) { + return editorKit.getOWLModelManager().getOWLDescriptionParser().createOWLDescription(expression); + } + if(!dllearner.getSollutions().isEmpty()){ + return dllearner.getSollution(); + } + else { + return null; + } + } + catch (OWLException e) { + return null; + } + } + + + public void dispose() { + if (classSelectorPanel != null) { + classSelectorPanel.dispose(); + } + if (restrictionCreatorPanel != null) { + restrictionCreatorPanel.dispose(); + } + if(dllearner !=null){ + dllearner.dispose(); + } + } + + + private OWLDataFactory getDataFactory() { + return editorKit.getOWLModelManager().getOWLDataFactory(); + } + + public void addStatusChangedListener(InputVerificationStatusChangedListener listener) { + listeners.add(listener); + listener.verifiedStatusChanged(isValidated()); + } + + + public void removeStatusChangedListener(InputVerificationStatusChangedListener listener) { + listeners.remove(listener); + } + + public class DLLearnerView extends JPanel{ + private JLabel pos; + private final static long serialVersionUID = 624829578325729385L; + private DLLearnerViewPanel panel; + private JComponent learner; + private JButton accept; + private JButton run; + private OWLEditorKit editor; + private JPanel option; + private JList suggest; + private JLabel neg; + private JScrollPane scrollPane; + private final Color Color_RED = Color.red; + private JButton cancel; + //private JPanel suggestPanel; + //private JButton helpForPosExamples; + //private JButton helpForNegExamples; + private JLabel errorMessage; + //private JScrollPane suggestScroll; + private JButton advanceButton; + private ActionHandler action; + private DLLearnerModel model; + private Description[] descriptions = new Description[10]; + + public DLLearnerViewPanel getDLLearnerViewPanel() + { + return panel; + } + + public DLLearnerView(OWLFrame<OWLClass> aktuell,String label){ + editor = editorKit; + model = new DLLearnerModel(editorKit,aktuell, label,this); + model.loadOntology(getUri()); + //helpPanel.setLayout(new GridLayout(0,4)); + panel = new DLLearnerViewPanel(editor); + action = new ActionHandler(this.action, model,this,label); + System.out.println("Hallo test"); + //helpForPosExamples = new JButton("?"); + //helpForNegExamples = new JButton("?"); + run = new JButton("Suggest "+label); + cancel = new JButton("Cancel"); + accept = new JButton("ADD"); + advanceButton = new JButton("Advanced"); + scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + //suggestScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + errorMessage = new JLabel(); + errorMessage.setForeground(Color_RED); + learner = new JPanel(); + learner.setLayout(null); + suggest = new JList(); + learner.setPreferredSize(new Dimension(600, 470)); + pos = new JLabel("Positive Examples"); + neg = new JLabel("Negative Examples"); + accept.setPreferredSize(new Dimension(290,50)); + option = new JPanel(new GridLayout(0,2)); + addAcceptButtonListener(this.action); + addRunButtonListener(this.action); + addCancelButtonListener(this.action); + + } + + public void makeView() + { + model.clearVector(); + model.initReasoner(); + model.setPosVector(); + model.setNegVector(); + suggest = new JList(); + cancel.setEnabled(false); + accept.setEnabled(false); + setJCheckBoxen(); + if(option.getComponentCount()<=2) + { + run.setEnabled(false); + } + scrollPane.setViewportView(option); + scrollPane.setBounds(10, 200, 490, 250); + suggest.setBounds(10,40,490,110); + suggest.setVisible(true); + run.setBounds(10,0,200,30); + cancel.setBounds(260,0,200,30); + advanceButton.setBounds(260,160,200,30); + accept.setBounds(10,160,200,30); + errorMessage.setBounds(260,160,300,30); + learner.add(run); + learner.add(cancel); + learner.add(suggest); + learner.add(accept); + learner.add(advanceButton); + learner.add(scrollPane); + add(learner); + addListener(); + } + + public JComponent getLearnerPanel() + { + return learner; + } + + public URI getUri() + { + URI uri = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()); + return uri; + } + + public Set<OWLDescription> getSollutions() + { + return model.getNewOWLDescription(); + } + + public OWLDescription getSollution() + { + System.out.println("das ist die loesung: "+model.getSollution()); + return model.getSollution(); + } + + private void setJCheckBoxen() + { + option.add(pos); + option.add(neg); + for(int j=0; j<model.getPosVector().size();j++) + { + option.add(model.getPositivJCheckBox(j)); + option.add(model.getNegativJCheckBox(j)); + } + + } + + public void unsetEverything() + { + option.removeAll(); + run.setEnabled(true); + action.destroyDLLearnerThread(); + suggest.removeAll(); + errorMessage.setText(""); + learner.removeAll(); + } + + public void destroyListener() + { + //run.removeActionListener(this.action); + //accept.removeActionListener(this.action); + //cancel.removeActionListener(this.action); + } + + public void renderErrorMessage(String s) + { + errorMessage.setText(s); + } + + private void addListener() + { + for(int i=0;i<model.getPosVector().size();i++) + { + model.getPositivJCheckBox(i).addItemListener(action); + } + + for(int i=0;i<model.getNegVector().size();i++) + { + model.getNegativJCheckBox(i).addItemListener(action); + } + } + + public void update(Observable m,Object c) + { + if( model != m) return; + //draw(); + } + + protected void draw(Description[] desc) { + if (model != null) { + run.setEnabled(true); + cancel.setEnabled(false); + accept.setEnabled(true); + errorMessage.setText(""); + learner.remove(suggest); + //learner.remove(3); + descriptions = desc; + suggest=new JList(descriptions); + suggest.setBounds(10,40,490,110); + suggest.setVisible(true); + learner.add(suggest); + suggest.addMouseListener(action); + suggest.repaint(); + model.unsetJCheckBoxen(); + option.removeAll(); + setJCheckBoxen(); + + } + } + + public JList getSuggestionList() + { + return suggest; + } + + public JButton getRunButton() + { + return run; + } + + public JButton getCancelButton() + { + return cancel; + } + + public void dispose() { + + } + + public void addRunButtonListener(ActionListener a) + { + run.addActionListener(a); + } + + public void addCancelButtonListener(ActionListener a) + { + cancel.addActionListener(a); + } + + public void addAcceptButtonListener(ActionListener a) + { + accept.addActionListener(a); + } + + public void addAdvanceButtonListener(ActionListener a) + { + //advanceButton.addActionListener(a); + } + } + + private class ObjectRestrictionCreatorPanel extends JPanel { + + private OWLObjectPropertySelectorPanel objectPropertySelectorPanel; + private final static long serialVersionUID = 12435463243L; + private OWLClassSelectorPanel classSelectorPanel; + + private JSpinner cardinalitySpinner; + + private JComboBox typeCombo; + + + public ObjectRestrictionCreatorPanel() { + objectPropertySelectorPanel = new OWLObjectPropertySelectorPanel(editorKit); + objectPropertySelectorPanel.setBorder(ComponentFactory.createTitledBorder("Restricted properties")); + cardinalitySpinner = new JSpinner(new SpinnerNumberModel(1, 0, Integer.MAX_VALUE, 1)); + JComponent cardinalitySpinnerEditor = cardinalitySpinner.getEditor(); + Dimension prefSize = cardinalitySpinnerEditor.getPreferredSize(); + cardinalitySpinnerEditor.setPreferredSize(new Dimension(50, prefSize.height)); + classSelectorPanel = new OWLClassSelectorPanel(editorKit); + classSelectorPanel.setBorder(ComponentFactory.createTitledBorder("Restriction fillers")); + setLayout(new BorderLayout()); + JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false); + splitPane.setResizeWeight(0.5); + splitPane.setLeftComponent(objectPropertySelectorPanel); + splitPane.setRightComponent(classSelectorPanel); + add(splitPane); + splitPane.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); + List<RestrictionCreator> types = new ArrayList<RestrictionCreator>(); + types.add(new RestrictionCreator("Some (existential)") { + public void createRestrictions(Set<OWLObjectProperty> properties, Set<OWLDescription> fillers, + Set<OWLDescription> result) { + for (OWLObjectProperty prop : properties) { + for (OWLDescription filler : fillers) { + result.add(getDataFactory().getOWLObjectSomeRestriction(prop, filler)); + } + } + } + }); + types.add(new RestrictionCreator("Only (universal)") { + public void createRestrictions(Set<OWLObjectProperty> properties, Set<OWLDescription> fillers, + Set<OWLDescription> result) { + for (OWLObjectProperty prop : properties) { + if (fillers.isEmpty()) { + return; + } + OWLDescription filler; + if (fillers.size() > 1) { + filler = getDataFactory().getOWLObjectUnionOf(fillers); + } + else { + filler = fillers.iterator().next(); + } + result.add(getDataFactory().getOWLObjectAllRestriction(prop, filler)); + } + } + }); + types.add(new CardinalityRestrictionCreator("Min (min cardinality)", cardinalitySpinner) { + public OWLDescription createRestriction(OWLObjectProperty prop, OWLDescription filler, int card) { + return getDataFactory().getOWLObjectMinCardinalityRestriction(prop, card, filler); + } + }); + types.add(new CardinalityRestrictionCreator("Exactly (exact cardinality)", cardinalitySpinner) { + public OWLDescription createRestriction(OWLObjectProperty prop, OWLDescription filler, int card) { + return getDataFactory().getOWLObjectExactCardinalityRestriction(prop, card, filler); + } + }); + types.add(new CardinalityRestrictionCreator("Max (max cardinality)", cardinalitySpinner) { + public OWLDescription createRestriction(OWLObjectProperty prop, OWLDescription filler, int card) { + return getDataFactory().getOWLObjectMaxCardinalityRestriction(prop, card, filler); + } + }); + typeCombo = new JComboBox(types.toArray()); + + + final JPanel typePanel = new JPanel(); + typePanel.setBorder(ComponentFactory.createTitledBorder("Restriction type")); + add(typePanel, BorderLayout.SOUTH); + typePanel.add(typeCombo); + typeCombo.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + cardinalitySpinner.setEnabled(typeCombo.getSelectedItem() instanceof CardinalityRestrictionCreator); + } + }); + JPanel spinnerHolder = new JPanel(new BorderLayout(4, 4)); + spinnerHolder.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0)); + spinnerHolder.add(new JLabel("Cardinality"), BorderLayout.WEST); + spinnerHolder.add(cardinalitySpinner, BorderLayout.EAST); + JPanel spinnerAlignmentPanel = new JPanel(new BorderLayout()); + spinnerAlignmentPanel.add(spinnerHolder, BorderLayout.WEST); + typePanel.add(spinnerAlignmentPanel); + cardinalitySpinner.setEnabled(typeCombo.getSelectedItem() instanceof CardinalityRestrictionCreator); + } + + + public Set<OWLDescription> createRestrictions() { + Set<OWLDescription> result = new HashSet<OWLDescription>(); + RestrictionCreator creator = (RestrictionCreator) typeCombo.getSelectedItem(); + if (creator == null) { + return Collections.emptySet(); + } + creator.createRestrictions(objectPropertySelectorPanel.getSelectedOWLObjectProperties(), + classSelectorPanel.getSelectedClasses(), + result); + return result; + } + + + public void dispose() { + objectPropertySelectorPanel.dispose(); + classSelectorPanel.dispose(); + } + } + + + private abstract class RestrictionCreator { + + private String name; + + + protected RestrictionCreator(String name) { + this.name = name; + } + + + public String toString() { + return name; + } + + + abstract void createRestrictions(Set<OWLObjectProperty> properties, Set<OWLDescription> fillers, + Set<OWLDescription> result); + } + + + private abstract class CardinalityRestrictionCreator extends RestrictionCreator { + + private JSpinner cardinalitySpinner; + + + protected CardinalityRestrictionCreator(String name, JSpinner cardinalitySpinner) { + super(name); + this.cardinalitySpinner = cardinalitySpinner; + } + + + public void createRestrictions(Set<OWLObjectProperty> properties, Set<OWLDescription> fillers, + Set<OWLDescription> result) { + for (OWLObjectProperty prop : properties) { + for (OWLDescription desc : fillers) { + result.add(createRestriction(prop, desc, (Integer) cardinalitySpinner.getValue())); + } + } + } + + + public abstract OWLDescription createRestriction(OWLObjectProperty prop, OWLDescription filler, int card); + } + +} Added: trunk/src/dl-learner/org/dllearner/tools/protege/OWLEquivalentClassesAxiomFrameSection.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLEquivalentClassesAxiomFrameSection.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLEquivalentClassesAxiomFrameSection.java 2008-05-20 18:32:00 UTC (rev 909) @@ -0,0 +1,162 @@ +package org.dllearner.tools.protege; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.frame.*; +import org.semanticweb.owl.inference.OWLReasonerException; +import org.semanticweb.owl.inference.UnsupportedReasonerOperationException; +import org.semanticweb.owl.model.AddAxiom; +import org.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLEquivalentClassesAxiom; +import org.semanticweb.owl.model.OWLObject; +import org.semanticweb.owl.model.OWLOntology; +import org.semanticweb.owl.model.OWLOntologyChange; +import org.semanticweb.owl.util.CollectionFactory; + + +/** + * Author: Matthew Horridge<br> + * The University Of Manchester<br> + * Bio-Health Informatics Group<br> + * Date: 19-Jan-2007<br><br> + */ +public class OWLEquivalentClassesAxiomFrameSection extends AbstractOWLFrameSection<OWLClass, OWLEquivalentClassesAxiom, OWLDescription> { + + private static final String LABEL = "Equivalent classes"; + + private Set<OWLClass> added; + + private boolean inferredEquivalentClasses = true; + + private OWLFrame<OWLClass> frame; + + public OWLEquivalentClassesAxiomFrameSection(OWLEditorKit editorKit, OWLFrame<OWLClass> frame) { + super(editorKit, LABEL, frame); + added = new HashSet<OWLClass>(); + this.frame=frame; + } + + + protected void clear() { + } + + + /** + * Refills the section with rows. This method will be called + * by the system and should be directly called. + */ + protected void refill(OWLOntology ontology) { + for (OWLEquivalentClassesAxiom ax : ontology.getEquivalentClassesAxioms(getRootObject())) { + addRow(new OWLEquivalentClassesAxiomFrameSectionRow(getOWLEditorKit(), + this, + ontology, + getRootObject(), + ax)); + for (OWLDescription desc : ax.getDescriptions()) { + if (!desc.isAnonymous()) { + added.add(desc.asOWLClass()); + } + } + } + } + + + protected void refillInferred() { + if (!inferredEquivalentClasses) { + return; + } + try { + if (!getOWLModelManager().getReasoner().isSatisfiable(getRootObject())) { + addRow(new OWLEquivalentClassesAxiomFrameSectionRow(getOWLEditorKit(), + this, + null, + getRootObject(), + getOWLDataFactory().getOWLEquivalentClassesAxiom( + CollectionFactory.createSet(getRootObject(), + getOWLModelManager().getOWLDataFactory().getOWLNothing())))); + return; + } + for (OWLClass cls : getOWLModelManager().getReasoner().getEquivalentClasses(getRootObject())) { + if (!added.contains(cls) && !cls.equals(getRootObject())) { + addRow(new OWLEquivalentClassesAxiomFrameSectionRow(getOWLEditorKit(), + this, + null, + getRootObject(), + getOWLDataFactory().getOWLEquivalentClassesAxiom( + CollectionFactory.createSet( + getRootObject(), + cls)))); + } + } + } + catch (UnsupportedReasonerOperationException e) { + inferredEquivalentClasses = false; + } + catch (OWLReasonerException e) { + e.printStackTrace(); + } + } + + + public void visit(OWLEquivalentClassesAxiom axiom) { + if (axiom.getDescriptions().contains(getRootObject())) { + reset(); + } + } + + + protected OWLEquivalentClassesAxiom createAxiom(OWLDescription object) { + return getOWLDataFactory().getOWLEquivalentClassesAxiom(CollectionFactory.createSet(getRootObject(), object)); + } + + + public OWLFrameSectionRowObjectEditor<OWLDescription> getObjectEditor() { + return new OWLClassDescriptionEditorWithDLLearnerTab(getOWLEditorKit(), null,frame,LABEL); + } + + + public boolean canAcceptDrop(List<OWLObject> objects) { + for (OWLObject obj : objects) { + if (!(obj instanceof OWLDescription)) { + return false; + } + } + return true; + } + + + public boolean dropObjects(List<OWLObject> objects) { + List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); + for (OWLObject obj : objects) { + if (obj instanceof OWLDescription) { + OWLDescription desc = (OWLDescription) obj; + OWLAxiom ax = getOWLDataFactory().getOWLEquivalentClassesAxiom(CollectionFactory.createSet(getRootObject(), + desc)); + changes.add(new AddAxiom(getOWLModelManager().getActiveOntology(), ax)); + } + else { + return false; + } + } + getOWLModelManager().applyChanges(changes); + return true; + } + + + /** + * Obtains a comparator which can be used to sort the rows + * in this section. + * @return A comparator if to sort the rows in this section, + * or <code>null</code> if the rows shouldn't be sorted. + */ + public Comparator<OWLFrameSectionRow<OWLClass, OWLEquivalentClassesAxiom, OWLDescription>> getRowComparator() { + return null; + } +} Added: trunk/src/dl-learner/org/dllearner/tools/protege/OWLSubClassAxiomFrameSection.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLSubClassAxiomFrameSection.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLSubClassAxiomFrameSection.java 2008-05-20 18:32:00 UTC (rev 909) @@ -0,0 +1,176 @@ +package org.dllearner.tools.protege; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.frame.*; +import org.protege.editor.owl.ui.OWLDescriptionComparator; +import org.semanticweb.owl.inference.OWLReasonerException; +import org.semanticweb.owl.model.AddAxiom; +import org.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLObject; +import org.semanticweb.owl.model.OWLObjectProperty; +import org.semanticweb.owl.model.OWLOntology; +import org.semanticweb.owl.model.OWLOntologyChange; +import org.semanticweb.owl.model.OWLSubClassAxiom; + + +/** + * Author: Matthew Horridge<br> + * The University Of Manchester<br> + * Bio-Health Informatics Group<br> + * Date: 19-Jan-2007<br><br> + */ +public class OWLSubClassAxiomFrameSection extends AbstractOWLFrameSection<OWLClass, OWLSubClassAxiom, OWLDescription> { + + private static final String LABEL = "Superclasses"; + + private Set<OWLDescription> added = new HashSet<OWLDescription>(); + + private OWLFrame<OWLClass> frame; + public OWLSubClassAxiomFrameSection(OWLEditorKit editorKit, OWLFrame<OWLClass> frame) { + super(editorKit, LABEL, frame); + this.frame = frame; + } + + + protected void clear() { + added.clear(); + } + + + /** + * Refills the section with rows. This method will be called + * by the system and should be directly called. + */ + protected void refill(OWLOntology ontology) { + for (OWLSubClassAxiom ax : ontology.getSubClassAxiomsForLHS(getRootObject())) { + addRow(new OWLSubClassAxiomFrameSectionRow(getOWLEditorKit(), this, ontology, getRootObject(), ax)); + added.add(ax.getSuperClass()); + } + } + + + protected void refillInferred() { + try { + if (getOWLModelManager().getReasoner().isSatisfiable(getRootObject())) { + for (Set<OWLClass> descs : getOWLModelManager().getReasoner().getSuperClasses(getRootObject())) { + for (OWLClass desc : descs) { + if (!added.contains(desc)) { + addRow(new OWLSubClassAxiomFrameSectionRow(getOWLEditorKit(), + this, + null, + getRootObject(), + getOWLModelManager().getOWLDataFactory().getOWLSubClassAxiom( + getRootObject(), + desc))); + added.add(desc); + } + } + } + } + } + catch (OWLReasonerException e) { + throw new RuntimeException(e); + } + } + + + protected OWLSubClassAxiom createAxiom(OWLDescription object) { + return getOWLDataFactory().getOWLSubClassAxiom(getRootObject(), object); + } + + + public OWLFrameSectionRowObjectEditor<OWLDescription> getObjectEditor() { + return new OWLClassDescriptionEditorWithDLLearnerTab(getOWLEditorKit(), null, frame,LABEL); + } + + + public boolean canAcceptDrop(List<OWLObject> objects) { + for (OWLObject obj : objects) { + if (!(obj instanceof OWLDescription)) { + return false; + } + } + return true; + } + + + private OWLObjectProperty prop; + + + public boolean dropObjects(List<OWLObject> objects) { + List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); + for (OWLObject obj : objects) { + if (obj instanceof OWLDescription) { + OWLDescription desc; + if (prop != null) { + desc = getOWLDataFactory().getOWLObjectSomeRestriction(prop, (OWLDescription) obj); + } + else { + desc = (OWLDescription) obj; + } + OWLAxiom ax = getOWLDataFactory().getOWLSubClassAxiom(getRootObject(), desc); + changes.add(new AddAxiom(getOWLModelManager().getActiveOntology(), ax)); + } + else if (obj instanceof OWLObjectProperty) { + // Prime + prop = (OWLObjectProperty) obj; + } + else { + return false; + } + } + getOWLModelManager().applyChanges(changes); + return true; + } + + + public void visit(OWLSubClassAxiom axiom) { + if (axiom.getSubClass().equals(getRootObject())) { + reset(); + } + } + + + /** + * Obtains a comparator which can be used to sort the rows + * in this section. + * @return A comparator if to sort the rows in this section, + * or <code>null</code> if the rows shouldn't be sorted. + */ + public Comparator<OWLFrameSectionRow<OWLClass, OWLSubClassAxiom, OWLDescription>> getRowComparator() { + return new Comparator<OWLFrameSectionRow<OWLClass, OWLSubClassAxiom, OWLDescription>>() { + + private OWLDescriptionComparator comparator = new OWLDescriptionComparator(getOWLModelManager()); + + + public int compare(OWLFrameSectionRow<OWLClass, OWLSubClassAxiom, OWLDescription> o1, + OWLFrameSectionRow<OWLClass, OWLSubClassAxiom, OWLDescription> o2) { + int val = comparator.compare(o1.getAxiom().getSuperClass(), o2.getAxiom().getSuperClass()); + if (o1.isInferred()) { + if (o2.isInferred()) { + return val; + } + else { + return 1; + } + } + else { + if (o2.isInferred()) { + return -1; + } + else { + return val; + } + } + } + }; + } +} Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java 2008-05-20 16:43:05 UTC (rev 908) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java 2008-05-20 18:32:00 UTC (rev 909) @@ -1,67 +0,0 @@ -package org.dllearner.tools.protege; - -import java.util.Comparator; - -import org.protege.editor.owl.OWLEditorKit; -import org.protege.editor.owl.ui.frame.AbstractOWLFrameSection; -import org.protege.editor.owl.ui.frame.OWLFrame; -import org.protege.editor.owl.ui.frame.OWLFrameSectionRow; -import org.protege.editor.owl.ui.frame.OWLFrameSection... [truncated message content] |
From: <hee...@us...> - 2008-05-21 13:53:53
|
Revision: 911 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=911&view=rev Author: heeroyuy Date: 2008-05-21 06:53:46 -0700 (Wed, 21 May 2008) Log Message: ----------- -added help buttons for positive and negative examples -small design change 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/OWLClassDescriptionEditorWithDLLearnerTab.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-05-21 05:05:20 UTC (rev 910) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-05-21 13:53:46 UTC (rev 911) @@ -26,6 +26,8 @@ view.getRunButton().setEnabled(false); view.getCancelButton().setEnabled(true); dlLearner.start(); + String error = "Learning succesful"; + view.renderErrorMessage(error); } if(z.getActionCommand().equals("Cancel")) @@ -53,6 +55,21 @@ String message ="Concept added"; view.renderErrorMessage(message); } + + if(z.getActionCommand().equals("?")) + { + if(z.getSource().toString().contains("PosHelpButton")) + { + String hilfe="A Instance that follows from the classdescription. Per Default all that belongs to the class."; + view.renderHelpMessage(hilfe); + } + + if(z.getSource().toString().contains("NegHelpButton")) + { + String hilfe="A Instance tht doesn't follow from the classdescription."; + view.renderHelpMessage(hilfe); + } + } } public String getID() Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-05-21 05:05:20 UTC (rev 910) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-05-21 13:53:46 UTC (rev 911) @@ -143,7 +143,6 @@ public void setLearningProblem() { - System.out.println("das ist die id: "+id); if(id.equals("Equivalent classes")) { lp = cm.learningProblem(PosNegDefinitionLP.class, rs); @@ -253,16 +252,11 @@ public void setPositiveConcept() { - //Set<OWLClassAssertionAxiom> test=editor.getOWLModelManager().getActiveOntology().getClassAssertionAxioms(aktuell.getRootObject()); - //OWLClassAssertionAxiom axio = test.iterator().next(); Set<NamedClass> concepts = rs.getAtomicConcepts(); - System.out.println(concepts); SortedSet<Individual> individuals = null; while(concepts.iterator().hasNext()&&individuals==null) { NamedClass concept = concepts.iterator().next(); - //System.out.println(concept); - //System.out.println("test:"+concept.toString().endsWith("#"+aktuell.getRootObject().toString())); if(concept.toString().endsWith("#"+aktuell.getRootObject().toString())) { individuals = rs.retrieval(concept); @@ -285,12 +279,10 @@ String indi1=individual.get(i).getName(); if(indi1.toString().equals(indi.toString())) { - System.out.println("Check"); isChecked = true; } else { - System.out.println("Da bin ich"); isChecked = false; } } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-05-21 05:05:20 UTC (rev 910) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-05-21 13:53:46 UTC (rev 911) @@ -262,15 +262,21 @@ private JPanel option; private JList suggest; private JLabel neg; + private JDialog hilfe; + private JLabel help; + private JLabel adv; private JScrollPane scrollPane; private final Color Color_RED = Color.red; + private final Color COLOR_BLACK = Color.black; private JButton cancel; - //private JPanel suggestPanel; - //private JButton helpForPosExamples; - //private JButton helpForNegExamples; + private JPanel posLabelPanel; + private JPanel negLabelPanel; + private JButton helpForPosExamples; + private JButton helpForNegExamples; private JLabel errorMessage; + private ImageIcon toggleGif; + private JToggleButton advanced; //private JScrollPane suggestScroll; - private JButton advanceButton; private ActionHandler action; private DLLearnerModel model; private Description[] descriptions = new Description[10]; @@ -284,36 +290,49 @@ editor = editorKit; model = new DLLearnerModel(editorKit,aktuell, label,this); model.loadOntology(getUri()); - //helpPanel.setLayout(new GridLayout(0,4)); + toggleGif = new ImageIcon("pfeil1.gif"); + posLabelPanel = new JPanel(); + negLabelPanel = new JPanel(); panel = new DLLearnerViewPanel(editor); action = new ActionHandler(this.action, model,this,label); - System.out.println("Hallo test"); - //helpForPosExamples = new JButton("?"); - //helpForNegExamples = new JButton("?"); + helpForPosExamples = new JButton("?"); + helpForPosExamples.setSize(10, 10); + adv = new JLabel("Advanced"); + helpForNegExamples = new JButton("?"); + helpForNegExamples.setSize(10, 10); + advanced = new JToggleButton(toggleGif); run = new JButton("Suggest "+label); cancel = new JButton("Cancel"); accept = new JButton("ADD"); - advanceButton = new JButton("Advanced"); scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - //suggestScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); errorMessage = new JLabel(); - errorMessage.setForeground(Color_RED); learner = new JPanel(); + advanced.setSize(20,20); learner.setLayout(null); suggest = new JList(); - learner.setPreferredSize(new Dimension(600, 470)); + learner.setPreferredSize(new Dimension(600, 480)); pos = new JLabel("Positive Examples"); neg = new JLabel("Negative Examples"); accept.setPreferredSize(new Dimension(290,50)); option = new JPanel(new GridLayout(0,2)); + posLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); + negLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); + posLabelPanel.add(pos); + helpForPosExamples.setName("PosHelpButton"); + posLabelPanel.add(helpForPosExamples); + negLabelPanel.add(neg); + helpForNegExamples.setName("NegHelpButton"); + negLabelPanel.add(helpForNegExamples); addAcceptButtonListener(this.action); addRunButtonListener(this.action); addCancelButtonListener(this.action); + addHelpButtonListener(this.action); } public void makeView() { + model.clearVector(); model.initReasoner(); model.setPosVector(); @@ -330,17 +349,20 @@ scrollPane.setBounds(10, 200, 490, 250); suggest.setBounds(10,40,490,110); suggest.setVisible(true); + adv.setBounds(40,200,200,20); run.setBounds(10,0,200,30); + advanced.setBounds(10,200,20,20); cancel.setBounds(260,0,200,30); - advanceButton.setBounds(260,160,200,30); - accept.setBounds(10,160,200,30); - errorMessage.setBounds(260,160,300,30); + accept.setBounds(510,40,80,110); + errorMessage.setBounds(10,160,590,20); learner.add(run); + learner.add(adv); + learner.add(advanced); learner.add(cancel); learner.add(suggest); learner.add(accept); - learner.add(advanceButton); - learner.add(scrollPane); + learner.add(errorMessage); + //learner.add(scrollPane); add(learner); addListener(); } @@ -350,6 +372,21 @@ return learner; } + public void renderHelpMessage(String helfen) + { + help = new JLabel(); + + hilfe = new JDialog(); + hilfe.setName("Hilfe"); + hilfe.setSize(500,50); + hilfe.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + hilfe.setVisible(true); + hilfe.setResizable(false); + help.setForeground(COLOR_BLACK); + help.setText("Help: "+helfen); + hilfe.add(help); + } + public URI getUri() { URI uri = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()); @@ -363,15 +400,14 @@ public OWLDescription getSollution() { - System.out.println("das ist die loesung: "+model.getSollution()); return model.getSollution(); } private void setJCheckBoxen() { - option.add(pos); - option.add(neg); - for(int j=0; j<model.getPosVector().size();j++) + option.add(posLabelPanel); + option.add(negLabelPanel); + for(int j=0; j<model.getPosVector().size();j++) { option.add(model.getPositivJCheckBox(j)); option.add(model.getNegativJCheckBox(j)); @@ -389,15 +425,9 @@ learner.removeAll(); } - public void destroyListener() - { - //run.removeActionListener(this.action); - //accept.removeActionListener(this.action); - //cancel.removeActionListener(this.action); - } - public void renderErrorMessage(String s) { + errorMessage.setForeground(Color_RED); errorMessage.setText(s); } @@ -425,9 +455,7 @@ run.setEnabled(true); cancel.setEnabled(false); accept.setEnabled(true); - errorMessage.setText(""); learner.remove(suggest); - //learner.remove(3); descriptions = desc; suggest=new JList(descriptions); suggest.setBounds(10,40,490,110); @@ -476,10 +504,12 @@ accept.addActionListener(a); } - public void addAdvanceButtonListener(ActionListener a) + public void addHelpButtonListener(ActionListener a) { - //advanceButton.addActionListener(a); + helpForPosExamples.addActionListener(a); + helpForNegExamples.addActionListener(a); } + } private class ObjectRestrictionCreatorPanel extends JPanel { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-05-21 16:11:34
|
Revision: 913 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=913&view=rev Author: heeroyuy Date: 2008-05-21 09:11:24 -0700 (Wed, 21 May 2008) Log Message: ----------- -added switch to enable/disable ExamplePanel Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.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-05-21 14:59:31 UTC (rev 912) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-05-21 16:11:24 UTC (rev 913) @@ -8,6 +8,7 @@ private DLLearnerModel model; private String id; + private boolean toggled; private Thread dlLearner; private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i) @@ -15,6 +16,7 @@ this.view = view; this.id=i; this.model = m; + toggled = false; } @@ -22,12 +24,19 @@ if(z.getActionCommand().equals("Suggest "+id)) { + if(view.getOptionPanel().getComponentCount()<=2) + { + view.renderErrorMessage("No Examples available"); + } + else{ + view.renderErrorMessage("Learning started"); this.dlLearner = new Thread(model); view.getRunButton().setEnabled(false); view.getCancelButton().setEnabled(true); dlLearner.start(); - String error = "Learning succesful"; - view.renderErrorMessage(error); + //String error = "Learning succesful"; + //view.renderErrorMessage(error); + } } if(z.getActionCommand().equals("Cancel")) @@ -69,7 +78,23 @@ String hilfe="A Instance tht doesn't follow from the classdescription."; view.renderHelpMessage(hilfe); } + + } + if(z.getActionCommand().equals("")) + { + if(!toggled==true) + { + toggled=true; + view.setExamplePanelVisible(toggled); + System.out.println(z.getSource()); + } + else + { + toggled=false; + view.setExamplePanelVisible(toggled); + } + } } public String getID() @@ -115,6 +140,10 @@ { dlLearner =null; } + + public void resetToggled() + { + toggled = false; + } - } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-05-21 14:59:31 UTC (rev 912) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-05-21 16:11:24 UTC (rev 913) @@ -105,7 +105,7 @@ } editingComponent = new JPanel(new BorderLayout()); editingComponent.add(tabbedPane); - editingComponent.setPreferredSize(new Dimension(600, 490)); + editingComponent.setPreferredSize(new Dimension(600, 520)); tabbedPane.add(CLASS_EXPRESSION_EDITOR_LABEL, new JScrollPane(editor)); @@ -274,7 +274,6 @@ private JButton helpForPosExamples; private JButton helpForNegExamples; private JLabel errorMessage; - private ImageIcon toggleGif; private JToggleButton advanced; //private JScrollPane suggestScroll; private ActionHandler action; @@ -290,7 +289,6 @@ editor = editorKit; model = new DLLearnerModel(editorKit,aktuell, label,this); model.loadOntology(getUri()); - toggleGif = new ImageIcon("pfeil1.gif"); posLabelPanel = new JPanel(); negLabelPanel = new JPanel(); panel = new DLLearnerViewPanel(editor); @@ -300,24 +298,25 @@ adv = new JLabel("Advanced"); helpForNegExamples = new JButton("?"); helpForNegExamples.setSize(10, 10); - advanced = new JToggleButton(toggleGif); + advanced = new JToggleButton(); run = new JButton("Suggest "+label); cancel = new JButton("Cancel"); accept = new JButton("ADD"); - scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + option = new JPanel(new GridLayout(0,2)); + scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); errorMessage = new JLabel(); learner = new JPanel(); advanced.setSize(20,20); learner.setLayout(null); suggest = new JList(); - learner.setPreferredSize(new Dimension(600, 480)); + learner.setPreferredSize(new Dimension(600, 520)); pos = new JLabel("Positive Examples"); neg = new JLabel("Negative Examples"); accept.setPreferredSize(new Dimension(290,50)); - option = new JPanel(new GridLayout(0,2)); posLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); negLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); posLabelPanel.add(pos); + advanced.setName("Advanced"); helpForPosExamples.setName("PosHelpButton"); posLabelPanel.add(helpForPosExamples); negLabelPanel.add(neg); @@ -327,31 +326,29 @@ addRunButtonListener(this.action); addCancelButtonListener(this.action); addHelpButtonListener(this.action); + addAdvancedButtonListener(this.action); } public void makeView() { - model.clearVector(); model.initReasoner(); - model.setPosVector(); - model.setNegVector(); + model.setPosVector(); + model.setNegVector(); + setJCheckBoxen(); suggest = new JList(); cancel.setEnabled(false); accept.setEnabled(false); - setJCheckBoxen(); - if(option.getComponentCount()<=2) - { - run.setEnabled(false); - } - scrollPane.setViewportView(option); - scrollPane.setBounds(10, 200, 490, 250); + action.resetToggled(); + advanced.setSelected(false); suggest.setBounds(10,40,490,110); suggest.setVisible(true); adv.setBounds(40,200,200,20); run.setBounds(10,0,200,30); advanced.setBounds(10,200,20,20); + scrollPane.setViewportView(option); + scrollPane.setBounds(10, 230, 490, 250); cancel.setBounds(260,0,200,30); accept.setBounds(510,40,80,110); errorMessage.setBounds(10,160,590,20); @@ -362,7 +359,8 @@ learner.add(suggest); learner.add(accept); learner.add(errorMessage); - //learner.add(scrollPane); + learner.add(scrollPane); + scrollPane.setVisible(false); add(learner); addListener(); } @@ -372,10 +370,19 @@ return learner; } + public void setExamplePanelVisible(boolean visible) + { + scrollPane.setVisible(visible); + } + + public JPanel getOptionPanel() + { + return option; + } + public void renderHelpMessage(String helfen) { help = new JLabel(); - hilfe = new JDialog(); hilfe.setName("Hilfe"); hilfe.setSize(500,50); @@ -510,6 +517,11 @@ helpForNegExamples.addActionListener(a); } + public void addAdvancedButtonListener(ActionListener a) + { + advanced.addActionListener(a); + } + } private class ObjectRestrictionCreatorPanel extends JPanel { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-05-22 11:09:17
|
Revision: 917 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=917&view=rev Author: heeroyuy Date: 2008-05-22 04:09:15 -0700 (Thu, 22 May 2008) Log Message: ----------- -added scrollbar to the suggestpanel 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/OWLClassDescriptionEditorWithDLLearnerTab.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-05-22 09:06:42 UTC (rev 916) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-05-22 11:09:15 UTC (rev 917) @@ -45,9 +45,8 @@ view.getCancelButton().setEnabled(false); String error = "Learning aborted"; view.renderErrorMessage(error); - model.getLearningAlgorithm().stop(); dlLearner.interrupt(); - + model.getLearningAlgorithm().stop(); } if(z.getActionCommand().equals("ADD")) @@ -57,6 +56,7 @@ { if(model.getSolutions()[i].toString().equals(suggest)) { + System.out.println(model.getSolutions()[i]); model.changeDLLearnerDescriptionsToOWLDescriptions(model.getSolutions()[i]); } } @@ -87,7 +87,6 @@ { toggled=true; view.setExamplePanelVisible(toggled); - System.out.println(z.getSource()); } else { Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-05-22 09:06:42 UTC (rev 916) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-05-22 11:09:15 UTC (rev 917) @@ -1,23 +0,0 @@ -package org.dllearner.tools.protege; - -import org.protege.editor.owl.ui.frame.AbstractOWLFrame; -import org.protege.editor.owl.ui.frame.InheritedAnonymousClassesFrameSection; -import org.protege.editor.owl.ui.frame.OWLClassAssertionAxiomIndividualSection; -import org.protege.editor.owl.ui.frame.OWLDisjointClassesAxiomFrameSection; -import org.protege.editor.owl.ui.frame.OWLSubClassAxiomFrameSection; -import org.semanticweb.owl.model.OWLClass; -import org.protege.editor.owl.OWLEditorKit; - -public class ButtonList extends AbstractOWLFrame<OWLClass>{ - - public ButtonList(OWLEditorKit editorKit) - { - super(editorKit.getOWLModelManager().getOWLOntologyManager()); - //addSection(new SuggestButton(editorKit, this)); - addSection(new SuggestEquivalentClassButton(editorKit, this)); - addSection(new OWLSubClassAxiomFrameSection(editorKit, this)); - addSection(new InheritedAnonymousClassesFrameSection(editorKit, this)); - addSection(new OWLClassAssertionAxiomIndividualSection(editorKit, this)); - addSection(new OWLDisjointClassesAxiomFrameSection(editorKit, this)); - } -} Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-05-22 09:06:42 UTC (rev 916) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-05-22 11:09:15 UTC (rev 917) @@ -87,6 +87,7 @@ setKnowledgeSource(); setReasoner(); SortedSet<Individual> pos=rs.getIndividuals(); + System.out.println(pos); while(pos.iterator().hasNext()) { indis.add(pos.iterator().next()); @@ -249,26 +250,45 @@ { } - + public void unsetNewConcepts() + { + while(OWLDescription.iterator().hasNext()) + { + OWLDescription.remove(OWLDescription.iterator().next()); + } + } public void setPositiveConcept() { Set<NamedClass> concepts = rs.getAtomicConcepts(); + System.out.println("!"+rs.getAtomicConcepts()); + System.out.println("2"+aktuell.getRootObject()); + SortedSet<Individual> individuals = null; while(concepts.iterator().hasNext()&&individuals==null) { + System.out.println(concepts.size()); + System.out.println(individuals==null); NamedClass concept = concepts.iterator().next(); + System.out.println("\xA7"+rs.retrieval(concept)); if(concept.toString().endsWith("#"+aktuell.getRootObject().toString())) { - individuals = rs.retrieval(concept); + if(rs.retrieval(concept)!=null){ + System.out.println(":-) "+rs.retrieval(concept)); + individuals = rs.retrieval(concept); + } } concepts.remove(concept); + System.out.println(individuals); } - while(individuals.iterator().hasNext()) + System.out.println(individuals==null); + if(individuals!=null) { - individual.add(individuals.iterator().next()); - individuals.remove(individuals.iterator().next()); + while(individuals.iterator().hasNext()) + { + individual.add(individuals.iterator().next()); + individuals.remove(individuals.iterator().next()); + } } - } public boolean setPositivExamplesChecked(String indi) @@ -277,8 +297,11 @@ for(int i = 0; i<individual.size()&& isChecked==false;i++) { String indi1=individual.get(i).getName(); - if(indi1.toString().equals(indi.toString())) + System.out.println("1: "+indi); + System.out.println("2 :"+indi1); + if(indi1.toString().equals(indi.toString())) { + System.out.println(indi); isChecked = true; } else @@ -393,9 +416,11 @@ { newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); ds.add(newConceptOWLAPI); + OWLDescription.add(newConceptOWLAPI); } this.desc = newConceptOWLAPI; - OWLDescription.add(newConceptOWLAPI); + + System.out.println("hallo:"+OWLDescription); } } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-05-22 09:06:42 UTC (rev 916) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-05-22 11:09:15 UTC (rev 917) @@ -192,6 +192,7 @@ return restrictionCreatorPanel.createRestrictions(); } else if(tabbedPane.getSelectedComponent() == dllearner){ + System.out.println("die loesungen:"+dllearner.getSollutions()); return dllearner.getSollutions(); } return super.getEditedObjects(); @@ -275,7 +276,7 @@ private JButton helpForNegExamples; private JLabel errorMessage; private JToggleButton advanced; - //private JScrollPane suggestScroll; + private JScrollPane suggestScroll; private ActionHandler action; private DLLearnerModel model; private Description[] descriptions = new Description[10]; @@ -304,6 +305,7 @@ accept = new JButton("ADD"); option = new JPanel(new GridLayout(0,2)); scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + suggestScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); errorMessage = new JLabel(); learner = new JPanel(); advanced.setSize(20,20); @@ -349,6 +351,8 @@ advanced.setBounds(10,200,20,20); scrollPane.setViewportView(option); scrollPane.setBounds(10, 230, 490, 250); + suggestScroll.setViewportView(suggest); + suggestScroll.setBounds(10,40,490,110); cancel.setBounds(260,0,200,30); accept.setBounds(510,40,80,110); errorMessage.setBounds(10,160,590,20); @@ -356,7 +360,7 @@ learner.add(adv); learner.add(advanced); learner.add(cancel); - learner.add(suggest); + learner.add(suggestScroll); learner.add(accept); learner.add(errorMessage); learner.add(scrollPane); @@ -407,6 +411,7 @@ public OWLDescription getSollution() { + System.out.println(model.getSollution()); return model.getSollution(); } @@ -426,6 +431,7 @@ { option.removeAll(); run.setEnabled(true); + model.unsetNewConcepts(); action.destroyDLLearnerThread(); suggest.removeAll(); errorMessage.setText(""); @@ -462,14 +468,18 @@ run.setEnabled(true); cancel.setEnabled(false); accept.setEnabled(true); - learner.remove(suggest); + learner.remove(suggestScroll); + suggestScroll.remove(suggest); descriptions = desc; suggest=new JList(descriptions); - suggest.setBounds(10,40,490,110); + suggest.setBounds(10,40,490,110); suggest.setVisible(true); - learner.add(suggest); + suggestScroll.setViewportView(suggest); + suggestScroll.setBounds(10,40,490,110); + learner.add(suggestScroll); + //suggest.repaint(); suggest.addMouseListener(action); - suggest.repaint(); + suggestScroll.repaint(); model.unsetJCheckBoxen(); option.removeAll(); setJCheckBoxen(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-06-10 11:14:54
|
Revision: 948 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=948&view=rev Author: heeroyuy Date: 2008-06-10 04:14:52 -0700 (Tue, 10 Jun 2008) Log Message: ----------- -small changes -started to comment methods 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/OWLClassDescriptionEditorWithDLLearnerTab.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-06 15:08:05 UTC (rev 947) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-10 11:14:52 UTC (rev 948) @@ -2,15 +2,49 @@ -import java.awt.event.*; -//TODO: Concepte und errormessages aus model holen +//import java.awt.event.*; +import java.awt.event.ActionListener; +import java.awt.event.ItemListener; +import java.awt.event.MouseListener; +import java.awt.event.ActionEvent; +import java.awt.event.ItemEvent; +import java.awt.event.MouseEvent; +import java.awt.event.TextEvent; + +import org.dllearner.core.owl.Description; +/** + * + * @author Heero Yuy + * + */ public class ActionHandler implements ActionListener, ItemListener, MouseListener{ + /** + * + */ private DLLearnerModel model; - + /** + * + */ private String id; + /** + * + */ private boolean toggled; + /** + * + */ private Thread dlLearner; + /** + * + */ private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; + /** + * + * @param a + * @param m + * @param view + * @param i + */ public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i) { this.view = view; @@ -20,13 +54,20 @@ } + /** + * + */ public void actionPerformed(ActionEvent z){ if(z.getActionCommand().equals("Suggest "+id)) { + if(model.getAlreadyLearned()==true) + { + model.unsetListModel(); + } if(view.getOptionPanel().getComponentCount()<=2) { - view.renderErrorMessage("No Examples available"); + view.renderErrorMessage("Could not start learning. No Examples where available"); } else{ view.renderErrorMessage("Learning started"); @@ -34,8 +75,6 @@ view.getRunButton().setEnabled(false); view.getCancelButton().setEnabled(true); dlLearner.start(); - //String error = "Learning succesful"; - //view.renderErrorMessage(error); } } @@ -47,20 +86,12 @@ view.renderErrorMessage(error); dlLearner.interrupt(); model.getLearningAlgorithm().stop(); + model.setErrorMessage(error); } if(z.getActionCommand().equals("ADD")) { - String suggest=view.getSuggestionList().getSelectedValue().toString(); - for(int i = 0;i<model.getSolutions().length;i++) - { - if(model.getSolutions()[i].toString().equals(suggest)) - { - System.out.println(model.getSolutions()[i]); - model.changeDLLearnerDescriptionsToOWLDescriptions(model.getSolutions()[i]); - } - } - + model.changeDLLearnerDescriptionsToOWLDescriptions((Description)view.getSuggestionList().getSelectedValue()); String message ="Concept added"; view.renderErrorMessage(message); } @@ -69,7 +100,7 @@ { if(z.getSource().toString().contains("PosHelpButton")) { - String hilfe="A Instance that follows from the classdescription. Per Default all that belongs to the class."; + String hilfe="A Instance that follows from the classdescription.\nPer Default all that belongs to the class."; view.renderHelpMessage(hilfe); } @@ -94,52 +125,79 @@ view.setExamplePanelVisible(toggled); } } - } - + } + + /** + * + * @return + */ public String getID() { return id; } - + /** + * + */ public void itemStateChanged(ItemEvent i) { //System.out.println(i.getItem()); } - + /** + * + */ public void mouseReleased(MouseEvent m) { } - + /** + * + */ public void mouseEntered(MouseEvent m) { } - + /** + * + */ public void mouseClicked(MouseEvent m) { } - + /** + * + */ public void mouseExited(MouseEvent m) { } - + /** + * + */ public void mousePressed(MouseEvent m) { - + if(!view.getAddButton().isEnabled()) + { + view.getAddButton().setEnabled(true); + } } + /** + * + * @param t + */ public void textValueChanged(TextEvent t) { } - + /** + * + */ public void destroyDLLearnerThread() { dlLearner =null; } - + /** + * + */ public void resetToggled() { toggled = false; Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-06 15:08:05 UTC (rev 947) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-10 11:14:52 UTC (rev 948) @@ -1,72 +1,194 @@ package org.dllearner.tools.protege; -import org.dllearner.core.ComponentManager; -import org.dllearner.kb.OWLFile; - import java.util.Observable; import java.util.Set; import java.util.TreeSet; import java.util.Vector; -import org.dllearner.core.owl.Description; +import java.util.HashSet; +import java.util.Iterator; +import java.util.SortedSet; + +import java.io.*; + +import javax.swing.DefaultListModel; import javax.swing.JCheckBox; -import org.dllearner.core.*; -import org.protege.editor.owl.OWLEditorKit; -import org.protege.editor.owl.ui.frame.OWLFrame; -import org.semanticweb.owl.apibinding.OWLManager; -import org.semanticweb.owl.model.*; -import org.dllearner.learningproblems.*; + import java.net.URI; -import org.dllearner.core.owl.*; -import org.dllearner.core.owl.NamedClass; -import org.semanticweb.owl.model.OWLOntology; -import org.dllearner.reasoning.OWLAPIReasoner; -import org.semanticweb.owl.model.OWLOntologyManager; -import org.dllearner.reasoning.OWLAPIDescriptionConvertVisitor; -import java.io.File; -import org.semanticweb.owl.model.OWLDescription; -import java.util.HashSet; -import java.util.*; + import org.dllearner.algorithms.refinement.ROLearner; +import org.dllearner.algorithms.SimpleSuggestionLearningAlgorithm; + +import org.dllearner.core.owl.Description; import org.dllearner.core.KnowledgeSource; import org.dllearner.core.LearningAlgorithm; import org.dllearner.core.LearningProblem; +import org.dllearner.core.ComponentManager; +import org.dllearner.core.ComponentInitException; import org.dllearner.core.LearningProblemUnsupportedException; import org.dllearner.core.ReasoningService; + +import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.NamedClass; + +import org.dllearner.kb.OWLFile; +import org.dllearner.kb.OWLAPIOntology; + +import org.dllearner.learningproblems.PosNegInclusionLP; import org.dllearner.learningproblems.PosNegDefinitionLP; +import org.dllearner.reasoning.OWLAPIDescriptionConvertVisitor; +import org.dllearner.reasoning.OWLAPIReasoner; +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.frame.OWLFrame; + +import org.semanticweb.owl.apibinding.OWLManager; +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLOntologyCreationException; +import org.semanticweb.owl.model.AddAxiom; +import org.semanticweb.owl.model.OWLOntologyFormat; +import org.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLDataFactory; + +import org.semanticweb.owl.model.OWLOntology; +import org.semanticweb.owl.model.OWLOntologyManager; +import org.semanticweb.owl.model.OWLDescription; + + + + + + +/** + * This Class provides the necessary methods to learn Concepts from the DL-Learner. + * @author Heero Yuy + * + */ public class DLLearnerModel extends Observable implements Runnable{ + /** + * The Sting is for components that are available in the DL-Learner + */ private String[] componenten={"org.dllearner.kb.OWLFile","org.dllearner.reasoning.OWLAPIReasoner", "org.dllearner.reasoning.DIGReasoner","org.dllearner.reasoning.FastRetrievalReasoner","org.dllearner.learningproblems.PosNegInclusionLP" ,"org.dllearner.learningproblems.PosNegDefinitionLP","org.dllearner.algorithms.RandomGuesser","org.dllearner.algorithms.BruteForceLearner","org.dllearner.algorithms.refinement.ROLearner","org.dllearner.algorithms.refexamples.ExampleBasedROLComponent","org.dllearner.algorithms.gp.GP"}; + /** + * This Vector stores the check boxes for the view. + */ private Vector<JCheckBox> positiv; + /** + * This Vector stores the negative Examples. + */ private Vector<JCheckBox> negativ; + /** + * + */ private ComponentManager cm; + /** + * + */ private ReasoningService rs; + /** + * + */ private KnowledgeSource source; + /** + * + */ private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; + /** + * This is the count of Concepts which you get after learning + */ private static final int anzahl = 6; - private Description[] description = new Description[anzahl]; + /** + * + */ + private Description[] description; + /** + * + */ private LearningProblem lp; + /** + * This boolean is + */ + private boolean alreadyLearned=false; + /** + * + */ private OWLOntology ontology; + /** + * This is the learning algorithm + */ private LearningAlgorithm la = null; + /** + * + */ private OWLEditorKit editor; + /** + * + */ private OWLFrame<OWLClass> aktuell; + /** + * + */ private OWLAPIReasoner reasoner; + /** + * + */ private Set<OWLDescription> OWLDescription; + /** + * This set stores the positive examples. + */ private Set<String> positiveExamples; + /** + * This set stores the negative examples that doesn't belong to the concept. + */ private Set<String> negativeExamples; - private Vector<Individual> indis; + /** + * + */ private OWLDescription desc; + /** + * + */ private String id; + /** + * + */ private OWLDescription newConceptOWLAPI; + /** + * + */ private OWLDescription oldConceptOWLAPI; + /** + * + */ private Set<OWLDescription> ds; - private Vector<Individual> individual; + /** + * + */ + private DefaultListModel suggestModel; + /** + * + */ + private Set<Individual> individual; + /** + * + */ + private SimpleSuggestionLearningAlgorithm test; + /** + * + */ + private String error; + /** + * This is the constructor for DL-Learner model + * @param editorKit + * @param h + * @param id String if it learns a subclass or a superclass. + * @param view current view of the DL-Learner tab + */ public DLLearnerModel(OWLEditorKit editorKit, OWLFrame<OWLClass> h,String id,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view) - { editor=editorKit; aktuell=h; @@ -75,53 +197,88 @@ OWLDescription = new HashSet<OWLDescription>(); positiv = new Vector<JCheckBox>(); negativ = new Vector<JCheckBox>(); - indis = new Vector<Individual>(); - individual = new Vector<Individual>(); + test = new SimpleSuggestionLearningAlgorithm(); ComponentManager.setComponentClasses(componenten); cm = ComponentManager.getInstance(); ds = new HashSet<OWLDescription>(); + suggestModel = new DefaultListModel(); } + + /** + * This method initializes the SimpleSuggestionLearningAlgorithm and adds the + * suggestions to the suggest panel model. + */ public void initReasoner() { + alreadyLearned = false; setKnowledgeSource(); setReasoner(); SortedSet<Individual> pos=rs.getIndividuals(); - System.out.println(pos); - while(pos.iterator().hasNext()) + Set<Description> desc = test.getSimpleSuggestions(rs, pos); + int i = 0; + for(Iterator<Description> j = desc.iterator();j.hasNext();) { - indis.add(pos.iterator().next()); - pos.remove(pos.iterator().next()); + suggestModel.add(i,j.next()); } - - //this.neg=rs.getIndividuals(); } + + /** + * This method adds the solutions from the DL-Learner to the + * model for the + */ + private void addToListModel() + { + for(int j = 0;j<la.getBestSolutions(anzahl).size();j++) + { + suggestModel.add(j,la.getBestSolutions(anzahl).get(j)); + } + } + + /** + * This method checks which positive and negative examples are checked + * and puts the checked examples into a treeset. + */ public void setPositiveAndNegativeExamples() { positiveExamples = new TreeSet<String>(); + negativeExamples = new TreeSet<String>(); for(int i=0;i<positiv.size();i++) { if(positiv.get(i).isSelected()) { positiveExamples.add(positiv.get(i).getText()); } - } - negativeExamples = new TreeSet<String>(); - for(int i=0;i<negativ.size();i++) - { + if(negativ.get(i).isSelected()) { negativeExamples.add(negativ.get(i).getText()); } } - } + /** + * This method returns the data for the suggest panel. + * @return Model for the suggest panel. + */ + public DefaultListModel getSuggestList() + { + return suggestModel; + } + + /** + * This method returns an array of descriptions learned by the DL-Learner. + * @return Array of descriptions learned by the DL-Learner. + */ public Description[] getDescriptions() { return description; } + /** + * This method sets the knowledge source for the learning process. + * Only OWLAPIOntology will be available. + */ public void setKnowledgeSource() { this.source = cm.knowledgeSource(OWLFile.class); @@ -135,6 +292,10 @@ } } + /** + * This method sets the reasoner and the reasoning service + * Only OWLAPIReasoner is available. + */ public void setReasoner() { this.reasoner =cm.reasoner(OWLAPIReasoner.class,source); @@ -142,6 +303,11 @@ rs = cm.reasoningService(reasoner); } + /** + * This method sets the Learning problem for the learning process. + * PosNegDefinitonLp for equivalent classes and + * PosNegInclusionLP for superclasses. + */ public void setLearningProblem() { if(id.equals("Equivalent classes")) @@ -164,6 +330,9 @@ } } + /** + * This method sets the learning algorithm for the learning process. + */ public void setLearningAlgorithm() { try { @@ -180,41 +349,68 @@ catch(ComponentInitException e){ e.printStackTrace(); } + alreadyLearned = true; } + /** + * This method starts the learning process. + */ public void run() { + error = "Learning succesful"; setKnowledgeSource(); setReasoner(); - setPositiveAndNegativeExamples();; + setPositiveAndNegativeExamples(); setLearningProblem(); setLearningAlgorithm(); // start the algorithm and print the best concept found la.start(); description = new Description[la.getBestSolutions(anzahl).size()]; - for(int j = 0;j<la.getBestSolutions(anzahl).size();j++) - { - description[j]=la.getBestSolutions(anzahl).get(j); - } - view.draw(description); + addToListModel(); + view.renderErrorMessage(error); + view.draw(); } + /** + * This method returns the Concepts from the DL-Learner. + * @return Array of learned Concepts. + */ public Description[] getSolutions() { return description; } + /** + * This method returns the check boxes for the positive examples. + * @return Vector of check boxes for positive examples + */ public Vector<JCheckBox> getPosVector() { return positiv; } + /** + * This method returns the check boxes for the negative examples. + * @return Vector of check boxes for negative examples + */ public Vector<JCheckBox> getNegVector() { return negativ; } + /** + * This method gets an error message and storess it. + * @param error error message + */ + public void setErrorMessage(String error) + { + this.error = error; + } + /** + * This method gets an uri for an ontology and loads it. + * @param uri Uri for the Ontology + */ public void loadOntology(URI uri) { OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); @@ -227,11 +423,16 @@ } } + /** + * This method sets the check boxes for the positive check boxes checked + * if the individuals matches the concept that is chosen in protege. + */ public void setPosVector() - { setPositiveConcept(); - for(int i = 0 ; i<indis.size() ; i++) + { + setPositiveConcept(); + for(Iterator<Individual> j = rs.getIndividuals().iterator(); j.hasNext();) { - String ind = indis.get(i).toString(); + String ind = j.next().toString(); if(setPositivExamplesChecked(ind)) { positiv.add(new JCheckBox(ind.toString(),true)); @@ -245,11 +446,9 @@ } } - - public void setNegVector() - { - - } + /** + * This method resets the Concepts that are learned. + */ public void unsetNewConcepts() { while(OWLDescription.iterator().hasNext()) @@ -257,69 +456,71 @@ OWLDescription.remove(OWLDescription.iterator().next()); } } + + /** + * This method sets the individuals that belong to the concept which is chosen in protege. + */ public void setPositiveConcept() { - Set<NamedClass> concepts = rs.getAtomicConcepts(); - System.out.println("!"+rs.getAtomicConcepts()); - System.out.println("2"+aktuell.getRootObject()); - SortedSet<Individual> individuals = null; - while(concepts.iterator().hasNext()&&individuals==null) + for(Iterator<NamedClass> i = rs.getAtomicConcepts().iterator(); i.hasNext();) { - System.out.println(concepts.size()); - System.out.println(individuals==null); - NamedClass concept = concepts.iterator().next(); - System.out.println("\xA7"+rs.retrieval(concept)); - if(concept.toString().endsWith("#"+aktuell.getRootObject().toString())) + if(individuals==null) { - if(rs.retrieval(concept)!=null){ - System.out.println(":-) "+rs.retrieval(concept)); - individuals = rs.retrieval(concept); + NamedClass concept = i.next(); + if(concept.toString().endsWith("#"+aktuell.getRootObject().toString())) + { + if(rs.retrieval(concept)!=null){ + individual = rs.retrieval(concept); + break; + } } } - concepts.remove(concept); - System.out.println(individuals); } - System.out.println(individuals==null); - if(individuals!=null) - { - while(individuals.iterator().hasNext()) - { - individual.add(individuals.iterator().next()); - individuals.remove(individuals.iterator().next()); - } - } } + /** + * This method gets an Individual and checks if this individual belongs to the concept + * chosen in protege. + * @param indi Individual to check if it belongs to the chosen concept + * @return is Individual belongs to the concept which is chosen in protege. + */ public boolean setPositivExamplesChecked(String indi) { boolean isChecked = false; - for(int i = 0; i<individual.size()&& isChecked==false;i++) - { - String indi1=individual.get(i).getName(); - System.out.println("1: "+indi); - System.out.println("2 :"+indi1); - if(indi1.toString().equals(indi.toString())) - { - System.out.println(indi); - isChecked = true; - } - else - { - isChecked = false; - } - } + if(individual.toString().contains(indi)) + { + isChecked = true; + } + /*for(Iterator<Individual> j = individual.iterator(); j.hasNext();) + { + String indi1 = j.next().getName(); + System.out.println("Individuals: "+ indi1); + if(indi1.toString().equals(indi.toString())) + { + System.out.println(indi); + isChecked = true; + break; + } + }*/ return isChecked; } + /** + * This method resets the vectors where the check boxes for positive and negative Examples + * are stored. It is called when the DL-Learner View is closed. + */ public void clearVector() { positiv.removeAllElements(); negativ.removeAllElements(); - indis.removeAllElements(); } + /** + * This method returns the physical uri of the ontology which is currently loaded in protege. + * @return pysical uri of the loaded ontology + */ public String getUri() { char[] test = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()).toString().toCharArray(); @@ -331,27 +532,49 @@ return uri; } + /** + * This method gets an array of concepts from the DL-Learner and stores it + * in the description array. + * @param list Array of concepts from DL-Learner + */ public void setDescriptionList(Description[] list) { description=list; } - + /** + * This method returns the current learning algorithm that is used to learn new concepts. + * @return Learning algorithm that is used for learning concepts. + */ public LearningAlgorithm getLearningAlgorithm() { return la; } + /** + * This method gets an integer to return the positive examples check box on that position. + * @param i integer for the position in the vector + * @return Positive examples check box on position i. + */ public JCheckBox getPositivJCheckBox(int i) { return positiv.get(i); } + /** + * This method gets an integer to return the negative examples check box on that position. + * @param i integer for the position in the vector + * @return Negative examples check box on position i. + */ public JCheckBox getNegativJCheckBox(int i) { return negativ.get(i); } + /** + * This method resets the array of concepts from the DL_Learner. + * It is called after the DL-Learner tab is closed. + */ public void resetSuggestionList() { for(int i=0;i<description.length;i++) @@ -360,6 +583,10 @@ } } + /** + * This method unchecks the checkboxes that are checked after the process + * of learning. + */ public void unsetJCheckBoxen() { for(int j=0;j<positiv.size();j++) @@ -370,9 +597,6 @@ i.setSelected(false); positiv.set(j, i); } - } - for(int j=0;j<negativ.size();j++) - { if(negativ.get(j).isSelected()) { JCheckBox i = negativ.get(j); @@ -382,90 +606,118 @@ } } + /** + * This method resets the model for the suggest panel. + * It is called befor the DL-Learner learns the second time or when the + * DL-Learner tab is closed. + */ + public void unsetListModel() + { + if(suggestModel!=null) + { + suggestModel.removeAllElements(); + } + } + + /** + * This method gets a description from the DL-Learner and adds is to the model from the suggest panel. + * @param desc Description from the DL-Learner + */ + public void setSuggestModel(Description desc) + { + suggestModel.add(0, desc); + } + + /** + * This method returns the current OWLOntology that is loaded in protege. + * @return current ontology + */ public OWLOntology getOWLOntology() { return ontology; } + /** + * This method returns a set of concepts that are learned by the DL-Learner. + * They are already converted into the OWLDescription format. + * @return Set of learned concepts in OWLDescription format + */ public Set<OWLDescription> getNewOWLDescription() { return OWLDescription; } + /** + * This method returns the old concept which is chosen in protege in OWLDescription format. + * @return Old Concept in OWLDescription format. + */ public OWLDescription getOldConceptOWLAPI() { return oldConceptOWLAPI; } - public Set<OWLDescription> getNewOWLDescriptions() + /** + * This method returns the currently learned description in OWLDescription format. + * @return currently used description in OWLDescription format + */ + public OWLDescription getSolution() { - return null; - } - - public OWLDescription getSollution() - { return desc; } + /** + * Thsi method gets a description learned by the DL-Learner an converts it + * to the OWLDescription format. + * @param desc Description learned by the DL-Learner + */ public void setNewConceptOWLAPI(Description desc) { - for(int i = 0;i<description.length;i++) - { - - if(desc.toString().equals(description[i].toString())) - { - newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); - ds.add(newConceptOWLAPI); - OWLDescription.add(newConceptOWLAPI); - } - this.desc = newConceptOWLAPI; - - System.out.println("hallo:"+OWLDescription); - } + newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); + ds.add(newConceptOWLAPI); + OWLDescription.add(newConceptOWLAPI); + this.desc = newConceptOWLAPI; } + /** + * This method gets the old concept from checking the positive examples. + */ public void setOldConceptOWLAPI() { SortedSet<Individual> indi=rs.getIndividuals(); - while(positiveExamples.iterator().hasNext()) + for(Iterator<Individual> i = indi.iterator(); i.hasNext();) { - String indi1=positiveExamples.iterator().next(); - - for(int i = 0; i<indi.size();i++) + Individual indi2 = i.next(); + if(positiveExamples.toString().contains(indi2.toString())) { - Individual indi2 = indi.iterator().next(); - if(indi2.toString().equals(indi1.toString())) + Set<NamedClass> concept=reasoner.getConcepts(indi2); + for(Iterator<NamedClass> k = concept.iterator();k.hasNext();) { - Set<NamedClass> concept=reasoner.getConcepts(indi2); - while(concept.iterator().hasNext()) - { - OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(concept.iterator().next()); - concept.remove(concept.iterator().next()); + OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(k.next()); ds.add(oldConceptOWLAPI); - } + } - } - indi.remove(indi2); } - indi=rs.getIndividuals(); - positiveExamples.remove(indi1); } } + /** + * This method stores the new concept learned by the DL-Learner in the Ontology. + * @param desc Description learne by the DL-Learner + */ public void changeDLLearnerDescriptionsToOWLDescriptions(Description desc) { setNewConceptOWLAPI(desc); setOldConceptOWLAPI(); - //OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); + OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); - //OWLDataFactory factory = manager.getOWLDataFactory(); - //System.out.println("Manager: "+manager); - //OWLAxiom axiomOWLAPI = factory.getOWLEquivalentClassesAxiom(ds); - //OWLOntologyFormat format = new OWLOntologyFormat(); - //format = manager.getOntologyFormat(ontology); - //OWLOntology ontology = editor.getOWLModelManager().getActiveOntology(); - //System.out.println("Format: "+format); - //AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); + OWLDataFactory factory = manager.getOWLDataFactory(); + System.out.println("Manager: "+manager); + OWLAxiom axiomOWLAPI = factory.getOWLEquivalentClassesAxiom(ds); + OWLOntologyFormat format = new OWLOntologyFormat(); + format = manager.getOntologyFormat(ontology); + OWLOntology ontology = editor.getOWLModelManager().getActiveOntology(); + System.out.println("Format: "+format); + AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); /*try { manager.applyChange(axiom); } catch (OWLOntologyChangeException e) { @@ -474,20 +726,31 @@ } try { - manager.saveOntology(ontology,format,editor.getOWLModelManager().getActiveOntology().getURI()); + manager.saveOntology(ontology,new RDFXMLOntologyFormat(),editor.getOWLModelManager().getActiveOntology().getURI()); } catch (UnknownOWLOntologyException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (OWLOntologyStorageException e) { // TODO Auto-generated catch block e.printStackTrace(); - } */ + }*/ } + /** + * This method returns the currently used reasoning service. + * @return current reasoning service + */ public ReasoningService getReasoningService() { return rs; } - - + + /** + * + * @return + */ + public boolean getAlreadyLearned() + { + return alreadyLearned; + } } \ No newline at end of file Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-06 15:08:05 UTC (rev 947) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-10 11:14:52 UTC (rev 948) @@ -1,12 +1,13 @@ package org.dllearner.tools.protege; -import org.dllearner.core.owl.Description; + import org.protege.editor.core.ui.util.ComponentFactory; import org.protege.editor.owl.OWLEditorKit; import org.protege.editor.owl.ui.clsdescriptioneditor.ExpressionEditor; import org.protege.editor.owl.ui.clsdescriptioneditor.OWLDescriptionChecker; import org.protege.editor.owl.ui.selector.OWLClassSelectorPanel; import org.protege.editor.owl.ui.selector.OWLObjectPropertySelectorPanel; + import org.semanticweb.owl.model.OWLClass; import org.semanticweb.owl.model.OWLDataFactory; import org.semanticweb.owl.model.OWLDescription; @@ -252,41 +253,133 @@ public void removeStatusChangedListener(InputVerificationStatusChangedListener listener) { listeners.remove(listener); } - + /** + * + * @author Heero Yuy + * + */ public class DLLearnerView extends JPanel{ - private JLabel pos; - private final static long serialVersionUID = 624829578325729385L; - private DLLearnerViewPanel panel; - private JComponent learner; - private JButton accept; - private JButton run; - private OWLEditorKit editor; - private JPanel option; - private JList suggest; - private JLabel neg; - private JDialog hilfe; - private JLabel help; - private JLabel adv; - private JScrollPane scrollPane; - private final Color Color_RED = Color.red; - private final Color COLOR_BLACK = Color.black; - private JButton cancel; - private JPanel posLabelPanel; - private JPanel negLabelPanel; - private JButton helpForPosExamples; - private JButton helpForNegExamples; - private JLabel errorMessage; + /** + * + */ + private JLabel pos; + /** + * + */ + private final static long serialVersionUID = 624829578325729385L; + /** + * + */ + private DLLearnerViewPanel panel; + /** + * + */ + private JComponent learner; + /** + * + */ + private JButton accept; + /** + * + */ + private JButton run; + /** + * + */ + private OWLEditorKit editor; + /** + * + */ + private JPanel option; + /** + * + */ + private JList suggest; + /** + * + */ + private JLabel neg; + /** + * + */ + private JDialog hilfe; + /** + * + */ + private JTextArea help; + /** + * + */ + private JLabel adv; + /** + * + */ + private JScrollPane scrollPane; + /** + * + */ + private final Color Color_RED = Color.red; + /** + * + */ + private final Color COLOR_BLACK = Color.black; + /** + * + */ + private JButton cancel; + /** + * + */ + private JPanel posLabelPanel; + /** + * + */ + private JPanel negLabelPanel; + /** + * + */ + private JButton helpForPosExamples; + /** + * + */ + private JButton helpForNegExamples; + /** + * + */ + private JLabel errorMessage; + /** + * + */ private JToggleButton advanced; + /** + * + */ private JScrollPane suggestScroll; + /** + * + */ private ActionHandler action; + /** + * + */ private DLLearnerModel model; - private Description[] descriptions = new Description[10]; - + /** + * + */ + private DefaultListModel descriptions; + /** + * + * @return + */ public DLLearnerViewPanel getDLLearnerViewPanel() { return panel; } - + /** + * The constructor for the DL-Learner tab in the class description editor + * @param aktuell + * @param label + */ public DLLearnerView(OWLFrame<OWLClass> aktuell,String label){ editor = editorKit; model = new DLLearnerModel(editorKit,aktuell, label,this); @@ -332,24 +425,26 @@ addAdvancedButtonListener(this.action); } - + /** + * + */ public void makeView() { model.clearVector(); + model.unsetListModel(); model.initReasoner(); model.setPosVector(); - model.setNegVector(); setJCheckBoxen(); - suggest = new JList(); + suggest = new JList(model.getSuggestList()); cancel.setEnabled(false); accept.setEnabled(false); action.resetToggled(); advanced.setSelected(false); suggest.setBounds(10,40,490,110); - suggest.setVisible(true); adv.setBounds(40,200,200,20); run.setBounds(10,0,200,30); advanced.setBounds(10,200,20,20); + suggest.setVisible(true); scrollPane.setViewportView(option); scrollPane.setBounds(10, 230, 490, 250); suggestScroll.setViewportView(suggest); @@ -367,55 +462,92 @@ learner.add(scrollPane); scrollPane.setVisible(false); add(learner); + suggest.addMouseListener(action); addListener(); } - + /** + * + * @return + */ public JComponent getLearnerPanel() { return learner; } - + /** + * + * @param visible + */ public void setExamplePanelVisible(boolean visible) { scrollPane.setVisible(visible); } - + /** + * + * @return + */ public JPanel getOptionPanel() { return option; } - + /** + * + * @return + */ + public JButton getAddButton() + { + return accept; + } + /** + * + * @param helfen + */ public void renderHelpMessage(String helfen) { - help = new JLabel(); + JScrollPane scrollHelp = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + + help = new JTextArea(); hilfe = new JDialog(); + help.setEditable(false); hilfe.setName("Hilfe"); - hilfe.setSize(500,50); + hilfe.setSize(300,100); hilfe.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); hilfe.setVisible(true); hilfe.setResizable(false); help.setForeground(COLOR_BLACK); help.setText("Help: "+helfen); - hilfe.add(help); + scrollHelp.setViewportView(help); + scrollHelp.setBounds(0, 0, 300, 100); + hilfe.add(scrollHelp); } - + /** + * + * @return + */ public URI getUri() { URI uri = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()); return uri; } - + /** + * + * @return + */ public Set<OWLDescription> getSollutions() { return model.getNewOWLDescription(); } - + /** + * + * @return + */ public OWLDescription getSollution() { - System.out.println(model.getSollution()); - return model.getSollution(); + System.out.println(model.getSolution()); + return model.getSolution(); } - + /** + * + */ private void setJCheckBoxen() { option.add(posLabelPanel); @@ -427,107 +559,147 @@ } } - + /** + * + */ public void unsetEverything() { option.removeAll(); run.setEnabled(true); model.unsetNewConcepts(); + //model.unsetListModel(); action.destroyDLLearnerThread(); suggest.removeAll(); errorMessage.setText(""); learner.removeAll(); } - + /** + * + * @param s + */ public void renderErrorMessage(String s) { errorMessage.setForeground(Color_RED); errorMessage.setText(s); } - + /** + * + */ private void addListener() { for(int i=0;i<model.getPosVector().size();i++) { model.getPositivJCheckBox(i).addItemListener(action); + model.getNegativJCheckBox(i).addItemListener(action); } - - for(int i=0;i<model.getNegVector().size();i++) - { - model.getNegativJCheckBox(i).addItemListener(action); - } + } - + /** + * + * @param m + * @param c + */ public void update(Observable m,Object c) { if( model != m) return; //draw(); } - - protected void draw(Description[] desc) { - if (model != null) { - run.setEnabled(true); - cancel.setEnabled(false); - accept.setEnabled(true); - learner.remove(suggestScroll); - suggestScroll.remove(suggest); - descriptions = desc; - suggest=new JList(descriptions); - suggest.setBounds(10,40,490,110); - suggest.setVisible(true); - suggestScroll.setViewportView(suggest); - suggestScroll.setBounds(10,40,490,110); - learner.add(suggestScroll); - //suggest.repaint(); - suggest.addMouseListener(action); - suggestScroll.repaint(); - model.unsetJCheckBoxen(); - option.removeAll(); - setJCheckBoxen(); - - } + /** + * + */ + protected void draw() + { + run.setEnabled(true); + cancel.setEnabled(false); + descriptions = model.getSuggestList(); + suggest=new JList(model.getSuggestList()); + suggest.setBounds(10,40,490,110); + suggest.setVisible(true); + suggestScroll.setViewportView(suggest); + suggestScroll.setBounds(10,40,490,110); + learner.add(suggestScroll); + suggest.repaint(); + suggest.addMouseListener(action); + suggestScroll.repaint(); + model.unsetJCheckBoxen(); + option.removeAll(); + setJCheckBoxen(); } - + /** + * + * @return + */ public JList getSuggestionList() { return suggest; } - + /** + * + * @return + */ public JButton getRunButton() { return run; } - + /** + * + * @return + */ public JButton getCancelButton() { return cancel; } - + /** + * + */ public void dispose() { } - + /** + * + * @param a + */ + public void addSuggestListToChangeListener(ActionListener a) + { + + } + /** + * + * @param a + */ public void addRunButtonListener(ActionListener a) { run.addActionListener(a); } - + /** + * + * @param a + */ public void addCancelButtonListener(ActionListener a) { cancel.addActionListener(a); } - + /** + * + * @param a + */ public void addAcceptButtonListener(ActionListener a) { accept.addActionListener(a); } - + /** + * + * @param a + */ public void addHelpButtonListener(ActionListener a) { helpForPosExamples.addActionListener(a); helpForNegExamples.addActionListener(a); } - + /** + * + * @param a + */ public void addAdvancedButtonListener(ActionListener a) { advanced.addActionListener(a); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-06-14 11:20:58
|
Revision: 960 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=960&view=rev Author: heeroyuy Date: 2008-06-14 04:20:56 -0700 (Sat, 14 Jun 2008) Log Message: ----------- -create own class for suggest panel Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-13 11:20:31 UTC (rev 959) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-14 11:20:56 UTC (rev 960) @@ -37,6 +37,7 @@ /** * */ + private SuggestClassPanel sugPanel; private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; /** * @@ -45,9 +46,10 @@ * @param view * @param i */ - public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i) + public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i,SuggestClassPanel sugPanel) { this.view = view; + this.sugPanel = sugPanel; this.id=i; this.model = m; toggled = false; @@ -91,7 +93,7 @@ if(z.getActionCommand().equals("ADD")) { - model.changeDLLearnerDescriptionsToOWLDescriptions((Description)view.getSuggestionList().getSelectedValue()); + model.changeDLLearnerDescriptionsToOWLDescriptions((Description)sugPanel.getSuggestList().getSelectedValue()); String message ="Concept added"; view.renderErrorMessage(message); } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-13 11:20:31 UTC (rev 959) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-14 11:20:56 UTC (rev 960) @@ -291,13 +291,10 @@ * */ private JPanel option; + /** * */ - private JList suggest; - /** - * - */ private JLabel neg; /** * @@ -354,10 +351,6 @@ /** * */ - private JScrollPane suggestScroll; - /** - * - */ private ActionHandler action; /** * @@ -371,6 +364,7 @@ * * @return */ + private SuggestClassPanel sugPanel; public DLLearnerViewPanel getDLLearnerViewPanel() { return panel; @@ -387,7 +381,8 @@ posLabelPanel = new JPanel(); negLabelPanel = new JPanel(); panel = new DLLearnerViewPanel(editor); - action = new ActionHandler(this.action, model,this,label); + sugPanel = new SuggestClassPanel(); + action = new ActionHandler(this.action, model,this,label,sugPanel); helpForPosExamples = new JButton("?"); helpForPosExamples.setSize(10, 10); adv = new JLabel("Advanced"); @@ -397,14 +392,13 @@ run = new JButton("Suggest "+label); cancel = new JButton("Cancel"); accept = new JButton("ADD"); + sugPanel.addSuggestPanelMouseListener(action); option = new JPanel(new GridLayout(0,2)); scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - suggestScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); errorMessage = new JLabel(); learner = new JPanel(); advanced.setSize(20,20); learner.setLayout(null); - suggest = new JList(); learner.setPreferredSize(new Dimension(600, 520)); pos = new JLabel("Positive Examples"); neg = new JLabel("Negative Examples"); @@ -435,20 +429,19 @@ model.initReasoner(); model.setPosVector(); setJCheckBoxen(); - suggest = new JList(model.getSuggestList()); cancel.setEnabled(false); accept.setEnabled(false); action.resetToggled(); + sugPanel.setSuggestList(model.getSuggestList()); + sugPanel = sugPanel.updateSuggestClassList(); advanced.setSelected(false); - suggest.setBounds(10,40,490,110); + sugPanel.setBounds(10,40,490,110); adv.setBounds(40,200,200,20); run.setBounds(10,0,200,30); advanced.setBounds(10,200,20,20); - suggest.setVisible(true); + sugPanel.setVisible(true); scrollPane.setViewportView(option); scrollPane.setBounds(10, 230, 490, 250); - suggestScroll.setViewportView(suggest); - suggestScroll.setBounds(10,40,490,110); cancel.setBounds(260,0,200,30); accept.setBounds(510,40,80,110); errorMessage.setBounds(10,160,590,20); @@ -456,13 +449,12 @@ learner.add(adv); learner.add(advanced); learner.add(cancel); - learner.add(suggestScroll); + learner.add(sugPanel); learner.add(accept); learner.add(errorMessage); learner.add(scrollPane); scrollPane.setVisible(false); add(learner); - suggest.addMouseListener(action); addListener(); } /** @@ -567,9 +559,7 @@ option.removeAll(); run.setEnabled(true); model.unsetNewConcepts(); - //model.unsetListModel(); action.destroyDLLearnerThread(); - suggest.removeAll(); errorMessage.setText(""); learner.removeAll(); } @@ -612,31 +602,16 @@ run.setEnabled(true); cancel.setEnabled(false); descriptions = model.getSuggestList(); - suggest=new JList(model.getSuggestList()); - suggest.setBounds(10,40,490,110); - suggest.setVisible(true); - suggestScroll.setViewportView(suggest); - suggestScroll.setBounds(10,40,490,110); - learner.add(suggestScroll); - suggest.repaint(); - suggest.addMouseListener(action); - suggestScroll.repaint(); + sugPanel.setSuggestList(descriptions); model.unsetJCheckBoxen(); option.removeAll(); setJCheckBoxen(); } + /** * * @return */ - public JList getSuggestionList() - { - return suggest; - } - /** - * - * @return - */ public JButton getRunButton() { return run; Added: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2008-06-14 11:20:56 UTC (rev 960) @@ -0,0 +1,63 @@ +package org.dllearner.tools.protege; + +import java.awt.Dimension; + +import javax.swing.*; +import javax.swing.event.ListSelectionListener; + +import org.dllearner.core.owl.Description; + +public class SuggestClassPanel extends JPanel { + + private static final long serialVersionUID = 724628423947230L; + + private JList descriptions; + private JPanel suggestPanel; + private DefaultListModel model; + private JScrollPane suggestScroll; + + public SuggestClassPanel() + { + super(); + suggestScroll = new JScrollPane(); + suggestScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + model = new DefaultListModel(); + descriptions = new JList(model); + suggestPanel = new JPanel(); + descriptions.setVisible(true); + suggestPanel.add(descriptions); + suggestScroll.setPreferredSize(new Dimension(490,110)); + suggestScroll.setViewportView(descriptions); + add(suggestScroll); + } + + + public SuggestClassPanel updateSuggestClassList() + { + //JPanel suggestPanel1 = new JPanel(); + + //suggestScroll.setViewportView(suggestPanel1); + //descriptions = new JList(desc); + //descriptions.setVisible(true); + //suggestScroll.add(descriptions); + add(suggestScroll); + return this; + + } + public void setSuggestList(DefaultListModel desc) + { + descriptions.setModel(desc); + } + public JList getSuggestList() + { + return descriptions; + } + + public void addSuggestPanelMouseListener(ActionHandler action) + { + descriptions.addMouseListener(action); + } + + + +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-06-14 15:49:30
|
Revision: 961 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=961&view=rev Author: heeroyuy Date: 2008-06-14 08:49:20 -0700 (Sat, 14 Jun 2008) Log Message: ----------- - create own class for check box panel 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/OWLClassDescriptionEditorWithDLLearnerTab.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java trunk/src/dl-learner/org/dllearner/tools/protege/pfeil.gif Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-14 11:20:56 UTC (rev 960) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-14 15:49:20 UTC (rev 961) @@ -37,7 +37,6 @@ /** * */ - private SuggestClassPanel sugPanel; private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; /** * @@ -46,10 +45,9 @@ * @param view * @param i */ - public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i,SuggestClassPanel sugPanel) + public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i) { this.view = view; - this.sugPanel = sugPanel; this.id=i; this.model = m; toggled = false; @@ -67,16 +65,22 @@ { model.unsetListModel(); } - if(view.getOptionPanel().getComponentCount()<=2) + if(view.getPosAndNegSelectPanel().getPosAndNegSelectPanel().getComponentCount()<=0) { view.renderErrorMessage("Could not start learning. No Examples where available"); } else{ - view.renderErrorMessage("Learning started"); + model.setKnowledgeSource(); + model.setReasoner(); + model.setPositiveAndNegativeExamples(); + model.setLearningProblem(); + model.setLearningAlgorithm(); this.dlLearner = new Thread(model); + dlLearner.start(); view.getRunButton().setEnabled(false); view.getCancelButton().setEnabled(true); - dlLearner.start(); + view.renderErrorMessage("Learning started"); + view.getPosAndNegSelectPanel().unsetCheckBoxes(); } } @@ -93,7 +97,7 @@ if(z.getActionCommand().equals("ADD")) { - model.changeDLLearnerDescriptionsToOWLDescriptions((Description)sugPanel.getSuggestList().getSelectedValue()); + model.changeDLLearnerDescriptionsToOWLDescriptions((Description)view.getSuggestClassPanel().getSuggestList().getSelectedValue()); String message ="Concept added"; view.renderErrorMessage(message); } @@ -103,13 +107,13 @@ if(z.getSource().toString().contains("PosHelpButton")) { String hilfe="A Instance that follows from the classdescription.\nPer Default all that belongs to the class."; - view.renderHelpMessage(hilfe); + view.getPosAndNegSelectPanel().renderHelpMessage(hilfe); } if(z.getSource().toString().contains("NegHelpButton")) { String hilfe="A Instance tht doesn't follow from the classdescription."; - view.renderHelpMessage(hilfe); + view.getPosAndNegSelectPanel().renderHelpMessage(hilfe); } @@ -142,7 +146,44 @@ */ public void itemStateChanged(ItemEvent i) { - //System.out.println(i.getItem()); + if(i.getItem().toString().contains("Positive")) + { + for(int j = 0;j < model.getPosVector().size(); j++) + { + if(i.getItem().toString().contains(model.getPosVector().get(j).getText().toString())) + { + if(!model.getPosVector().get(j).isSelected()) + { + model.getPosVector().get(j).setSelected(true); + break; + } + if(model.getPosVector().get(j).isSelected()) + { + model.getPosVector().get(j).setSelected(false); + break; + } + } + } + } + if(i.getItem().toString().contains("Negative")) + { + for(int j = 0;j < model.getNegVector().size(); j++) + { + if(i.getItem().toString().contains(model.getNegVector().get(j).getText().toString())) + { + if(!model.getNegVector().get(j).isSelected()) + { + model.getNegVector().get(j).setSelected(true); + break; + } + if(model.getNegVector().get(j).isSelected()) + { + model.getNegVector().get(j).setSelected(false); + break; + } + } + } + } } /** * @@ -186,10 +227,10 @@ * * @param t */ - public void textValueChanged(TextEvent 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-06-14 11:20:56 UTC (rev 960) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-14 15:49:20 UTC (rev 961) @@ -244,11 +244,13 @@ { if(positiv.get(i).isSelected()) { + System.out.println("blub"); positiveExamples.add(positiv.get(i).getText()); } if(negativ.get(i).isSelected()) { + System.out.println("bla"); negativeExamples.add(negativ.get(i).getText()); } } @@ -355,17 +357,15 @@ public void run() { error = "Learning succesful"; - setKnowledgeSource(); - setReasoner(); - setPositiveAndNegativeExamples(); - setLearningProblem(); - setLearningAlgorithm(); // start the algorithm and print the best concept found la.start(); description = new Description[la.getBestSolutions(anzahl).size()]; addToListModel(); view.renderErrorMessage(error); - view.draw(); + view.getRunButton().setEnabled(true); + //view.getPosAndNegSelectPanel().unsetCheckBoxes(); + view.getCancelButton().setEnabled(false); + view.getSuggestClassPanel().setSuggestList(suggestModel); } /** @@ -408,7 +408,7 @@ * This method gets an uri for an ontology and loads it. * @param uri Uri for the Ontology */ - public void loadOntology(URI uri) + /*public void loadOntology(URI uri) { OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); try{ @@ -418,7 +418,7 @@ { System.out.println("Can't create Ontology: "+ e); } - } + }*/ /** * This method sets the check boxes for the positive check boxes checked @@ -432,14 +432,20 @@ String ind = j.next().toString(); if(setPositivExamplesChecked(ind)) { - positiv.add(new JCheckBox(ind.toString(),true)); + JCheckBox box = new JCheckBox(ind.toString(),true); + box.setName("Positive"); + positiv.add(box); } else { - positiv.add(new JCheckBox(ind.toString(),false)); + JCheckBox box = new JCheckBox(ind.toString(),false); + box.setName("Positive"); + positiv.add(box); } - negativ.add(new JCheckBox(ind.toString())); + JCheckBox box = new JCheckBox(ind.toString(),false); + box.setName("Negative"); + negativ.add(box); } } @@ -518,7 +524,7 @@ * This method returns the physical uri of the ontology which is currently loaded in protege. * @return pysical uri of the loaded ontology */ - public String getUri() + /*public String getUri() { char[] test = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()).toString().toCharArray(); String uri=""; @@ -527,7 +533,7 @@ uri=uri+test[i]; } return uri; - } + }*/ /** * This method gets an array of concepts from the DL-Learner and stores it Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-14 11:20:56 UTC (rev 960) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-14 15:49:20 UTC (rev 961) @@ -262,7 +262,7 @@ /** * */ - private JLabel pos; + // private JLabel pos; /** * */ @@ -290,20 +290,20 @@ /** * */ - private JPanel option; + //private JPanel option; /** * */ - private JLabel neg; + // private JLabel neg; /** * */ - private JDialog hilfe; + //private JDialog hilfe; /** * */ - private JTextArea help; + //private JTextArea help; /** * */ @@ -311,15 +311,14 @@ /** * */ - private JScrollPane scrollPane; + //private JScrollPane scrollPane; /** * */ private final Color Color_RED = Color.red; /** * - */ - private final Color COLOR_BLACK = Color.black; + */; /** * */ @@ -327,19 +326,19 @@ /** * */ - private JPanel posLabelPanel; + // private JPanel posLabelPanel; /** * */ - private JPanel negLabelPanel; + //private JPanel negLabelPanel; /** * */ - private JButton helpForPosExamples; + //private JButton helpForPosExamples; /** * */ - private JButton helpForNegExamples; + //private JButton helpForNegExamples; /** * */ @@ -359,12 +358,14 @@ /** * */ - private DefaultListModel descriptions; + //private DefaultListModel descriptions; /** * * @return */ private SuggestClassPanel sugPanel; + private PosAndNegSelectPanel posPanel; + private ImageIcon icon; public DLLearnerViewPanel getDLLearnerViewPanel() { return panel; @@ -376,59 +377,54 @@ */ public DLLearnerView(OWLFrame<OWLClass> aktuell,String label){ editor = editorKit; + icon = new ImageIcon("pfeil.gif"); + icon.getImage(); model = new DLLearnerModel(editorKit,aktuell, label,this); - model.loadOntology(getUri()); - posLabelPanel = new JPanel(); - negLabelPanel = new JPanel(); + //model.loadOntology(getUri()); panel = new DLLearnerViewPanel(editor); sugPanel = new SuggestClassPanel(); - action = new ActionHandler(this.action, model,this,label,sugPanel); - helpForPosExamples = new JButton("?"); - helpForPosExamples.setSize(10, 10); + action = new ActionHandler(this.action, model,this,label); adv = new JLabel("Advanced"); - helpForNegExamples = new JButton("?"); - helpForNegExamples.setSize(10, 10); - advanced = new JToggleButton(); + advanced = new JToggleButton(icon); run = new JButton("Suggest "+label); cancel = new JButton("Cancel"); accept = new JButton("ADD"); sugPanel.addSuggestPanelMouseListener(action); - option = new JPanel(new GridLayout(0,2)); - scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); errorMessage = new JLabel(); learner = new JPanel(); advanced.setSize(20,20); learner.setLayout(null); learner.setPreferredSize(new Dimension(600, 520)); - pos = new JLabel("Positive Examples"); - neg = new JLabel("Negative Examples"); accept.setPreferredSize(new Dimension(290,50)); - posLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); - negLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); - posLabelPanel.add(pos); advanced.setName("Advanced"); - helpForPosExamples.setName("PosHelpButton"); - posLabelPanel.add(helpForPosExamples); - negLabelPanel.add(neg); - helpForNegExamples.setName("NegHelpButton"); - negLabelPanel.add(helpForNegExamples); + posPanel = new PosAndNegSelectPanel(model,action); addAcceptButtonListener(this.action); addRunButtonListener(this.action); addCancelButtonListener(this.action); - addHelpButtonListener(this.action); addAdvancedButtonListener(this.action); + } + + public SuggestClassPanel getSuggestClassPanel() + { + return sugPanel; + } + + public PosAndNegSelectPanel getPosAndNegSelectPanel() + { + return posPanel; + } /** * */ public void makeView() { - model.clearVector(); + model.clearVector(); model.unsetListModel(); model.initReasoner(); model.setPosVector(); - setJCheckBoxen(); + posPanel.setJCheckBoxen(); cancel.setEnabled(false); accept.setEnabled(false); action.resetToggled(); @@ -440,8 +436,8 @@ run.setBounds(10,0,200,30); advanced.setBounds(10,200,20,20); sugPanel.setVisible(true); - scrollPane.setViewportView(option); - scrollPane.setBounds(10, 230, 490, 250); + posPanel.setVisible(false); + posPanel.setBounds(10, 230, 490, 250); cancel.setBounds(260,0,200,30); accept.setBounds(510,40,80,110); errorMessage.setBounds(10,160,590,20); @@ -452,11 +448,15 @@ learner.add(sugPanel); learner.add(accept); learner.add(errorMessage); - learner.add(scrollPane); - scrollPane.setVisible(false); + learner.add(posPanel); + posPanel.addHelpButtonListener(action); add(learner); - addListener(); } + + public void setArrowForToggleButton() + { + + } /** * * @return @@ -471,7 +471,7 @@ */ public void setExamplePanelVisible(boolean visible) { - scrollPane.setVisible(visible); + posPanel.setVisible(visible); } /** * @@ -479,7 +479,7 @@ */ public JPanel getOptionPanel() { - return option; + return null; } /** * @@ -489,37 +489,16 @@ { return accept; } + /** * - * @param helfen - */ - public void renderHelpMessage(String helfen) - { - JScrollPane scrollHelp = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - - help = new JTextArea(); - hilfe = new JDialog(); - help.setEditable(false); - hilfe.setName("Hilfe"); - hilfe.setSize(300,100); - hilfe.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); - hilfe.setVisible(true); - hilfe.setResizable(false); - help.setForeground(COLOR_BLACK); - help.setText("Help: "+helfen); - scrollHelp.setViewportView(help); - scrollHelp.setBounds(0, 0, 300, 100); - hilfe.add(scrollHelp); - } - /** - * * @return */ - public URI getUri() + /*public URI getUri() { URI uri = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()); return uri; - } + }*/ /** * * @return @@ -541,26 +520,18 @@ * */ private void setJCheckBoxen() - { - option.add(posLabelPanel); - option.add(negLabelPanel); - for(int j=0; j<model.getPosVector().size();j++) - { - option.add(model.getPositivJCheckBox(j)); - option.add(model.getNegativJCheckBox(j)); - } - + { } /** * */ public void unsetEverything() { - option.removeAll(); run.setEnabled(true); model.unsetNewConcepts(); action.destroyDLLearnerThread(); errorMessage.setText(""); + posPanel.unsetPosAndNegPanel(); learner.removeAll(); } /** @@ -572,41 +543,14 @@ errorMessage.setForeground(Color_RED); errorMessage.setText(s); } + /** * */ - private void addListener() + public void setDescriptionList(DefaultListModel model) { - for(int i=0;i<model.getPosVector().size();i++) - { - model.getPositivJCheckBox(i).addItemListener(action); - model.getNegativJCheckBox(i).addItemListener(action); - } - + //this.descriptions = model; } - /** - * - * @param m - * @param c - */ - public void update(Observable m,Object c) - { - if( model != m) return; - //draw(); - } - /** - * - */ - protected void draw() - { - run.setEnabled(true); - cancel.setEnabled(false); - descriptions = model.getSuggestList(); - sugPanel.setSuggestList(descriptions); - model.unsetJCheckBoxen(); - option.removeAll(); - setJCheckBoxen(); - } /** * @@ -668,8 +612,8 @@ */ public void addHelpButtonListener(ActionListener a) { - helpForPosExamples.addActionListener(a); - helpForNegExamples.addActionListener(a); + //helpForPosExamples.addActionListener(a); + //helpForNegExamples.addActionListener(a); } /** * Added: trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java 2008-06-14 15:49:20 UTC (rev 961) @@ -0,0 +1,129 @@ +package org.dllearner.tools.protege; + +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.WindowConstants; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.GridLayout; + + +public class PosAndNegSelectPanel extends JPanel{ + + private static final long serialVersionUID = 23632947283479L; + private JPanel posAndNegPanel; + private JPanel posAndNegSelectPanel; + private DLLearnerModel model; + private JScrollPane scrollPanel; + private JLabel pos; + private JLabel neg; + private JPanel posLabelPanel; + private JPanel negLabelPanel; + private JButton helpForPosExamples; + private JButton helpForNegExamples; + private JTextArea help; + private JDialog hilfe; + private final Color COLOR_BLACK = Color.black; + + public PosAndNegSelectPanel(DLLearnerModel model,ActionHandler action) + { + super(); + pos = new JLabel("Positive Examples"); + neg = new JLabel("Negative Examples"); + helpForPosExamples = new JButton("?"); + helpForPosExamples.setSize(10, 10); + helpForNegExamples = new JButton("?"); + helpForNegExamples.setSize(10, 10); + posLabelPanel = new JPanel(); + negLabelPanel = new JPanel(); + posLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); + negLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); + helpForPosExamples.setName("PosHelpButton"); + posLabelPanel.add(pos); + posLabelPanel.add(helpForPosExamples); + helpForNegExamples.setName("NegHelpButton"); + negLabelPanel.add(neg); + negLabelPanel.add(helpForNegExamples); + this.model = model; + posAndNegSelectPanel = new JPanel(new GridLayout(0,2)); + + model.clearVector(); + model.unsetListModel(); + model.initReasoner(); + model.setPosVector(); + //setJCheckBoxen(); + posAndNegPanel = new JPanel(new GridLayout(0,1)); + posAndNegPanel.add(posAndNegSelectPanel); + scrollPanel = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scrollPanel.setViewportView(posAndNegPanel); + scrollPanel.setPreferredSize(new Dimension(490,248)); + add(scrollPanel); + addListeners(action); + } + + public void setJCheckBoxen() + { + posAndNegSelectPanel.add(posLabelPanel); + posAndNegSelectPanel.add(negLabelPanel); + for(int j=0; j<model.getPosVector().size();j++) + { + posAndNegSelectPanel.add(model.getPositivJCheckBox(j)); + posAndNegSelectPanel.add(model.getNegativJCheckBox(j)); + } + + } + public void unsetPosAndNegPanel() + { + posAndNegSelectPanel.removeAll(); + } + public void addListeners(ActionHandler action) + { + for(int i=0;i<model.getPosVector().size();i++) + { + model.getPositivJCheckBox(i).addItemListener(action); + model.getNegativJCheckBox(i).addItemListener(action); + } + + } + public JPanel getPosAndNegSelectPanel() + { + return posAndNegSelectPanel; + } + + public void unsetCheckBoxes() + { + model.unsetJCheckBoxen(); + } + + public void renderHelpMessage(String helfen) + { + JScrollPane scrollHelp = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + + help = new JTextArea(); + hilfe = new JDialog(); + help.setEditable(false); + hilfe.setName("Hilfe"); + hilfe.setSize(300,100); + hilfe.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + hilfe.setVisible(true); + hilfe.setResizable(false); + help.setForeground(COLOR_BLACK); + help.setText("Help: "+helfen); + scrollHelp.setViewportView(help); + scrollHelp.setBounds(0, 0, 300, 100); + hilfe.add(scrollHelp); + } + + public void addHelpButtonListener(ActionHandler a) + { + helpForPosExamples.addActionListener(a); + helpForNegExamples.addActionListener(a); + } + +} Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2008-06-14 11:20:56 UTC (rev 960) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2008-06-14 15:49:20 UTC (rev 961) @@ -3,9 +3,7 @@ import java.awt.Dimension; import javax.swing.*; -import javax.swing.event.ListSelectionListener; -import org.dllearner.core.owl.Description; public class SuggestClassPanel extends JPanel { @@ -26,7 +24,7 @@ suggestPanel = new JPanel(); descriptions.setVisible(true); suggestPanel.add(descriptions); - suggestScroll.setPreferredSize(new Dimension(490,110)); + suggestScroll.setPreferredSize(new Dimension(490,108)); suggestScroll.setViewportView(descriptions); add(suggestScroll); } @@ -34,12 +32,6 @@ public SuggestClassPanel updateSuggestClassList() { - //JPanel suggestPanel1 = new JPanel(); - - //suggestScroll.setViewportView(suggestPanel1); - //descriptions = new JList(desc); - //descriptions.setVisible(true); - //suggestScroll.add(descriptions); add(suggestScroll); return this; Added: trunk/src/dl-learner/org/dllearner/tools/protege/pfeil.gif =================================================================== (Binary files differ) Property changes on: trunk/src/dl-learner/org/dllearner/tools/protege/pfeil.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-06-15 13:46:36
|
Revision: 962 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=962&view=rev Author: heeroyuy Date: 2008-06-15 06:46:32 -0700 (Sun, 15 Jun 2008) Log Message: ----------- -add picture for advanced button -continued to comment 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/OWLClassDescriptionEditorWithDLLearnerTab.java trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-14 15:49:20 UTC (rev 961) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-15 13:46:32 UTC (rev 962) @@ -1,15 +1,13 @@ package org.dllearner.tools.protege; - - -//import java.awt.event.*; import java.awt.event.ActionListener; import java.awt.event.ItemListener; import java.awt.event.MouseListener; import java.awt.event.ActionEvent; import java.awt.event.ItemEvent; import java.awt.event.MouseEvent; -import java.awt.event.TextEvent; +import javax.swing.event.ListSelectionListener; +import javax.swing.event.ListSelectionEvent; import org.dllearner.core.owl.Description; /** @@ -17,33 +15,34 @@ * @author Heero Yuy * */ -public class ActionHandler implements ActionListener, ItemListener, MouseListener{ +public class ActionHandler implements ActionListener, ItemListener, MouseListener, ListSelectionListener{ /** - * + * This is the DLLearnerModel. */ private DLLearnerModel model; /** - * + * This is the id that checks if the equivalent class or subclass button is + * pressed in protege */ private String id; /** - * + * this is a boolean that checked if the advanced button was pressed or not. */ private boolean toggled; /** - * + * This is the Tread of the DL-Learner */ private Thread dlLearner; /** - * + * This is the view of the DL-Learner tab. */ private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; /** - * - * @param a - * @param m - * @param view - * @param i + * This is the constructor for the action handler + * @param a ActionHandler + * @param m DLLearnerModel + * @param view DLlearner tab + * @param i id if it is a subclass oran equivalent class */ public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i) { @@ -65,7 +64,7 @@ { model.unsetListModel(); } - if(view.getPosAndNegSelectPanel().getPosAndNegSelectPanel().getComponentCount()<=0) + if(view.getPosAndNegSelectPanel().getPosAndNegSelectPanel().getComponentCount()<=2) { view.renderErrorMessage("Could not start learning. No Examples where available"); } @@ -185,6 +184,11 @@ } } } + + public void valueChanged(ListSelectionEvent e) + { + + } /** * */ Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-14 15:49:20 UTC (rev 961) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-15 13:46:32 UTC (rev 962) @@ -11,8 +11,6 @@ import javax.swing.DefaultListModel; import javax.swing.JCheckBox; -import java.net.URI; - import org.dllearner.algorithms.refinement.ROLearner; import org.dllearner.algorithms.SimpleSuggestionLearningAlgorithm; @@ -39,23 +37,25 @@ import org.protege.editor.owl.OWLEditorKit; import org.protege.editor.owl.ui.frame.OWLFrame; +import org.semanticweb.owl.io.RDFXMLOntologyFormat; import org.semanticweb.owl.apibinding.OWLManager; import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLOntologyChangeException; import org.semanticweb.owl.model.OWLOntologyCreationException; +import org.semanticweb.owl.model.OWLOntologyStorageException; import org.semanticweb.owl.model.AddAxiom; import org.semanticweb.owl.model.OWLOntologyFormat; import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLDataFactory; - import org.semanticweb.owl.model.OWLOntology; import org.semanticweb.owl.model.OWLOntologyManager; import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.UnknownOWLOntologyException; - /** * This Class provides the necessary methods to learn Concepts from the DL-Learner. * @author Heero Yuy @@ -176,7 +176,10 @@ * */ private String error; - + /** + * + */ + private OWLAxiom axiomOWLAPI; /** * This is the constructor for DL-Learner model @@ -244,13 +247,11 @@ { if(positiv.get(i).isSelected()) { - System.out.println("blub"); positiveExamples.add(positiv.get(i).getText()); } if(negativ.get(i).isSelected()) { - System.out.println("bla"); negativeExamples.add(negativ.get(i).getText()); } } @@ -281,14 +282,6 @@ public void setKnowledgeSource() { this.source = new OWLAPIOntology(editor.getOWLModelManager().getActiveOntology()); - /*String uri=getUri(); - cm.applyConfigEntry(source, "url", new File(uri).toURI().toString()); - try{ - source.init(); - } - catch(ComponentInitException e){ - e.printStackTrace(); - }*/ } /** @@ -405,22 +398,6 @@ } /** - * This method gets an uri for an ontology and loads it. - * @param uri Uri for the Ontology - */ - /*public void loadOntology(URI uri) - { - OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); - try{ - ontology = manager.loadOntology(uri); - } - catch(OWLOntologyCreationException e) - { - System.out.println("Can't create Ontology: "+ e); - } - }*/ - - /** * This method sets the check boxes for the positive check boxes checked * if the individuals matches the concept that is chosen in protege. */ @@ -495,17 +472,6 @@ { isChecked = true; } - /*for(Iterator<Individual> j = individual.iterator(); j.hasNext();) - { - String indi1 = j.next().getName(); - System.out.println("Individuals: "+ indi1); - if(indi1.toString().equals(indi.toString())) - { - System.out.println(indi); - isChecked = true; - break; - } - }*/ return isChecked; } @@ -521,21 +487,6 @@ } /** - * This method returns the physical uri of the ontology which is currently loaded in protege. - * @return pysical uri of the loaded ontology - */ - /*public String getUri() - { - char[] test = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()).toString().toCharArray(); - String uri=""; - for(int i =6; i<test.length;i++) - { - uri=uri+test[i]; - } - return uri; - }*/ - - /** * This method gets an array of concepts from the DL-Learner and stores it * in the description array. * @param list Array of concepts from DL-Learner @@ -714,29 +665,18 @@ OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); OWLDataFactory factory = manager.getOWLDataFactory(); - System.out.println("Manager: "+manager); - OWLAxiom axiomOWLAPI = factory.getOWLEquivalentClassesAxiom(ds); - OWLOntologyFormat format = new OWLOntologyFormat(); - format = manager.getOntologyFormat(ontology); + + axiomOWLAPI = factory.getOWLEquivalentClassesAxiom(ds); + OWLOntology ontology = editor.getOWLModelManager().getActiveOntology(); - System.out.println("Format: "+format); AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); - /*try { + try { manager.applyChange(axiom); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - try { - manager.saveOntology(ontology,new RDFXMLOntologyFormat(),editor.getOWLModelManager().getActiveOntology().getURI()); - } catch (UnknownOWLOntologyException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (OWLOntologyStorageException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - }*/ } /** @@ -749,11 +689,13 @@ } /** - * - * @return + * This method gets the status if the DL-Learner has already learned. + * It is only for reseting the suggest panel. + * @return boolean if the learner has already learned */ public boolean getAlreadyLearned() { return alreadyLearned; } - } \ No newline at end of file + +} \ No newline at end of file Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-14 15:49:20 UTC (rev 961) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-15 13:46:32 UTC (rev 962) @@ -23,7 +23,6 @@ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.net.URI; import java.util.*; import java.util.List; @@ -54,6 +53,7 @@ private JTabbedPane tabbedPane; private DLLearnerView dllearner; + private ActionHandler action; private OWLClassSelectorPanel classSelectorPanel; @@ -92,8 +92,8 @@ editor = new ExpressionEditor<OWLDescription>(editorKit, checker); dllearner = new DLLearnerView(frame,label); editor.setExpressionObject(description); + action = new ActionHandler(this.action,null,dllearner,null); editor.getDocument().addDocumentListener(editorListener); - tabbedPane = new JTabbedPane(); tabbedPane.setFocusable(false); if(label.equals("Equivalent classes")) @@ -122,7 +122,6 @@ tabbedPane.add(RESTRICTION_CREATOR_LABEL, restrictionCreatorPanel); restrictionCreatorPanel.classSelectorPanel.addSelectionListener(changeListener); restrictionCreatorPanel.objectPropertySelectorPanel.addSelectionListener(changeListener); - //dllearner.DLLearnerViewPanel.addChangeListener(changeListener); tabbedPane.addChangeListener(changeListener); } @@ -151,10 +150,10 @@ restrictionCreatorPanel.objectPropertySelectorPanel.getSelectedOWLObjectProperty() != null; } else if(selectedTabTitle.equals(SUGGEST_EQUIVALENT_CLASS_LABEL)){ - validated = dllearner.getSollution()!= null; + validated = true; } else if(selectedTabTitle.equals(SUGGEST_SUBCLASS_LABEL)){ - validated = dllearner.getSollution()!= null; + validated = true; } return validated; } @@ -180,11 +179,11 @@ System.out.println("Und jetzt bin ich hier :-)"); dllearner.unsetEverything(); dllearner.makeView(); + handleVerifyEditorContents(); initialDescription = null; editor.setText(""); } - @Override public Set<OWLDescription> getEditedObjects() { if (tabbedPane.getSelectedComponent() == classSelectorPanel) { @@ -195,6 +194,7 @@ } else if(tabbedPane.getSelectedComponent() == dllearner){ System.out.println("die loesungen:"+dllearner.getSollutions()); + return dllearner.getSollutions(); } return super.getEditedObjects(); @@ -262,10 +262,6 @@ /** * */ - // private JLabel pos; - /** - * - */ private final static long serialVersionUID = 624829578325729385L; /** * @@ -290,58 +286,18 @@ /** * */ - //private JPanel option; - - /** - * - */ - // private JLabel neg; - /** - * - */ - //private JDialog hilfe; - /** - * - */ - //private JTextArea help; - /** - * - */ private JLabel adv; /** * */ - //private JScrollPane scrollPane; - /** - * - */ private final Color Color_RED = Color.red; /** * - */; - /** - * */ private JButton cancel; /** * */ - // private JPanel posLabelPanel; - /** - * - */ - //private JPanel negLabelPanel; - /** - * - */ - //private JButton helpForPosExamples; - /** - * - */ - //private JButton helpForNegExamples; - /** - * - */ private JLabel errorMessage; /** * @@ -358,14 +314,14 @@ /** * */ - //private DefaultListModel descriptions; + + private SuggestClassPanel sugPanel; + private PosAndNegSelectPanel posPanel; + private ImageIcon icon; /** * * @return */ - private SuggestClassPanel sugPanel; - private PosAndNegSelectPanel posPanel; - private ImageIcon icon; public DLLearnerViewPanel getDLLearnerViewPanel() { return panel; @@ -377,15 +333,17 @@ */ public DLLearnerView(OWLFrame<OWLClass> aktuell,String label){ editor = editorKit; - icon = new ImageIcon("pfeil.gif"); - icon.getImage(); + classSelectorPanel = new OWLClassSelectorPanel(editorKit); + classSelectorPanel.firePropertyChange("test", false, true); + icon = new ImageIcon(OWLClassDescriptionEditorWithDLLearnerTab.class.getResource("/bilder/org/dllearner/tools/protege/pfeil.gif")); model = new DLLearnerModel(editorKit,aktuell, label,this); - //model.loadOntology(getUri()); panel = new DLLearnerViewPanel(editor); sugPanel = new SuggestClassPanel(); action = new ActionHandler(this.action, model,this,label); adv = new JLabel("Advanced"); advanced = new JToggleButton(icon); + advanced.setIcon(icon); + advanced.setVisible(true); run = new JButton("Suggest "+label); cancel = new JButton("Cancel"); accept = new JButton("ADD"); @@ -494,17 +452,9 @@ * * @return */ - /*public URI getUri() - { - URI uri = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()); - return uri; - }*/ - /** - * - * @return - */ public Set<OWLDescription> getSollutions() { + return model.getNewOWLDescription(); } /** @@ -516,12 +466,7 @@ System.out.println(model.getSolution()); return model.getSolution(); } - /** - * - */ - private void setJCheckBoxen() - { - } + /** * */ @@ -543,14 +488,6 @@ errorMessage.setForeground(Color_RED); errorMessage.setText(s); } - - /** - * - */ - public void setDescriptionList(DefaultListModel model) - { - //this.descriptions = model; - } /** * @@ -574,18 +511,11 @@ public void dispose() { } + /** * * @param a */ - public void addSuggestListToChangeListener(ActionListener a) - { - - } - /** - * - * @param a - */ public void addRunButtonListener(ActionListener a) { run.addActionListener(a); @@ -610,15 +540,6 @@ * * @param a */ - public void addHelpButtonListener(ActionListener a) - { - //helpForPosExamples.addActionListener(a); - //helpForNegExamples.addActionListener(a); - } - /** - * - * @param a - */ public void addAdvancedButtonListener(ActionListener a) { advanced.addActionListener(a); Modified: trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java 2008-06-14 15:49:20 UTC (rev 961) +++ trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java 2008-06-15 13:46:32 UTC (rev 962) @@ -13,24 +13,71 @@ import java.awt.FlowLayout; import java.awt.GridLayout; - +/** + * This class is the Panel for the Check boxes where the positive and negative + * examples are chosen. + * @author Heero Yuy + * + */ public class PosAndNegSelectPanel extends JPanel{ private static final long serialVersionUID = 23632947283479L; + /** + * This is the Panel here the check boxes, the labels, and the help buttons are in. + */ private JPanel posAndNegPanel; + /** + * this is the Panel where the check boxes are. + */ private JPanel posAndNegSelectPanel; + /** + * This is the DLLearner Model + */ private DLLearnerModel model; + /** + * This is the Scroll pane if there are more Check boxes than the view can show + */ private JScrollPane scrollPanel; + /** + * This is the Label that shows "Positive Examples" + */ private JLabel pos; + /** + * This is the Label that shows "Negative Examples" + */ private JLabel neg; + /** + * This is the Panel where the Label for Positive Examples and + * a help Button is in + */ private JPanel posLabelPanel; + /** + * This is the Panel where the Label for Negative Examples and + * a help Button is in + */ private JPanel negLabelPanel; + /** + * This is the Help button for positive examples + */ private JButton helpForPosExamples; + /** + * This is the Help button for negative examples + */ private JButton helpForNegExamples; + /** + * This is the Text area where the help message is displayed. + */ private JTextArea help; + /** + * This is the frame that pops up when the help button is pressed. + */ private JDialog hilfe; private final Color COLOR_BLACK = Color.black; - + /** + * This is the constructor for the Panel that shows the check boxes. + * @param model DLLearnerModel + * @param action ActionHandler + */ public PosAndNegSelectPanel(DLLearnerModel model,ActionHandler action) { super(); @@ -57,7 +104,6 @@ model.unsetListModel(); model.initReasoner(); model.setPosVector(); - //setJCheckBoxen(); posAndNegPanel = new JPanel(new GridLayout(0,1)); posAndNegPanel.add(posAndNegSelectPanel); scrollPanel = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); @@ -66,7 +112,10 @@ add(scrollPanel); addListeners(action); } - + /** + * This method adds the check boxes, the labels and the help buttons for + * positive and negative examples. + */ public void setJCheckBoxen() { posAndNegSelectPanel.add(posLabelPanel); @@ -78,10 +127,18 @@ } } + /** + * This method removes the Check boxes, the labels and the help buttons + * after the DL-Learner tab is closed. + */ public void unsetPosAndNegPanel() { posAndNegSelectPanel.removeAll(); } + /** + * This method adds the item listener for every check box + * @param action ActionHandler + */ public void addListeners(ActionHandler action) { for(int i=0;i<model.getPosVector().size();i++) @@ -91,16 +148,25 @@ } } + /** + * This method returns the Panel where the check boxes, labels and help buttons are in. + * @return JPanel where check boxes, labels and help buttons are in. + */ public JPanel getPosAndNegSelectPanel() { return posAndNegSelectPanel; } - + /** + * This method unselect the selected check boxes after learning + */ public void unsetCheckBoxes() { model.unsetJCheckBoxen(); } - + /** + * This message displays the help message after the help button is pressed. + * @param helfen hilfenachricht + */ public void renderHelpMessage(String helfen) { JScrollPane scrollHelp = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); @@ -119,7 +185,10 @@ scrollHelp.setBounds(0, 0, 300, 100); hilfe.add(scrollHelp); } - + /** + * This method adds the Action listener to the help buttons. + * @param a ActionHandler + */ public void addHelpButtonListener(ActionHandler a) { helpForPosExamples.addActionListener(a); Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2008-06-14 15:49:20 UTC (rev 961) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2008-06-15 13:46:32 UTC (rev 962) @@ -3,20 +3,45 @@ import java.awt.Dimension; import javax.swing.*; +import javax.swing.event.ChangeListener; - +import org.protege.editor.core.ui.view.ViewComponent; +import org.protege.editor.owl.ui.clshierarchy.ToldOWLClassHierarchyViewComponent; +import org.protege.editor.owl.ui.view.ChangeListenerMediator; +/** + * This class is the panel for the suggest list. + * It shows the descriptions made by the DL-Learner. + * @author Heero Yuy + * + */ public class SuggestClassPanel extends JPanel { private static final long serialVersionUID = 724628423947230L; - + /** + * Description List + */ private JList descriptions; + /** + * Panel for the description list + */ private JPanel suggestPanel; + /** + * Date for the description list + */ private DefaultListModel model; + /** + * Scroll panel if the suggestions are longer than the Panel itself + * + */ private JScrollPane suggestScroll; - + /** + * This is the constructor for the suggest panel. + * It creates a new Scroll panel and puts the Suggest List in it. + */ public SuggestClassPanel() { super(); + suggestScroll = new JScrollPane(); suggestScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); model = new DefaultListModel(); @@ -29,27 +54,45 @@ add(suggestScroll); } - + /** + * this method adds an new Scroll Panel and returns the updated SuggestClassPanel. + * @return updated SuggestClassPanel + */ public SuggestClassPanel updateSuggestClassList() { add(suggestScroll); return this; } + /** + * This method is called after the model for the suggest list is updated. + * + * @param desc List model of descriptions made by the DL-Learner + */ public void setSuggestList(DefaultListModel desc) { descriptions.setModel(desc); } + /** + * This method returns the current Description list. + * @return JList of Descriptions + */ public JList getSuggestList() { return descriptions; } + /** + * this method adds the suggest list to the Mouse Listener. + * @param action ActionHandler + */ public void addSuggestPanelMouseListener(ActionHandler action) { descriptions.addMouseListener(action); + } + } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-06-22 08:56:07
|
Revision: 973 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=973&view=rev Author: heeroyuy Date: 2008-06-20 09:06:47 -0700 (Fri, 20 Jun 2008) Log Message: ----------- -add method to select the right arrow for the advanced button -add the right path for the arrows so that they can be loaded from within the jar archiv 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/OWLClassDescriptionEditorWithDLLearnerTab.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java trunk/src/dl-learner/org/dllearner/tools/protege/pfeil.gif Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/pfeil2.gif Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-18 18:26:41 UTC (rev 972) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-20 16:06:47 UTC (rev 973) @@ -122,11 +122,13 @@ if(!toggled==true) { toggled=true; + view.setIconToggled(toggled); view.setExamplePanelVisible(toggled); } else { toggled=false; + view.setIconToggled(toggled); view.setExamplePanelVisible(toggled); } } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-18 18:26:41 UTC (rev 972) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-20 16:06:47 UTC (rev 973) @@ -37,20 +37,15 @@ import org.protege.editor.owl.OWLEditorKit; import org.protege.editor.owl.ui.frame.OWLFrame; -import org.semanticweb.owl.io.RDFXMLOntologyFormat; import org.semanticweb.owl.apibinding.OWLManager; import org.semanticweb.owl.model.OWLClass; import org.semanticweb.owl.model.OWLOntologyChangeException; -import org.semanticweb.owl.model.OWLOntologyCreationException; -import org.semanticweb.owl.model.OWLOntologyStorageException; import org.semanticweb.owl.model.AddAxiom; -import org.semanticweb.owl.model.OWLOntologyFormat; import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLDataFactory; import org.semanticweb.owl.model.OWLOntology; import org.semanticweb.owl.model.OWLOntologyManager; import org.semanticweb.owl.model.OWLDescription; -import org.semanticweb.owl.model.UnknownOWLOntologyException; Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-18 18:26:41 UTC (rev 972) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-20 16:06:47 UTC (rev 973) @@ -25,6 +25,7 @@ import java.awt.event.ActionListener; import java.util.*; import java.util.List; +import java.net.*; /** @@ -318,6 +319,7 @@ private SuggestClassPanel sugPanel; private PosAndNegSelectPanel posPanel; private ImageIcon icon; + private ImageIcon toggledIcon; /** * * @return @@ -335,14 +337,16 @@ editor = editorKit; classSelectorPanel = new OWLClassSelectorPanel(editorKit); classSelectorPanel.firePropertyChange("test", false, true); - icon = new ImageIcon(OWLClassDescriptionEditorWithDLLearnerTab.class.getResource("/bilder/org/dllearner/tools/protege/pfeil.gif")); + URL iconUrl = this.getClass().getResource("pfeil.gif"); + icon = new ImageIcon(iconUrl); + URL toggledIconUrl = this.getClass().getResource("pfeil2.gif"); + toggledIcon = new ImageIcon(toggledIconUrl); model = new DLLearnerModel(editorKit,aktuell, label,this); panel = new DLLearnerViewPanel(editor); sugPanel = new SuggestClassPanel(); action = new ActionHandler(this.action, model,this,label); adv = new JLabel("Advanced"); advanced = new JToggleButton(icon); - advanced.setIcon(icon); advanced.setVisible(true); run = new JButton("Suggest "+label); cancel = new JButton("Cancel"); @@ -378,6 +382,7 @@ */ public void makeView() { + advanced.setIcon(icon); model.clearVector(); model.unsetListModel(); model.initReasoner(); @@ -410,7 +415,17 @@ posPanel.addHelpButtonListener(action); add(learner); } - + public void setIconToggled(boolean toggled) + { + if(toggled == true) + { + advanced.setIcon(toggledIcon); + } + if(toggled == false) + { + advanced.setIcon(icon); + } + } public void setArrowForToggleButton() { Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2008-06-18 18:26:41 UTC (rev 972) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2008-06-20 16:06:47 UTC (rev 973) @@ -3,11 +3,7 @@ import java.awt.Dimension; import javax.swing.*; -import javax.swing.event.ChangeListener; -import org.protege.editor.core.ui.view.ViewComponent; -import org.protege.editor.owl.ui.clshierarchy.ToldOWLClassHierarchyViewComponent; -import org.protege.editor.owl.ui.view.ChangeListenerMediator; /** * This class is the panel for the suggest list. * It shows the descriptions made by the DL-Learner. Modified: trunk/src/dl-learner/org/dllearner/tools/protege/pfeil.gif =================================================================== (Binary files differ) Added: trunk/src/dl-learner/org/dllearner/tools/protege/pfeil2.gif =================================================================== (Binary files differ) Property changes on: trunk/src/dl-learner/org/dllearner/tools/protege/pfeil2.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-07-03 12:01:56
|
Revision: 996 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=996&view=rev Author: heeroyuy Date: 2008-07-03 05:01:50 -0700 (Thu, 03 Jul 2008) Log Message: ----------- -started a panel for more infos for the 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/META-INF/MANIFEST.MF trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/MoreDetailForSuggestedConceptsPanel.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerViewPanel.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-30 14:37:58 UTC (rev 995) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-07-03 12:01:50 UTC (rev 996) @@ -9,13 +9,15 @@ import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionEvent; +import javax.swing.JDialog; + import org.dllearner.core.owl.Description; /** * * @author Heero Yuy * */ -public class ActionHandler implements ActionListener, ItemListener, MouseListener, ListSelectionListener{ +public class ActionHandler implements ActionListener, ItemListener, MouseListener, ListSelectionListener{ /** * This is the DLLearnerModel. */ @@ -37,6 +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 @@ -132,6 +135,10 @@ view.setExamplePanelVisible(toggled); } } + if(z.getActionCommand().equals("Why")) + { + view.getMoreDetailForSuggestedConceptsPanel().renderDetailPanel(model.getEvaluatedDescription()); + } } /** @@ -226,6 +233,7 @@ { if(!view.getAddButton().isEnabled()) { + view.getWhyButton().setEnabled(true); view.getAddButton().setEnabled(true); } } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-30 14:37:58 UTC (rev 995) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-07-03 12:01:50 UTC (rev 996) @@ -1,8 +1,8 @@ package org.dllearner.tools.protege; -import java.util.Observable; import java.util.Set; import java.util.TreeSet; +//import java.util.List; import java.util.Vector; import java.util.HashSet; import java.util.Iterator; @@ -16,6 +16,7 @@ import org.dllearner.core.owl.Description; import org.dllearner.core.KnowledgeSource; +import org.dllearner.core.EvaluatedDescription; import org.dllearner.core.LearningAlgorithm; import org.dllearner.core.LearningProblem; import org.dllearner.core.ComponentManager; @@ -51,12 +52,12 @@ -/** +/**2 * This Class provides the necessary methods to learn Concepts from the DL-Learner. * @author Heero Yuy * */ -public class DLLearnerModel extends Observable implements Runnable{ +public class DLLearnerModel implements Runnable{ /** * The Sting is for components that are available in the DL-Learner */ @@ -175,7 +176,7 @@ * */ private OWLAxiom axiomOWLAPI; - + private EvaluatedDescription evalDescription; /** * This is the constructor for DL-Learner model * @param editorKit @@ -224,9 +225,10 @@ */ private void addToListModel() { + evalDescription = la.getCurrentlyBestEvaluatedDescription(); for(int j = 0;j<la.getCurrentlyBestEvaluatedDescriptions(anzahl).size();j++) { - suggestModel.add(j,la.getCurrentlyBestEvaluatedDescriptions(anzahl).get(j)); + suggestModel.add(j,la.getCurrentlyBestEvaluatedDescriptions(anzahl).get(j).getDescription()); } } @@ -356,7 +358,6 @@ addToListModel(); view.renderErrorMessage(error); view.getRunButton().setEnabled(true); - //view.getPosAndNegSelectPanel().unsetCheckBoxes(); view.getCancelButton().setEnabled(false); view.getSuggestClassPanel().setSuggestList(suggestModel); } @@ -426,6 +427,10 @@ } } + public EvaluatedDescription getEvaluatedDescription() + { + return evalDescription; + } /** * This method resets the Concepts that are learned. */ Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerViewPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerViewPanel.java 2008-06-30 14:37:58 UTC (rev 995) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerViewPanel.java 2008-07-03 12:01:50 UTC (rev 996) @@ -1,43 +0,0 @@ -package org.dllearner.tools.protege; - -import org.protege.editor.core.ui.view.ViewComponent; -import org.protege.editor.core.ui.view.ViewComponentPlugin; -import org.protege.editor.core.ui.view.ViewComponentPluginAdapter; -import org.protege.editor.core.ui.workspace.Workspace; -import org.protege.editor.owl.ui.clshierarchy.ToldOWLClassHierarchyViewComponent; -import org.protege.editor.owl.ui.selector.AbstractSelectorPanel; -import org.protege.editor.owl.OWLEditorKit; - -public class DLLearnerViewPanel extends AbstractSelectorPanel { - - - private ToldOWLClassHierarchyViewComponent viewComponent; - private final static long serialVersionUID = 3546352435L; - public DLLearnerViewPanel(OWLEditorKit editor) - { - super(editor); - } - - @Override - protected ViewComponentPlugin getViewComponentPlugin() { - - return new ViewComponentPluginAdapter() { - public String getLabel() { - return "OWL Asserted Class Hierarchy"; - } - - - public Workspace getWorkspace() { - return getOWLEditorKit().getOWLWorkspace(); - } - - - public ViewComponent newInstance() throws ClassNotFoundException, IllegalAccessException, - InstantiationException { - viewComponent = new ToldOWLClassHierarchyViewComponent(); - viewComponent.setup(this); - return viewComponent; - } - -}; - }} Modified: trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-06-30 14:37:58 UTC (rev 995) +++ trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-07-03 12:01:50 UTC (rev 996) @@ -6,7 +6,7 @@ Bundle-Description: blablabla Bundle-Vendor: blablabla Bundle-DocURL: blablabla -Bundle-ClassPath: .,lib/junit-4.4.jar,lib/pellet/pellet.jar,lib/pellet/aterm-java-1.6.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.jar +Bundle-ClassPath: .,lib/junit-4.4.jar,lib/pellet/pellet.jar,lib/pellet/aterm-java-1.6.jar,lib/jena/json.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.jar Import-Package: org.osgi.framework,org.apache.log4j Export-Package: lib Bundle-Version: 1.0.0 Added: trunk/src/dl-learner/org/dllearner/tools/protege/MoreDetailForSuggestedConceptsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/MoreDetailForSuggestedConceptsPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/MoreDetailForSuggestedConceptsPanel.java 2008-07-03 12:01:50 UTC (rev 996) @@ -0,0 +1,72 @@ +package org.dllearner.tools.protege; +import java.util.Iterator; +import java.util.Set; + +import javax.swing.JPanel; +import javax.swing.JLabel; +import javax.swing.JScrollPane; +import javax.swing.JDialog; + +import java.awt.GridLayout; + +import org.dllearner.core.EvaluatedDescription; + +import org.dllearner.core.owl.Individual; +public class MoreDetailForSuggestedConceptsPanel extends JPanel{ + + private static final long serialVersionUID = 785272797932584581L; + + private DLLearnerModel model; + + private JLabel accuracy; + private JPanel accuracyPanel; + private JPanel coveredExamplesPanel; + + private JLabel coveredExamples; + + private JDialog detailPopup; + + private JScrollPane detailScroll; + + private JPanel detailPanel; + private EvaluatedDescription evalDescription; + public MoreDetailForSuggestedConceptsPanel(DLLearnerModel model) + { + this.model = model; + } + + public JDialog getMoreDialog() + { + return detailPopup; + } + + public JScrollPane getDetailScrollPane() + { + return detailScroll; + } + + public void renderDetailPanel(EvaluatedDescription eval) + { + this.evalDescription = eval; + accuracy = new JLabel("Accuracy:"); + coveredExamples = new JLabel("Covered Examples:"); + detailPopup = new JDialog(); + detailPopup.setSize(300, 300); + accuracyPanel = new JPanel(new GridLayout(0,1)); + coveredExamplesPanel = new JPanel(new GridLayout(0,1)); + 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();) + { + coveredExamplesPanel.add(new JLabel(i.next().toString())); + } + detailPanel.add(accuracy); + detailPanel.add(accuracyPanel); + detailPanel.add(coveredExamples); + detailPanel.add(coveredExamplesPanel); + 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-06-30 14:37:58 UTC (rev 995) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-07-03 12:01:50 UTC (rev 996) @@ -261,10 +261,6 @@ * */ private final static long serialVersionUID = 624829578325729385L; - /** - * - */ - private DLLearnerViewPanel panel; /** * */ @@ -280,7 +276,7 @@ /** * */ - private OWLEditorKit editor; + /** * */ @@ -312,26 +308,31 @@ /** * */ - private SuggestClassPanel sugPanel; + /** + * + */ private PosAndNegSelectPanel posPanel; + /** + * + */ private ImageIcon icon; + /** + * + */ private ImageIcon toggledIcon; /** * - * @return */ - public DLLearnerViewPanel getDLLearnerViewPanel() - { - return panel; - } + private JButton why; + private MoreDetailForSuggestedConceptsPanel detail; /** * The constructor for the DL-Learner tab in the class description editor * @param aktuell * @param label */ - public DLLearnerView(OWLFrame<OWLClass> aktuell,String label){ - editor = editorKit; + public DLLearnerView(OWLFrame<OWLClass> aktuell,String label) + { classSelectorPanel = new OWLClassSelectorPanel(editorKit); classSelectorPanel.firePropertyChange("test", false, true); URL iconUrl = this.getClass().getResource("pfeil.gif"); @@ -339,7 +340,6 @@ URL toggledIconUrl = this.getClass().getResource("pfeil2.gif"); toggledIcon = new ImageIcon(toggledIconUrl); model = new DLLearnerModel(editorKit,aktuell, label,this); - panel = new DLLearnerViewPanel(editor); sugPanel = new SuggestClassPanel(); action = new ActionHandler(this.action, model,this,label); adv = new JLabel("Advanced"); @@ -348,6 +348,7 @@ run = new JButton("Suggest "+label); cancel = new JButton("Cancel"); accept = new JButton("ADD"); + why = new JButton("Why"); sugPanel.addSuggestPanelMouseListener(action); errorMessage = new JLabel(); learner = new JPanel(); @@ -361,6 +362,7 @@ addRunButtonListener(this.action); addCancelButtonListener(this.action); addAdvancedButtonListener(this.action); + addWhyButtonListener(this.action); } @@ -379,6 +381,7 @@ */ public void makeView() { + why.setEnabled(false); advanced.setIcon(icon); model.clearVector(); model.unsetListModel(); @@ -390,6 +393,7 @@ action.resetToggled(); sugPanel.setSuggestList(model.getSuggestList()); sugPanel = sugPanel.updateSuggestClassList(); + why.setBounds(10,160,200,30); advanced.setSelected(false); sugPanel.setBounds(10,40,490,110); adv.setBounds(40,200,200,20); @@ -400,9 +404,10 @@ posPanel.setBounds(10, 230, 490, 250); cancel.setBounds(260,0,200,30); accept.setBounds(510,40,80,110); - errorMessage.setBounds(10,160,590,20); + errorMessage.setBounds(220,160,300,20); learner.add(run); learner.add(adv); + learner.add(why); learner.add(advanced); learner.add(cancel); learner.add(sugPanel); @@ -410,6 +415,7 @@ learner.add(errorMessage); learner.add(posPanel); posPanel.addHelpButtonListener(action); + detail = new MoreDetailForSuggestedConceptsPanel(model); add(learner); } public void setIconToggled(boolean toggled) @@ -423,10 +429,7 @@ advanced.setIcon(icon); } } - public void setArrowForToggleButton() - { - - } + /** * * @return @@ -435,6 +438,11 @@ { return learner; } + + public JButton getWhyButton() + { + return why; + } /** * * @param visible @@ -500,6 +508,10 @@ errorMessage.setText(s); } + public MoreDetailForSuggestedConceptsPanel getMoreDetailForSuggestedConceptsPanel() + { + return detail; + } /** * * @return @@ -522,7 +534,11 @@ public void dispose() { } - + + public void addWhyButtonListener(ActionListener a) + { + why.addActionListener(a); + } /** * * @param a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |