You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(120) |
Sep
(36) |
Oct
(116) |
Nov
(17) |
Dec
(44) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(143) |
Feb
(192) |
Mar
(74) |
Apr
(84) |
May
(105) |
Jun
(64) |
Jul
(49) |
Aug
(120) |
Sep
(159) |
Oct
(156) |
Nov
(51) |
Dec
(28) |
2009 |
Jan
(17) |
Feb
(55) |
Mar
(33) |
Apr
(57) |
May
(54) |
Jun
(28) |
Jul
(6) |
Aug
(16) |
Sep
(38) |
Oct
(30) |
Nov
(26) |
Dec
(52) |
2010 |
Jan
(7) |
Feb
(91) |
Mar
(65) |
Apr
(2) |
May
(14) |
Jun
(25) |
Jul
(38) |
Aug
(48) |
Sep
(80) |
Oct
(70) |
Nov
(75) |
Dec
(77) |
2011 |
Jan
(68) |
Feb
(53) |
Mar
(51) |
Apr
(35) |
May
(65) |
Jun
(101) |
Jul
(29) |
Aug
(230) |
Sep
(95) |
Oct
(49) |
Nov
(110) |
Dec
(63) |
2012 |
Jan
(41) |
Feb
(42) |
Mar
(25) |
Apr
(46) |
May
(51) |
Jun
(44) |
Jul
(45) |
Aug
(29) |
Sep
(12) |
Oct
(9) |
Nov
(17) |
Dec
(2) |
2013 |
Jan
(12) |
Feb
(14) |
Mar
(7) |
Apr
(16) |
May
(54) |
Jun
(27) |
Jul
(11) |
Aug
(5) |
Sep
(85) |
Oct
(27) |
Nov
(37) |
Dec
(32) |
2014 |
Jan
(8) |
Feb
(29) |
Mar
(5) |
Apr
(3) |
May
(22) |
Jun
(3) |
Jul
(4) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <jen...@us...> - 2008-06-22 11:09:39
|
Revision: 975 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=975&view=rev Author: jenslehmann Date: 2008-06-22 04:09:36 -0700 (Sun, 22 Jun 2008) Log Message: ----------- parser fixes Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/parser/ConfParser.java trunk/src/dl-learner/org/dllearner/parser/ConfParserTokenManager.java trunk/src/dl-learner/org/dllearner/parser/KBParser.java trunk/src/dl-learner/org/dllearner/parser/conf.jj trunk/src/dl-learner/org/dllearner/parser/kb.jj Modified: trunk/src/dl-learner/org/dllearner/parser/ConfParser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/parser/ConfParser.java 2008-06-21 14:27:17 UTC (rev 974) +++ trunk/src/dl-learner/org/dllearner/parser/ConfParser.java 2008-06-22 11:09:36 UTC (rev 975) @@ -20,8 +20,7 @@ import org.dllearner.Info; import org.dllearner.cli.*; -import org.dllearner.utilities.*; -import org.dllearner.utilities.datastructures.StringTuple; +import org.dllearner.utilities.datastructures.*; public @SuppressWarnings("all") class ConfParser implements ConfParserConstants { Modified: trunk/src/dl-learner/org/dllearner/parser/ConfParserTokenManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/parser/ConfParserTokenManager.java 2008-06-21 14:27:17 UTC (rev 974) +++ trunk/src/dl-learner/org/dllearner/parser/ConfParserTokenManager.java 2008-06-22 11:09:36 UTC (rev 975) @@ -16,7 +16,7 @@ import java.io.StringReader; import org.dllearner.Info; import org.dllearner.cli.*; -import org.dllearner.utilities.*; +import org.dllearner.utilities.datastructures.*; public @SuppressWarnings("all") class ConfParserTokenManager implements ConfParserConstants { Modified: trunk/src/dl-learner/org/dllearner/parser/KBParser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/parser/KBParser.java 2008-06-21 14:27:17 UTC (rev 974) +++ trunk/src/dl-learner/org/dllearner/parser/KBParser.java 2008-06-22 11:09:36 UTC (rev 975) @@ -18,12 +18,6 @@ return internalNamespace + name; } - //TODO beware of this function it is evil - public static Description parseConcept(String string, String namespace) throws ParseException { - internalNamespace = namespace; - return parseConcept(string); - } - public static Description parseConcept(String string) throws ParseException { // when just parsing the string as concept, we have no guarantee // that the parser uses all symbols, e.g. a AND b returns just a @@ -36,6 +30,12 @@ return eqAxiom.getConcept2(); } + //TODO beware of this function it is evil (author: Sebastian Hellmann) + public static Description parseConcept(String string, String namespace) throws ParseException { + internalNamespace = namespace; + return parseConcept(string); + } + public static KB parseKBFile(String content) throws IOException, ParseException { KBParser parser = new KBParser(new StringReader(content)); return parser.KB(); @@ -715,15 +715,6 @@ finally { jj_save(7, xla); } } - final private boolean jj_3R_14() { - if (jj_scan_token(19)) return true; - if (jj_3R_25()) return true; - if (jj_3R_4()) return true; - if (jj_scan_token(COMMAND_END)) return true; - if (jj_3R_2()) return true; - return false; - } - final private boolean jj_3_7() { if (jj_scan_token(22)) return true; if (jj_3R_2()) return true; @@ -992,6 +983,15 @@ return false; } + final private boolean jj_3R_14() { + if (jj_scan_token(19)) return true; + if (jj_3R_25()) return true; + if (jj_3R_4()) return true; + if (jj_scan_token(COMMAND_END)) return true; + if (jj_3R_2()) return true; + return false; + } + public KBParserTokenManager token_source; SimpleCharStream jj_input_stream; public Token token, jj_nt; Modified: trunk/src/dl-learner/org/dllearner/parser/conf.jj =================================================================== --- trunk/src/dl-learner/org/dllearner/parser/conf.jj 2008-06-21 14:27:17 UTC (rev 974) +++ trunk/src/dl-learner/org/dllearner/parser/conf.jj 2008-06-22 11:09:36 UTC (rev 975) @@ -49,7 +49,7 @@ import org.dllearner.Info; import org.dllearner.cli.*; -import org.dllearner.utilities.*; +import org.dllearner.utilities.datastructures.*; public class ConfParser { Modified: trunk/src/dl-learner/org/dllearner/parser/kb.jj =================================================================== --- trunk/src/dl-learner/org/dllearner/parser/kb.jj 2008-06-21 14:27:17 UTC (rev 974) +++ trunk/src/dl-learner/org/dllearner/parser/kb.jj 2008-06-22 11:09:36 UTC (rev 975) @@ -59,6 +59,12 @@ return eqAxiom.getConcept2(); } + //TODO beware of this function it is evil (author: Sebastian Hellmann) + public static Description parseConcept(String string, String namespace) throws ParseException { + internalNamespace = namespace; + return parseConcept(string); + } + public static KB parseKBFile(String content) throws IOException, ParseException { KBParser parser = new KBParser(new StringReader(content)); return parser.KB(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2008-06-22 10:35:03
|
Revision: 974 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=974&view=rev Author: lorenz_b Date: 2008-06-21 07:27:17 -0700 (Sat, 21 Jun 2008) Log Message: ----------- changes in the repair view Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/NegExampleRepairDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/ActionsPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ChangesPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ChooseDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionButton.java trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionLabel.java trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionMenuItem.java trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/StatsPanel.java Added: trunk/src/dl-learner/org/dllearner/tools/ore/ActionsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ActionsPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ActionsPanel.java 2008-06-21 14:27:17 UTC (rev 974) @@ -0,0 +1,120 @@ +package org.dllearner.tools.ore; + +import java.awt.Component; +import java.awt.GridLayout; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; +import javax.swing.border.TitledBorder; + +import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.NamedClass; +import org.dllearner.core.owl.Negation; +import org.dllearner.core.owl.ObjectSomeRestriction; +import org.dllearner.reasoning.OWLAPIReasoner; + +public class ActionsPanel extends JPanel{ + /** + * + */ + private static final long serialVersionUID = -3761077097231343915L; + ORE ore; + Individual ind; + OWLAPIReasoner reasoner; + ActionListener al; + + + public ActionsPanel(ORE ore, Individual ind, ActionListener al){ + super(new GridLayout(0, 1)); + this.ore = ore; + this.ind = ind; + this.reasoner = ore.modi.reasoner; + this.al = al; + } + + public void init(){ + setBorder(new TitledBorder("actions")); + JButton delete = new JButton("delete instance"); + add(delete); + updatePanel(); + +// for(Description d :ore.getCriticalDescriptions(ind, ore.getConceptToAdd())){ +// +// if(!(d instanceof Negation)){ +// if(d instanceof NamedClass){ +// add(new DescriptionButton("remove class assertion to " + d.toString(), d )); +// add(new DescriptionButton("move class assertion " + d.toString() + " to ...", d)); +// } +// else if(d instanceof ObjectSomeRestriction) +// add(new DescriptionButton("remove property assertion " + d.toString(), d)); +// } +// else if(d instanceof Negation){ +// if(d.getChild(0) instanceof NamedClass) +// add(new DescriptionButton("add class assertion to " + d.getChild(0).toString(), d)); +// else if(d.getChild(0) instanceof ObjectSomeRestriction) +// add(new DescriptionButton("add property " + d.toString(), d)); +// } +// } + } + + + public void addActionListeners(ActionListener al){ + for(Component c : getComponents()) + if(c instanceof JButton) + ((JButton)c).addActionListener(al); + } + + public void updatePanel(){//DescriptionButton descBut, Description desc){ + for(Component c : getComponents()) + if(c instanceof DescriptionButton) + remove(c); + + ore.modi.refreshReasoner(); + for(Description d :ore.getCriticalDescriptions(ind, ore.getConceptToAdd())){ + System.out.println(d + " " + ore.modi.reasoner.instanceCheck(d, ind)); + if(ore.modi.reasoner.instanceCheck(d, ind)){ + if(!(d instanceof Negation)){ + if(d instanceof NamedClass){ + add(new DescriptionButton("remove class assertion to " + d.toString(), d )); + add(new DescriptionButton("move class assertion " + d.toString() + " to ...", d)); + } + else if(d instanceof ObjectSomeRestriction) + add(new DescriptionButton("remove property assertion " + d.toString(), d)); + } + else if(d instanceof Negation){ + if(d.getChild(0) instanceof NamedClass) + add(new DescriptionButton("add class assertion to " + d.getChild(0).toString(), d.getChild(0))); + else if(d.getChild(0) instanceof ObjectSomeRestriction) + add(new DescriptionButton("add property " + d.toString(), d)); + } + } + } + addActionListeners(al); + + + + + +// String command = descBut.getActionCommand(); +// if(command.startsWith("remove class")){ +// for(Component c : getComponents()) +// if(c instanceof DescriptionButton && ((DescriptionButton)c).getDescription().equals(desc) && ((DescriptionButton)c).getActionCommand().startsWith("move class")) +// remove(c); +// } +// else if(command.startsWith("move class")){ +// for(Component c : getComponents()) +// if(c instanceof DescriptionButton && ((DescriptionButton)c).getDescription().equals(desc) && ((DescriptionButton)c).getActionCommand().startsWith("remove class")) +// remove(c); +// } +// +// remove(descBut); +// + SwingUtilities.updateComponentTreeUI(this); + + } + + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/ChangesPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ChangesPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ChangesPanel.java 2008-06-21 14:27:17 UTC (rev 974) @@ -0,0 +1,25 @@ +package org.dllearner.tools.ore; + +import java.awt.GridLayout; + +import javax.swing.JPanel; +import javax.swing.border.TitledBorder; + +public class ChangesPanel extends JPanel{ + + /** + * + */ + private static final long serialVersionUID = -7538532926820669891L; + + public ChangesPanel(){ + super(new GridLayout(0, 1)); + + } + + public void init(){ + setBorder(new TitledBorder("changes")); + } + + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/ChooseDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ChooseDialog.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ChooseDialog.java 2008-06-21 14:27:17 UTC (rev 974) @@ -0,0 +1,117 @@ +package org.dllearner.tools.ore; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.Insets; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.Box; +import javax.swing.BoxLayout; +import javax.swing.DefaultListModel; +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JList; +import javax.swing.JPanel; +import javax.swing.JSeparator; +import javax.swing.border.EmptyBorder; + +import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.NamedClass; +import org.dllearner.core.owl.ObjectQuantorRestriction; + +public class ChooseDialog extends JDialog implements ActionListener{ + + /** + * + */ + private static final long serialVersionUID = -3554461981184458137L; + + + ORE ore; + DefaultListModel model; + JList list; + private JButton okButton; + private JButton cancelButton; + private Object selectedElement; + private Object chooseValue; + + public ChooseDialog(JDialog parent, ORE ore, Object chooseValue){ + super(parent, true); + this.ore = ore; + this.chooseValue = chooseValue; + init(); + + + } + + public void init(){ + setSize(new Dimension(400, 400)); + setLayout(new BorderLayout()); + + model = new DefaultListModel(); + System.out.println(chooseValue.getClass()); + if(chooseValue instanceof Description){ + setTitle("select object for property"); + for(Individual ind : ore.getIndividualsOfPropertyRange((ObjectQuantorRestriction)chooseValue)) + model.addElement(ind); + } + else if(chooseValue instanceof Individual){ + setTitle("choose new class"); + for(NamedClass nc : ore.getpossibleMoveClasses((Individual)chooseValue)) + model.addElement(nc); + } + + + list = new JList(model); + + okButton = new JButton("Ok"); + cancelButton = new JButton("Cancel"); + okButton.addActionListener(this); + cancelButton.addActionListener(this); + + + + JPanel buttonPanel = new JPanel(); + JSeparator separator = new JSeparator(); + Box buttonBox = new Box(BoxLayout.X_AXIS); + buttonPanel.setLayout(new BorderLayout()); + buttonPanel.add(separator, BorderLayout.NORTH); + + buttonBox.setBorder(new EmptyBorder(new Insets(5, 10, 5, 10))); + buttonBox.add(okButton); + buttonBox.add(Box.createHorizontalStrut(10)); + buttonBox.add(cancelButton); + buttonPanel.add(buttonBox, java.awt.BorderLayout.EAST); + + getContentPane().add(list, BorderLayout.CENTER); + getContentPane().add(buttonPanel, BorderLayout.SOUTH); + + setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + setModal(true); + setVisible(true); + + + } + + public Object getSelectedElement(){ + return selectedElement; + } + + @Override + public void actionPerformed(ActionEvent e) { + if(e.getSource().equals(okButton)){ + selectedElement = list.getSelectedValue(); + setVisible(false); + dispose(); + } + else if(e.getSource().equals(cancelButton)){ + selectedElement = null; + setVisible(false); + dispose(); + } + + } + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionButton.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionButton.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionButton.java 2008-06-21 14:27:17 UTC (rev 974) @@ -0,0 +1,25 @@ +package org.dllearner.tools.ore; + +import javax.swing.JButton; + +import org.dllearner.core.owl.Description; + +public class DescriptionButton extends JButton { + /** + * + */ + private static final long serialVersionUID = 1L; + private Description desc; + + public DescriptionButton(String name, Description desc){ + super(name); + this.desc = desc; + + } + + public Description getDescription(){ + return desc; + } + + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionLabel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionLabel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionLabel.java 2008-06-21 14:27:17 UTC (rev 974) @@ -0,0 +1,90 @@ +package org.dllearner.tools.ore; + +import java.awt.Color; +import java.awt.Component; +import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; + +import javax.swing.JLabel; +import javax.swing.JPopupMenu; + +import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.NamedClass; +import org.dllearner.core.owl.Negation; +import org.dllearner.core.owl.ObjectSomeRestriction; + +public class DescriptionLabel extends JLabel implements MouseListener{ + /** + * + */ + private static final long serialVersionUID = 1L; + private final Description desc; + private JPopupMenu menu; + + public DescriptionLabel(Description d){ + super(d.toString()); + this.desc = d; + setForeground(Color.red); + addMouseListener(this); + menu = new JPopupMenu(); + if(!(desc instanceof Negation)){ + if(desc instanceof NamedClass){ + menu.add(new DescriptionMenuItem("remove class assertion " + desc.toString(), desc) ); + menu.add(new DescriptionMenuItem("move class assertion " + desc.toString() + " to ...", desc)); + } + else if(desc instanceof ObjectSomeRestriction) + menu.add(new DescriptionMenuItem("remove property assertion " + desc.toString(), desc)); + } + else if(desc instanceof Negation){ + if(desc.getChild(0) instanceof NamedClass) + menu.add(new DescriptionMenuItem("add class assertion to " + desc.getChild(0).toString(), desc.getChild(0))); + else if(desc.getChild(0) instanceof ObjectSomeRestriction) + menu.add(new DescriptionMenuItem("add property " + d.toString(), desc.getChild(0))); + } + + + + } + + public Description getDescription(){ + return desc; + } + + public void addActionListeners(ActionListener aL){ + for(Component c : menu.getComponents()) + ((DescriptionMenuItem)c).addActionListener(aL); + + + } + + @Override + public void mouseClicked(MouseEvent e) { + menu.show(this.getParent(),getLocation().x ,getLocation().y+50); + + } + + @Override + public void mouseEntered(MouseEvent e) { + setText("<html><u>" + desc.toString() + "</u></html>"); + + } + + @Override + public void mouseExited(MouseEvent e) { + setText(desc.toString()); + + } + + @Override + public void mousePressed(MouseEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void mouseReleased(MouseEvent e) { + // TODO Auto-generated method stub + + } +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionMenuItem.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionMenuItem.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionMenuItem.java 2008-06-21 14:27:17 UTC (rev 974) @@ -0,0 +1,25 @@ +package org.dllearner.tools.ore; + +import javax.swing.JMenuItem; + +import org.dllearner.core.owl.Description; + +public class DescriptionMenuItem extends JMenuItem { + + /** + * + */ + private static final long serialVersionUID = 6784086889435854440L; + + Description desc; + + public DescriptionMenuItem(String text, Description d){ + super(text); + this.desc = d; + } + + public Description getDescription(){ + return desc; + } + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/DescriptionPanel.java 2008-06-21 14:27:17 UTC (rev 974) @@ -0,0 +1,50 @@ +package org.dllearner.tools.ore; + +import java.awt.Component; +import java.awt.event.ActionListener; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; + +import org.dllearner.core.owl.Individual; + +public class DescriptionPanel extends JPanel{ + + /** + * + */ + private static final long serialVersionUID = -3684937339236885595L; + ORE ore; + Individual ind; + ActionListener aL; + + public DescriptionPanel(ORE ore, Individual ind, ActionListener aL){ + + super(); + this.ore = ore; + this.ind = ind; + this.aL = aL; + for(JLabel jL : ore.DescriptionToJLabel(ind, ore.conceptToAdd)){ + add(jL); + if(jL instanceof DescriptionLabel) + ((DescriptionLabel)jL).addActionListeners(aL); + } + } + + public void updatePanel(){//DescriptionButton descBut, Description desc){ + for(Component c : getComponents()) + if(c instanceof JLabel) + remove(c); + + ore.updateReasoner(); + for(JLabel jL : ore.DescriptionToJLabel(ind, ore.conceptToAdd)){ + add(jL); + if(jL instanceof DescriptionLabel) + ((DescriptionLabel)jL).addActionListeners(aL); + } + SwingUtilities.updateComponentTreeUI(this); + + + } +} \ No newline at end of file Modified: trunk/src/dl-learner/org/dllearner/tools/ore/NegExampleRepairDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/NegExampleRepairDialog.java 2008-06-20 16:06:47 UTC (rev 973) +++ trunk/src/dl-learner/org/dllearner/tools/ore/NegExampleRepairDialog.java 2008-06-21 14:27:17 UTC (rev 974) @@ -1,13 +1,10 @@ package org.dllearner.tools.ore; import java.awt.BorderLayout; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.Set; import javax.swing.Box; import javax.swing.BoxLayout; @@ -15,11 +12,10 @@ import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JSeparator; -import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; -import javax.swing.border.TitledBorder; import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Individual; @@ -36,12 +32,14 @@ private static final long serialVersionUID = 1L; - private JPanel statsPanel; - private JPanel actionsPanel; + private StatsPanel statsPanel; + private DescriptionPanel descPanel; + private ChangesPanel changesPanel; private JPanel ok_cancelPanel; private JPanel action_stats_Panel; + private JButton okButton; private JButton cancelButton; @@ -67,143 +65,27 @@ setSize(700, 700); setLayout(new BorderLayout()); - action_stats_Panel = new JPanel(); - action_stats_Panel.setLayout(new GridLayout(2,0)); + descPanel = new DescriptionPanel(ore, ind, this); - statsPanel = new JPanel(); - statsPanel.setBorder(new TitledBorder("stats")); - - - GridBagLayout gbl = new GridBagLayout(); - statsPanel.setLayout(gbl); - + statsPanel = new StatsPanel(ore, ind); + statsPanel.init(); + JScrollPane scroll = new JScrollPane(); + scroll.setViewportView(statsPanel); - GridBagConstraints gbc = new GridBagConstraints(); - JLabel descLb = new JLabel("Description:"); - JLabel indLb = new JLabel("Individual:"); - JLabel classLb = new JLabel("Classes:"); - - - JLabel descLb1 = new JLabel(ore.conceptToAdd.toString()); - JLabel indLb1 = new JLabel(ind.getName()); - Set<NamedClass> t = null; + + changesPanel = new ChangesPanel(); + changesPanel.init(); + + + action_stats_Panel = new JPanel(); + action_stats_Panel.setLayout(new GridLayout(4,0)); + - JPanel classesPanel = new JPanel(new GridLayout(0, 1)); - t = reasoner.getConcepts(ind); - t.add(ore.getConcept()); - for(NamedClass nc : t) - classesPanel.add(new JLabel(nc.getName())); - - - - - gbc.gridx = 0; // first column - gbc.gridy = 0; // first row - gbc.gridwidth = 1; // occupies only one column - gbc.gridheight = 1; // occupies only one row - gbc.weightx = 20; // relative horizontal size - first column - gbc.weighty = 10; // relative vertical size - first row - gbc.fill = GridBagConstraints.NONE; // stay as small as possible - // suite for labels - gbc.anchor = GridBagConstraints.CENTER; // center aligning - //inform the layout about the control to be added and its constraints: - gbl.setConstraints(descLb, gbc); - statsPanel.add(descLb); //add the JLabel to the JPanel object - - gbc.gridx = 0; // first column - gbc.gridy = 1; // second row - gbc.gridwidth = 1; // occupies only one column - gbc.gridheight = 1; // occupies only one row - gbc.weightx = 0; // !!! horizontal size for the column is defined already! - gbc.weighty = 10; // relative vertical size - second row - gbc.fill = GridBagConstraints.NONE; // stay as small as possible, suites for labels - gbc.anchor = GridBagConstraints.CENTER; // center aligning - //inform the layout about the control to be added and its constraints: - gbl.setConstraints(indLb, gbc); - statsPanel.add(indLb); - - gbc.gridx = 0; // first column - gbc.gridy = 2; // third row - gbc.gridwidth = 1; // occupies only one column - gbc.gridheight = 1; // occupies only one row - gbc.weightx = 0; // !!! horizontal size for the column is defined already! - gbc.weighty = 10; // relative vertical size - second row - gbc.fill = GridBagConstraints.NONE; // stay as small as possible, suites for labels - gbc.anchor = GridBagConstraints.CENTER; // center aligning - //inform the layout about the control to be added and its constraints: - gbl.setConstraints(classLb, gbc); - statsPanel.add(classLb); - - gbc.gridx = 1; // second column - gbc.gridy = 0; // first row - gbc.gridwidth = 1; // occupies only one column - gbc.gridheight = 1; // occupies only one row - gbc.weightx = 100; // horizontal size - second column - gbc.weighty = 0; // !!! vertical size for the row is defined already! - gbc.fill = GridBagConstraints.HORIZONTAL; // fill horizontally entire cell - gbc.anchor = GridBagConstraints.CENTER; // center aligning - - gbl.setConstraints(descLb1, gbc); - statsPanel.add(descLb1); - - gbc.gridx = 1; // second column - gbc.gridy = 1; // second row - gbc.gridwidth = 1; // occupies only one column - gbc.gridheight = 1; // occupies only one row - gbc.weightx = 0; // horizontal size for the column is defined already! - gbc.weighty = 0; // vertical size for the row is defined already! - gbc.fill = GridBagConstraints.HORIZONTAL; // fill horizontally entire cell - gbc.anchor = GridBagConstraints.CENTER; // center aligning - - gbl.setConstraints(indLb1, gbc); - statsPanel.add(indLb1); - - gbc.gridx = 1; // second column - gbc.gridy = 2; // third row - gbc.gridwidth = 1; // occupies only one column - gbc.gridheight = 1; // occupies only one row - gbc.weightx = 0; // horizontal size for the column is defined already! - gbc.weighty = 0; // vertical size for the row is defined already! - gbc.fill = GridBagConstraints.HORIZONTAL; // fill horizontally entire cell - gbc.anchor = GridBagConstraints.CENTER; // center aligning - -// gbl.setConstraints(scrollPane, gbc); -// statsPanel.add(scrollPane); - gbl.setConstraints(classesPanel, gbc); - statsPanel.add(classesPanel); - - - actionsPanel = new JPanel(new GridLayout(0, 1)); - - - - actionsPanel.setBorder(new TitledBorder("actions")); - JButton delete = new JButton("delete instance"); - delete.addActionListener(this); - actionsPanel.add(delete); - for(Description d :ore.getCriticalDescriptions(ind, ore.getConceptToAdd())){ - - if(!(d instanceof Negation)){ - if(d instanceof NamedClass){ - actionsPanel.add(new DescriptionButton("remove class assertion to " + d.toString(), d ,this)); - actionsPanel.add(new DescriptionButton("move class assertion " + d.toString() + " to ...", d, this)); - } - else if(d instanceof ObjectSomeRestriction) - actionsPanel.add(new DescriptionButton("remove property assertion " + d.toString(), d, this)); - } - else if(d instanceof Negation){ - if(d.getChild(0) instanceof NamedClass) - actionsPanel.add(new DescriptionButton("add class assertion to " + d.getChild(0).toString(), d, this)); - else if(d.getChild(0) instanceof ObjectSomeRestriction) - actionsPanel.add(new DescriptionButton("add property " + d.toString(), d, this)); - } - } - JScrollPane scroll = new JScrollPane(); - scroll.setViewportView(statsPanel); + action_stats_Panel.add(descPanel); action_stats_Panel.add(scroll); - action_stats_Panel.add(actionsPanel); + action_stats_Panel.add(changesPanel); JSeparator separator = new JSeparator(); @@ -216,7 +98,7 @@ cancelButton = new JButton("Cancel"); - getContentPane().add(ok_cancelPanel, java.awt.BorderLayout.SOUTH); + getContentPane().add(action_stats_Panel, java.awt.BorderLayout.CENTER); @@ -235,49 +117,98 @@ } public void actionPerformed(ActionEvent e) { - - - if(e.getActionCommand().equals("delete instance")){ - ore.modi.deleteIndividual(ind); - } - else{ - actualDesc = ((DescriptionButton)e.getSource()).getDescription(); - if(e.getActionCommand().startsWith("remove class")){ - ore.modi.removeClassAssertion(ind, actualDesc); - } - else if(e.getActionCommand().startsWith("move class")){ + System.out.println(e.getSource()); + if(e.getSource() instanceof DescriptionMenuItem){ + actualDesc = ((DescriptionMenuItem)e.getSource()).getDescription(); - SwingUtilities.invokeLater(new Runnable(){ - - @Override - public void run() { - newDesc = (Description)new ChooseDialog(ore, ind).getSelectedElement(); - } + if(e.getActionCommand().startsWith("remove class")){ //remove class + System.err.println("vorher: " + ore.modi.checkInstanceNewOntology(ore.getConceptToAdd() ,ind)); + System.err.println("vorher: " + ore.modi.getCriticalDescriptions(ind, ore.conceptToAdd)); + ore.modi.removeClassAssertion(ind, actualDesc); - }); - if(newDesc != null) - ore.modi.moveIndividual(ind, actualDesc, newDesc); - + descPanel.updatePanel(); + changesPanel.add(new JLabel("removed class assertion to " + actualDesc)); + changesPanel.add(new JButton("Undo")); + System.err.println("nachher: " + ore.modi.checkInstanceNewOntology(ore.conceptToAdd, ind)); + System.err.println("nachher: " + ore.modi.getCriticalDescriptions(ind, ore.conceptToAdd)); } - else if(e.getActionCommand().equals("add property")){ - SwingUtilities.invokeLater(new Runnable(){ - - @Override - public void run() { - object = (Individual)new ChooseDialog(ore, actualDesc).getSelectedElement(); - } - - }); - if(newDesc != null) - - ore.modi.addObjectProperty(ind, (ObjectSomeRestriction)actualDesc, object); - } - } +// else if(e.getActionCommand().startsWith("add class")){ //add class +// System.err.println(actualDesc); +// ore.modi.addClassAssertion(ind, actualDesc); +// actionsPanel.updatePanel(); +// changes.add(new JLabel("added class assertion to " + actualDesc)); +// +// } +// else if(e.getActionCommand().startsWith("move class")){ //move class +// +// newDesc = (Description)new ChooseDialog(this, ore, ind).getSelectedElement(); +// System.err.println(newDesc); +// if(newDesc != null){ +// System.out.print(ind + " from " + actualDesc + " to " + newDesc); +// ore.modi.moveIndividual(ind, actualDesc, newDesc); +// } +// +// } +// else if(e.getActionCommand().equals("add property")){ //add property +// object = (Individual)new ChooseDialog(this, ore, actualDesc).getSelectedElement(); +// if(object != null) +// ore.modi.addObjectProperty(ind, (ObjectSomeRestriction)actualDesc, object); +// } +// else if(e.getActionCommand().equals("remove property")){ //delete property +// ore.modi.deleteObjectProperty(ind, (ObjectSomeRestriction)actualDesc); +// } +// } + +// if(e.getActionCommand().equals("delete instance")){ +// ore.modi.deleteIndividual(ind); +// +// } +// else{ +// actualDesc = ((DescriptionButton)e.getSource()).getDescription(); +// +// if(e.getActionCommand().startsWith("remove class")){ //remove class +// System.out.println(ore.reasoner2.instanceCheck(ore.getConceptToAdd() ,ind)); +// ore.modi.removeClassAssertion(ind, actualDesc); +// +// actionsPanel.updatePanel(); +// changes.add(new JLabel("removed class assertion to " + actualDesc)); +// changes.add(new JButton("Undo")); +// System.err.println(ore.modi.checkInstanceNewOntology(ore.conceptToAdd, ind)); +// +// } +// else if(e.getActionCommand().startsWith("add class")){ //add class +// System.err.println(actualDesc); +// ore.modi.addClassAssertion(ind, actualDesc); +// actionsPanel.updatePanel(); +// changes.add(new JLabel("added class assertion to " + actualDesc)); +// +// } +// else if(e.getActionCommand().startsWith("move class")){ //move class +// +// newDesc = (Description)new ChooseDialog(this, ore, ind).getSelectedElement(); +// System.err.println(newDesc); +// if(newDesc != null){ +// System.out.print(ind + " from " + actualDesc + " to " + newDesc); +// ore.modi.moveIndividual(ind, actualDesc, newDesc); +// } +// +// } +// else if(e.getActionCommand().equals("add property")){ //add property +// object = (Individual)new ChooseDialog(this, ore, actualDesc).getSelectedElement(); +// if(object != null) +// ore.modi.addObjectProperty(ind, (ObjectSomeRestriction)actualDesc, object); +// } +// else if(e.getActionCommand().equals("remove property")){ //delete property +// ore.modi.deleteObjectProperty(ind, (ObjectSomeRestriction)actualDesc); +// } +// } } + } + Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java 2008-06-20 16:06:47 UTC (rev 973) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java 2008-06-21 14:27:17 UTC (rev 974) @@ -1,14 +1,21 @@ package org.dllearner.tools.ore; +import java.awt.Dimension; import java.io.File; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; +import java.util.Vector; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; + import org.dllearner.algorithms.refexamples.ExampleBasedROLComponent; import org.dllearner.core.ComponentInitException; import org.dllearner.core.ComponentManager; @@ -21,9 +28,9 @@ import org.dllearner.core.owl.Individual; import org.dllearner.core.owl.Intersection; import org.dllearner.core.owl.NamedClass; -import org.dllearner.core.owl.Negation; import org.dllearner.core.owl.ObjectQuantorRestriction; import org.dllearner.core.owl.Union; +import org.dllearner.kb.OWLAPIOntology; import org.dllearner.kb.OWLFile; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.reasoning.FastInstanceChecker; @@ -326,52 +333,7 @@ Set<Description> criticals = new HashSet<Description>(); List<Description> children = desc.getChildren(); -// if(desc instanceof Negation){ -// if(!(desc.getChild(0) instanceof NamedClass) &&!(desc.getChild(0) instanceof ObjectQuantorRestriction)){ -// negation = !negation; -// criticals.addAll(getCriticalDescriptions(ind, desc.getChild(0))); -// } -// else{ -// if(negation) -// criticals.add(desc.getChild(0)); -// else -// criticals.add(desc); -// -// } -// -// } -// else{ -// -// if(children.size() >= 2){ -// -// if(desc instanceof Intersection){ -// for(Description d: children) -// criticals.addAll(getCriticalDescriptions(ind, d)); -// -// } -// else if(desc instanceof Union){ -// for(Description d: children) -// try { -// if(reasoner.instanceCheck(d, ind)) -// criticals.addAll(getCriticalDescriptions(ind, d)); -// } catch (ReasoningMethodUnsupportedException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// } -// } -// else{ -// -// if(negation) -// criticals.add(new Negation(desc)); -// else -// criticals.add(desc); -// -// } -// -// -// -// } + if(children.size() >= 2){ @@ -398,6 +360,62 @@ return criticals; } + public Collection<JLabel> DescriptionToJLabel(Individual ind, Description desc){ +// Set<JLabel> criticals = new HashSet<JLabel>(); + Collection<JLabel> criticals = new Vector<JLabel>(); + List<Description> children = desc.getChildren(); + + try { + if(reasoner.instanceCheck(desc, ind)){ + if(children.size() >= 2){ + + if(desc instanceof Intersection){ + criticals.add(new JLabel("(")); + for(int i = 0; i<children.size()-1; i++){ + criticals.addAll(DescriptionToJLabel(ind, desc.getChild(i))); + criticals.add(new JLabel("AND")); + System.out.println(true); + } + criticals.addAll(DescriptionToJLabel(ind, desc.getChild(children.size()-1))); + criticals.add(new JLabel(")")); + } + else if(desc instanceof Union){ + criticals.add(new JLabel("(")); + for(int i = 0; i<children.size()-1; i++){ + if(reasoner.instanceCheck(desc.getChild(i), ind)){ + criticals.addAll(DescriptionToJLabel(ind, desc.getChild(i))); + } + else{ + criticals.add(new JLabel(desc.getChild(i).toString())); + } + criticals.add(new JLabel("OR")); + } + if(reasoner.instanceCheck(desc.getChild(children.size()-1), ind)){ + criticals.addAll(DescriptionToJLabel(ind, desc.getChild(children.size()-1))); + } + else{ + criticals.add(new JLabel(desc.getChild(children.size()-1).toString())); + } + criticals.add(new JLabel(")")); + + + } + } + else{ + + criticals.add(new DescriptionLabel(desc)); + } + } + else + criticals.add(new JLabel(desc.toString())); + } catch (ReasoningMethodUnsupportedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return criticals; + } + public Set<Individual> getIndividualsOfPropertyRange(ObjectQuantorRestriction objRestr){ @@ -421,8 +439,19 @@ return classes; } + public void updateReasoner(){ + reasoner = cm.reasoner(FastInstanceChecker.class, new OWLAPIOntology(modi.ontology)); + try { + reasoner.init(); + } catch (ComponentInitException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public static void main(String[] args){ final ORE test = new ORE(); @@ -443,12 +472,20 @@ // test.start(); Individual ind = new Individual("http://www.test.owl#lorenz"); System.out.println(rs.getIndividuals()); - Description d = new Intersection(new NamedClass("http://www.test.owl#A"), new Negation(new Union(new NamedClass("http://www.test.owl#B"), - new Negation(new Intersection(new NamedClass("http://www.test.owl#C"),new Negation(new NamedClass("http://www.test.owl#D"))))))); + Description d = new Intersection(new NamedClass("http://www.test.owl#A"), new Union(new NamedClass("http://www.test.owl#B"), + new NamedClass("http://www.test.owl#C"))); System.out.println(d); System.out.println(test.getCriticalDescriptions(ind, d)); + JFrame testFrame = new JFrame(); + JPanel j = new JPanel(); + testFrame.add(j); + testFrame.setSize(new Dimension(400, 400)); + for(JLabel jLab : test.DescriptionToJLabel(ind, d)) + j.add(jLab); + testFrame.setVisible(true); + Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java 2008-06-20 16:06:47 UTC (rev 973) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java 2008-06-21 14:27:17 UTC (rev 974) @@ -7,9 +7,13 @@ import java.util.List; import java.util.Set; +import org.dllearner.core.KnowledgeSource; import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.Intersection; import org.dllearner.core.owl.ObjectSomeRestriction; +import org.dllearner.core.owl.Union; +import org.dllearner.kb.OWLAPIOntology; import org.dllearner.reasoning.OWLAPIDescriptionConvertVisitor; import org.dllearner.reasoning.OWLAPIReasoner; import org.semanticweb.owl.apibinding.OWLManager; @@ -52,7 +56,6 @@ OWLDescription newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(newDesc); OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(oldDesc); - Set<OWLDescription> ds = new HashSet<OWLDescription>(); ds.add(newConceptOWLAPI); ds.add(oldConceptOWLAPI); @@ -128,8 +131,33 @@ e.printStackTrace(); } + } + /** + * adds a classAssertion + * @param ind + * @param desc + */ + public void addClassAssertion(Individual ind, Description desc){ + + OWLIndividual individualOWLAPI = factory.getOWLIndividual( URI.create(ind.getName())); + OWLDescription owlDesc = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); + + OWLClassAssertionAxiom owlCl = factory.getOWLClassAssertionAxiom(individualOWLAPI, owlDesc); + + AddAxiom am = new AddAxiom(ontology, owlCl); + + try { + manager.applyChange(am); + } catch (OWLOntologyChangeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + /** * removes classAssertion between individual to a old class, and creates a new classAssertion * @param ind individual which has to be moved * @param oldClass class where individual is asserted before @@ -155,6 +183,7 @@ // TODO Auto-generated catch block e.printStackTrace(); } + saveOntology(); } @@ -215,6 +244,60 @@ } } + public void refreshReasoner(){ + Set<KnowledgeSource> s = new HashSet<KnowledgeSource>(); + s.add(new OWLAPIOntology(ontology)); + this.reasoner = new OWLAPIReasoner(s); + reasoner.init(); + } + + public boolean checkInstanceNewOntology(Description desc, Individual ind){ + Set<KnowledgeSource> s = new HashSet<KnowledgeSource>(); + s.add(new OWLAPIOntology(ontology)); + OWLAPIReasoner r = new OWLAPIReasoner(s); + r.init(); + boolean check = r.instanceCheck(desc, ind); + + + + return check; + } + + public Set<Description> getCriticalDescriptions(Individual ind, Description desc){ + Set<KnowledgeSource> s = new HashSet<KnowledgeSource>(); + s.add(new OWLAPIOntology(ontology)); + OWLAPIReasoner r = new OWLAPIReasoner(s); + r.init(); + + Set<Description> criticals = new HashSet<Description>(); + List<Description> children = desc.getChildren(); + + if(r.instanceCheck(desc, ind)){ + System.out.println("wahr"); + if(children.size() >= 2){ + + if(desc instanceof Intersection){ + for(Description d: children) + criticals.addAll(getCriticalDescriptions(ind, d)); + + } + else if(desc instanceof Union){ + for(Description d: children) + if(reasoner.instanceCheck(d, ind)) + criticals.addAll(getCriticalDescriptions(ind, d)); + } + } + else + criticals.add(desc); + } + + + return criticals; +} + + + + // public OWLOntology copyOntology(){ // try{ // OWLOntology ontologyCopy = manager.createOntology(ontology.getURI()); Added: trunk/src/dl-learner/org/dllearner/tools/ore/StatsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/StatsPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/StatsPanel.java 2008-06-21 14:27:17 UTC (rev 974) @@ -0,0 +1,134 @@ +package org.dllearner.tools.ore; + +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.GridLayout; +import java.util.Set; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.border.TitledBorder; + +import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.NamedClass; + +public class StatsPanel extends JPanel{ + /** + * + */ + private static final long serialVersionUID = -8418286820511803278L; + ORE ore; + Individual ind; + + public StatsPanel(ORE ore, Individual ind){ + super(); + this.ore = ore; + this.ind = ind; + } + + public void init(){ + + setBorder(new TitledBorder("stats")); + + + + GridBagLayout gbl = new GridBagLayout(); + setLayout(gbl); + + + GridBagConstraints gbc = new GridBagConstraints(); + JLabel descLb = new JLabel("Description:"); + JLabel indLb = new JLabel("Individual:"); + JLabel classLb = new JLabel("Classes:"); + + + JLabel descLb1 = new JLabel(ore.conceptToAdd.toString()); + JLabel indLb1 = new JLabel(ind.getName()); + Set<NamedClass> t = null; + + JPanel classesPanel = new JPanel(new GridLayout(0, 1)); + + t = ore.reasoner2.getConcepts(ind); + t.add(ore.getConcept()); + for(NamedClass nc : t) + classesPanel.add(new JLabel(nc.getName())); + + + + + gbc.gridx = 0; // first column + gbc.gridy = 0; // first row + gbc.gridwidth = 1; // occupies only one column + gbc.gridheight = 1; // occupies only one row + gbc.weightx = 20; // relative horizontal size - first column + gbc.weighty = 10; // relative vertical size - first row + gbc.fill = GridBagConstraints.NONE; // stay as small as possible + // suite for labels + gbc.anchor = GridBagConstraints.CENTER; // center aligning + //inform the layout about the control to be added and its constraints: + gbl.setConstraints(descLb, gbc); + add(descLb); //add the JLabel to the JPanel object + + gbc.gridx = 0; // first column + gbc.gridy = 1; // second row + gbc.gridwidth = 1; // occupies only one column + gbc.gridheight = 1; // occupies only one row + gbc.weightx = 0; // !!! horizontal size for the column is defined already! + gbc.weighty = 10; // relative vertical size - second row + gbc.fill = GridBagConstraints.NONE; // stay as small as possible, suites for labels + gbc.anchor = GridBagConstraints.CENTER; // center aligning + //inform the layout about the control to be added and its constraints: + gbl.setConstraints(indLb, gbc); + add(indLb); + + gbc.gridx = 0; // first column + gbc.gridy = 2; // third row + gbc.gridwidth = 1; // occupies only one column + gbc.gridheight = 1; // occupies only one row + gbc.weightx = 0; // !!! horizontal size for the column is defined already! + gbc.weighty = 10; // relative vertical size - second row + gbc.fill = GridBagConstraints.NONE; // stay as small as possible, suites for labels + gbc.anchor = GridBagConstraints.CENTER; // center aligning + //inform the layout about the control to be added and its constraints: + gbl.setConstraints(classLb, gbc); + add(classLb); + + gbc.gridx = 1; // second column + gbc.gridy = 0; // first row + gbc.gridwidth = 1; // occupies only one column + gbc.gridheight = 1; // occupies only one row + gbc.weightx = 100; // horizontal size - second column + gbc.weighty = 0; // !!! vertical size for the row is defined already! + gbc.fill = GridBagConstraints.HORIZONTAL; // fill horizontally entire cell + gbc.anchor = GridBagConstraints.CENTER; // center aligning + + gbl.setConstraints(descLb1, gbc); + add(descLb1); + + gbc.gridx = 1; // second column + gbc.gridy = 1; // second row + gbc.gridwidth = 1; // occupies only one column + gbc.gridheight = 1; // occupies only one row + gbc.weightx = 0; // horizontal size for the column is defined already! + gbc.weighty = 0; // vertical size for the row is defined already! + gbc.fill = GridBagConstraints.HORIZONTAL; // fill horizontally entire cell + gbc.anchor = GridBagConstraints.CENTER; // center aligning + + gbl.setConstraints(indLb1, gbc); + add(indLb1); + + gbc.gridx = 1; // second column + gbc.gridy = 2; // third row + gbc.gridwidth = 1; // occupies only one column + gbc.gridheight = 1; // occupies only one row + gbc.weightx = 0; // horizontal size for the column is defined already! + gbc.weighty = 0; // vertical size for the row is defined already! + gbc.fill = GridBagConstraints.HORIZONTAL; // fill horizontally entire cell + gbc.anchor = GridBagConstraints.CENTER; // center aligning + +// gbl.setConstraints(scrollPane, gbc); +// statsPanel.add(scrollPane); + gbl.setConstraints(classesPanel, gbc); + add(classesPanel); + } +} 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: <sk...@us...> - 2008-06-18 18:26:52
|
Revision: 972 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=972&view=rev Author: sknappe Date: 2008-06-18 11:26:41 -0700 (Wed, 18 Jun 2008) Log Message: ----------- changed to work without SparqlQueryThreaded Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-06-18 18:25:58 UTC (rev 971) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-06-18 18:26:41 UTC (rev 972) @@ -265,6 +265,7 @@ if (json!=null){ addToCache(query.getQueryString(), json); result=json; + query.setJson(result); } else { json=""; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-06-18 18:25:58 UTC (rev 971) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-06-18 18:26:41 UTC (rev 972) @@ -23,11 +23,13 @@ import java.io.ByteArrayOutputStream; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; +import java.util.Iterator; import org.apache.log4j.Logger; import org.dllearner.core.KnowledgeSource; import org.dllearner.utilities.JamonMonitorLogger; +import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSetFactory; import com.hp.hpl.jena.query.ResultSetFormatter; @@ -69,7 +71,7 @@ */ public ResultSet send() { - isRunning = true; + //isRunning = true; logger.trace(queryString); String service = endpoint.getURL().toString(); @@ -85,11 +87,10 @@ //TODO remove after overnext Jena release HttpQuery.urlLimit = 3*1024 ; - JamonMonitorLogger.getTimeMonitor(SparqlQuery.class, "httpTime").start(); rs = queryExecution.execSelect(); JamonMonitorLogger.getTimeMonitor(SparqlQuery.class, "httpTime").stop(); - + logger.debug("query SPARQL server, retrieved: "+rs.getResultVars()); logger.trace(rs.getResultVars().toString()); @@ -100,7 +101,7 @@ // logger.debug("Exception when querying Sparql Endpoint in " + this.getClass()); // logger.debug(queryString); // } - isRunning = false; + //isRunning = false; return rs; } Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-18 18:25:58 UTC (rev 971) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-18 18:26:41 UTC (rev 972) @@ -552,8 +552,13 @@ state.getQuery(id).setRunning(true); Cache cache=new Cache(ks.getCacheDir()); cache.executeSparqlQuery(state.getQuery(id)); + state.getQuery(id).setRunning(false); } - else state.getQuery(id).send(); + else{ + state.getQuery(id).setRunning(true); + state.getQuery(id).send(); + state.getQuery(id).setRunning(false); + } } }; sparqlThread.start(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-06-18 18:26:26
|
Revision: 971 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=971&view=rev Author: sknappe Date: 2008-06-18 11:25:58 -0700 (Wed, 18 Jun 2008) Log Message: ----------- made the search better Modified Paths: -------------- trunk/src/dbpedia-navigator/ajaxfunctions.php Modified: trunk/src/dbpedia-navigator/ajaxfunctions.php =================================================================== --- trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-06-18 18:25:40 UTC (rev 970) +++ trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-06-18 18:25:58 UTC (rev 971) @@ -220,7 +220,7 @@ $objResponse->assign("lastarticles","innerHTML",$lastArticles); $objResponse->assign('Positives','innerHTML',$posInterests); $objResponse->assign('Negatives','innerHTML',$negInterests); - $objResponse->call('xajax_learnConcept'); + //$objResponse->call('xajax_learnConcept'); return $objResponse; } @@ -486,7 +486,7 @@ else if ($count>($min+$distribution)) $style="font-size:medium;"; else $style="font-size:small;"; - $ret.="<a style='".$style."' href='javascript:xajax_getSubjectsFromConcept('".$tag."');>".$label[$tag]."</a> "; + $ret.='<a style="'.$style.'" href="#" onclick="xajax_getSubjectsFromConcept(\''.$tag.'\');">'.$label[$tag].'</a>'; } $ret.="</p>"; return $ret; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-06-18 18:25:58
|
Revision: 970 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=970&view=rev Author: sknappe Date: 2008-06-18 11:25:40 -0700 (Wed, 18 Jun 2008) Log Message: ----------- changed the query a bit, so that it works Modified Paths: -------------- trunk/src/music-recommender/ajax.php Modified: trunk/src/music-recommender/ajax.php =================================================================== --- trunk/src/music-recommender/ajax.php 2008-06-18 15:22:27 UTC (rev 969) +++ trunk/src/music-recommender/ajax.php 2008-06-18 18:25:40 UTC (rev 970) @@ -41,8 +41,19 @@ function doSearch($searchString) { // ToDo: execute a SPARQL query (find labels matching search string) by contacting DL-Learner web service - $query = ' - PREFIX geo: <http://www.geonames.org/ontology#> + $query = 'PREFIX geo:<http://www.geonames.org/ontology#> + PREFIX wgs:<http://www.w3.org/2003/01/geo/wgs84_pos#> + SELECT ?a ?place ?lat ?long + WHERE { + ?a a mo:MusicArtist; + foaf:based_near ?place. + ?place geo:name ?name; + geo:population ?population; + wgs:lat ?lat; + wgs:long ?long + } + LIMIT 1'; + /*PREFIX geo: <http://www.geonames.org/ontology#> PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#> SELECT DISTINCT ?an ?lat ?long ?name ?population WHERE { @@ -57,7 +68,7 @@ wgs:lat ?lat; wgs:long ?long } - ORDER BY ?population'; + ORDER BY ?population';*/ try { $connection = new DLLearnerConnection(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-06-18 15:31:25
|
Revision: 968 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=968&view=rev Author: kurzum Date: 2008-06-18 08:19:50 -0700 (Wed, 18 Jun 2008) Log Message: ----------- replaced with correct Ontologies Modified Paths: -------------- trunk/examples/family-benchmark/family-benchmark.owl trunk/examples/family-benchmark/family-benchmark_rich_background.owl Modified: trunk/examples/family-benchmark/family-benchmark.owl =================================================================== --- trunk/examples/family-benchmark/family-benchmark.owl 2008-06-17 17:05:00 UTC (rev 967) +++ trunk/examples/family-benchmark/family-benchmark.owl 2008-06-18 15:19:50 UTC (rev 968) @@ -1,1548 +1,1538 @@ @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-06-17 17:05:11
|
Revision: 967 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=967&view=rev Author: sknappe Date: 2008-06-17 10:05:00 -0700 (Tue, 17 Jun 2008) Log Message: ----------- Changed the classes to work without SparqlQueryThreaded Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/server/ClientState.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java Deleted: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java 2008-06-17 17:03:58 UTC (rev 966) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java 2008-06-17 17:05:00 UTC (rev 967) @@ -1,41 +0,0 @@ -package org.dllearner.kb.sparql; - -/** - * The class is used for threaded querying of a Sparql Endpoint. - * @author Sebastian Knappe - * - */ -public class SparqlQueryThreaded { - private Cache cache; - private SparqlQuery query; - private String result; - - public SparqlQueryThreaded(Cache cache, SparqlQuery query) - { - this.cache=cache; - this.query=query; - this.result=null; - } - - public void stop() { - query.getExecution().abort(); - result=null; - } - - public boolean isRunning() { - return result==null; - } - - public void send() - { - result=cache.executeSparqlQuery(query); - } - - public SparqlQuery getSparqlQuery(){ - return query; - } - - public String getResult(){ - return result; - } -} Modified: trunk/src/dl-learner/org/dllearner/server/ClientState.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/ClientState.java 2008-06-17 17:03:58 UTC (rev 966) +++ trunk/src/dl-learner/org/dllearner/server/ClientState.java 2008-06-17 17:05:00 UTC (rev 967) @@ -35,7 +35,6 @@ import org.dllearner.kb.OWLFile; import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.kb.sparql.SparqlQuery; -import org.dllearner.kb.sparql.SparqlQueryThreaded; /** * Stores the state of a DL-Learner client session. Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-17 17:03:58 UTC (rev 966) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-17 17:05:00 UTC (rev 967) @@ -60,7 +60,6 @@ import org.dllearner.kb.sparql.SparqlQuery; import org.dllearner.kb.sparql.SparqlQueryDescriptionConvertVisitor; import org.dllearner.kb.sparql.SparqlQueryException; -import org.dllearner.kb.sparql.SparqlQueryThreaded; import org.dllearner.kb.sparql.Cache; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.learningproblems.PosNegInclusionLP; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-06-17 17:04:01
|
Revision: 966 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=966&view=rev Author: sknappe Date: 2008-06-17 10:03:58 -0700 (Tue, 17 Jun 2008) Log Message: ----------- Changed the classes to work without SparqlQueryThreaded Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-06-17 16:33:03 UTC (rev 965) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-06-17 17:03:58 UTC (rev 966) @@ -34,6 +34,8 @@ import org.dllearner.core.KnowledgeSource; import org.dllearner.utilities.JamonMonitorLogger; +import com.hp.hpl.jena.query.ResultSet; + /** * SPARQL query cache to avoid possibly expensive multiple queries. The queries * and their results are written to files. A cache has an associated cache @@ -249,15 +251,17 @@ JamonMonitorLogger.getTimeMonitor(Cache.class, "ReadTime").stop(); if (result != null) { + query.setJson(result); + query.setRunning(false); logger.trace("got from cache"); JamonMonitorLogger.increaseCount(Cache.class, "SuccessfulHits"); //Statistics.increaseCachedQuery(); //return result; } else { //SimpleClock sc = new SimpleClock(); - query.send(); //sc.printAndSet("query"); - String json = query.getResult(); + ResultSet rs= query.send(); + String json = SparqlQuery.getAsJSON(rs); if (json!=null){ addToCache(query.getQueryString(), json); result=json; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java 2008-06-17 16:33:03 UTC (rev 965) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java 2008-06-17 17:03:58 UTC (rev 966) @@ -354,8 +354,8 @@ if(c==null){ SparqlQuery sq = new SparqlQuery(SPARQLquery,se); // sq.extraDebugInfo+=se.getURL(); - sq.send(); - String JSON = sq.getResult(); + ResultSet rs=sq.send(); + String JSON = SparqlQuery.getAsJSON(rs); return JSON; }else{ return c.executeSparqlQuery(new SparqlQuery(SPARQLquery,se)); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-06-17 16:33:03 UTC (rev 965) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-06-17 17:03:58 UTC (rev 966) @@ -49,7 +49,8 @@ private String queryString; private QueryEngineHTTP queryExecution; private SparqlEndpoint endpoint; - private String json = null; + private ResultSet rs; + private String json; // private SparqlQueryException sendException=null; /** @@ -69,9 +70,8 @@ public ResultSet send() { isRunning = true; - ResultSet rs=null; logger.trace(queryString); - + String service = endpoint.getURL().toString(); logger.trace(endpoint.getURL().toString()); // Jena access to SPARQL endpoint @@ -91,8 +91,7 @@ JamonMonitorLogger.getTimeMonitor(SparqlQuery.class, "httpTime").stop(); logger.debug("query SPARQL server, retrieved: "+rs.getResultVars()); - json=SparqlQuery.getAsJSON(rs); - + logger.trace(rs.getResultVars().toString()); // } catch (Exception e){ // sendException=new SparqlQueryException(e.getMessage()); @@ -114,13 +113,6 @@ return queryString; } - /** - * @return String JSON - */ - public String getResult() { - return json; - } - public boolean isRunning() { return isRunning; } @@ -133,10 +125,6 @@ // return sendException; // } - public boolean hasCompleted() { - return (json != null); - } - /** * sends a query and returns XML * @@ -184,4 +172,19 @@ return ResultSetFactory.fromJSON(bais); } + public String getJson() { + return json; + } + + public void setJson(String json) { + this.json = json; + } + + public void setRunning(boolean running){ + this.isRunning=running; + } + + public ResultSet getResultSet(){ + return rs; + } } Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-17 16:33:03 UTC (rev 965) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-17 17:03:58 UTC (rev 966) @@ -521,15 +521,22 @@ public String getAsJSON(int sessionID, int queryID) throws ClientNotKnownException, SparqlQueryException { ClientState state = getState(sessionID); - return state.getQuery(queryID).getResult(); + ResultSet resultSet=null; + String json=null; + if ((json=state.getQuery(queryID).getJson())!=null) return json; + else if ((resultSet=state.getQuery(queryID).getResultSet())!=null) return SparqlQuery.getAsJSON(resultSet); + else return SparqlQuery.getAsJSON(state.getQuery(queryID).send()); } @WebMethod public String getAsXMLString(int sessionID, int queryID) throws ClientNotKnownException { ClientState state = getState(sessionID); - ResultSet resultSet=SparqlQuery.JSONtoResultSet(state.getQuery(queryID).getResult()); - return SparqlQuery.getAsXMLString(resultSet); + ResultSet resultSet=null; + String json=null; + if ((resultSet=state.getQuery(queryID).getResultSet())!=null) return SparqlQuery.getAsXMLString(resultSet); + else if ((json=state.getQuery(queryID).getJson())!=null) return SparqlQuery.getAsXMLString(SparqlQuery.JSONtoResultSet(json)); + else return SparqlQuery.getAsXMLString(state.getQuery(queryID).send()); } @WebMethod @@ -543,6 +550,7 @@ @Override public void run() { if (ks.getUseCache()){ + state.getQuery(id).setRunning(true); Cache cache=new Cache(ks.getCacheDir()); cache.executeSparqlQuery(state.getQuery(id)); } @@ -562,10 +570,9 @@ SparqlQuery sparql=ks.sparqlQuery(query); if (ks.getUseCache()){ Cache cache=new Cache(ks.getCacheDir()); - cache.executeSparqlQuery(sparql); + return cache.executeSparqlQuery(sparql); } - else sparql.send(); - return sparql.getResult(); + else return SparqlQuery.getAsJSON(sparql.send()); } @WebMethod This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-06-17 16:33:41
|
Revision: 965 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=965&view=rev Author: sknappe Date: 2008-06-17 09:33:03 -0700 (Tue, 17 Jun 2008) Log Message: ----------- Modified Paths: -------------- trunk/src/dbpedia-navigator/DLLearnerConnection.php trunk/src/dbpedia-navigator/ajaxfunctions.php Modified: trunk/src/dbpedia-navigator/DLLearnerConnection.php =================================================================== --- trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-06-17 10:56:39 UTC (rev 964) +++ trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-06-17 16:33:03 UTC (rev 965) @@ -176,6 +176,7 @@ function getSubjects($label,$checkedInstances) { $offset=1; + $steps=100; $ret=array(); $labels=preg_split("[\040]",$label,-1,PREG_SPLIT_NO_EMPTY); //TODO if instances are checked the offset no longer works @@ -191,7 +192,7 @@ $i=1; } $query.="'@en.?subject a ?cat.?cat <http://www.w3.org/2000/01/rdf-schema#label> ?label}\n". - "LIMIT 100 OFFSET ".$offset."}}"; + "LIMIT ".$steps." OFFSET ".$offset."}}"; }else { $query="SELECT DISTINCT ?subject ?cat ?label\n". "WHERE { ?subject <http://www.w3.org/2000/01/rdf-schema#label> ?object. ?object bif:contains '"; @@ -202,7 +203,7 @@ $i=1; } $query.="'@en.?subject a ?cat.?cat <http://www.w3.org/2000/01/rdf-schema#label> ?label}". - "LIMIT 100 OFFSET ".$offset; + "LIMIT ".$steps." OFFSET ".$offset; } $result=json_decode($this->getSparqlResultThreaded($query),true); $count=count($result['results']['bindings']); @@ -217,8 +218,8 @@ else $tagcloud[$results['cat']['value']]++; } - $offset+=100; - } while($count==100); + $offset+=$steps; + } while($count==$steps); //have to do this, because distinct doesn't work, and i use the key to eliminate doubles unset($tagcloud['http://www.w3.org/2004/02/skos/core#Concept']); foreach ($ret as $r) Modified: trunk/src/dbpedia-navigator/ajaxfunctions.php =================================================================== --- trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-06-17 10:56:39 UTC (rev 964) +++ trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-06-17 16:33:03 UTC (rev 965) @@ -456,6 +456,9 @@ function subjectToURI($subject) { + //if the subject is already a URI return it + if (strpos($subject,"http://dbpedia.org/resource/")===0) + return $subject; //delete whitespaces at beginning and end $subject=trim($subject); //get first letters big @@ -483,7 +486,7 @@ else if ($count>($min+$distribution)) $style="font-size:medium;"; else $style="font-size:small;"; - $ret.="<a style='".$style."' href='".$tag."'>".$label[$tag]."</a> "; + $ret.="<a style='".$style."' href='javascript:xajax_getSubjectsFromConcept('".$tag."');>".$label[$tag]."</a> "; } $ret.="</p>"; return $ret; @@ -500,7 +503,7 @@ for ($j=0;($j<30)&&(($i*30+$j)<count($results));$j++) { $result=$results[$i*30+$j]; - $ret.=" <a href=\"\" onclick=\"xajax_getarticle('".str_replace("_"," ",substr (strrchr ($result, "/"), 1))."',-1);return false;\">".urldecode(str_replace("_"," ",substr (strrchr ($result, "/"), 1)))."</a><br/>"; + $ret.=" <a href=\"\" onclick=\"xajax_getarticle('".$result."',-1);return false;\">".urldecode(str_replace("_"," ",substr (strrchr ($result, "/"), 1)))."</a><br/>"; } $ret.="</div>"; $i++; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2008-06-17 10:56:44
|
Revision: 964 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=964&view=rev Author: lorenz_b Date: 2008-06-17 03:56:39 -0700 (Tue, 17 Jun 2008) Log Message: ----------- added some repair-methods and integrated in GUI Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/ConceptPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/LearningPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/NegExampleRepairDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java trunk/src/dl-learner/org/dllearner/tools/ore/RepairPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/WizardController.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ConceptPanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ConceptPanelDescriptor.java 2008-06-17 10:53:42 UTC (rev 963) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ConceptPanelDescriptor.java 2008-06-17 10:56:39 UTC (rev 964) @@ -37,9 +37,10 @@ @Override public void aboutToDisplayPanel() { setNextButtonAccordingToConceptSelected(); - } + } + + - public void valueChanged(ListSelectionEvent e) { setNextButtonAccordingToConceptSelected(); if (!e.getValueIsAdjusting()) @@ -56,6 +57,10 @@ } } + + + + Modified: trunk/src/dl-learner/org/dllearner/tools/ore/LearningPanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/LearningPanelDescriptor.java 2008-06-17 10:53:42 UTC (rev 963) +++ trunk/src/dl-learner/org/dllearner/tools/ore/LearningPanelDescriptor.java 2008-06-17 10:56:39 UTC (rev 964) @@ -4,7 +4,6 @@ import java.awt.event.ActionListener; import java.util.List; import java.util.Timer; -import java.util.TimerTask; import java.util.concurrent.ExecutionException; import javax.swing.SwingUtilities; @@ -14,6 +13,7 @@ import org.dllearner.core.LearningAlgorithm; import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.ObjectSomeRestriction; @@ -25,6 +25,7 @@ LearningPanel panel4; ResultSwingWorker worker; Timer timer; + Boolean canceled = false; public LearningPanelDescriptor() { @@ -56,32 +57,19 @@ LearningAlgorithm la; + @SuppressWarnings("unchecked") @Override public List<Description> doInBackground() { panel4.getResultList().setCellRenderer(new ColumnListCellRenderer(getWizardModel().getOre())); panel4.getLoadingLabel().setBusy(true); panel4.getStatusLabel().setText("Learning"); - getWizardModel().getOre().setNoise(panel4.getNoise()); - la = getWizardModel().getOre().start(); - - + la = getWizardModel().getOre().start();//started endlosen Algorithmus - timer = new Timer(); - timer.schedule(new TimerTask() { - - @SuppressWarnings("unchecked") - @Override - public void run() { - - publish(getWizardModel().getOre().getLearningResults(10)); + publish(la.getBestSolutions(10)); - } - - }, 0, 1000); - List<Description> result = getWizardModel().getOre().getLearningResults(10); return result; @@ -91,7 +79,6 @@ public void done() { - timer.cancel(); List<Description> result = null; try { result = get(); @@ -111,6 +98,7 @@ @Override protected void process(List<List<Description>> resultLists) { panel4.getModel().clear(); + for (List<Description> list : resultLists) { updateList(list); } @@ -123,6 +111,7 @@ panel4.getModel().clear(); for (Description d : result) { panel4.getModel().addElement(d); + } } @@ -177,6 +166,7 @@ worker.execute(); } else{ + canceled = true; panel4.getStopButton().setEnabled(false); getWizardModel().getOre().getLa().stop(); panel4.getStartButton().setEnabled(true); @@ -190,10 +180,25 @@ public void valueChanged(ListSelectionEvent e) { setNextButtonAccordingToConceptSelected(); - if (!e.getValueIsAdjusting()) + if (!e.getValueIsAdjusting()){ getWizardModel().getOre().setConceptToAdd((Description)(panel4.getResultList().getSelectedValue())); + for(Description d: getWizardModel().getOre().getAllChildren((Description)(panel4.getResultList().getSelectedValue()))){ + System.out.println(d + " : " + d.getClass()); + + if(d instanceof ObjectSomeRestriction){ + + + getWizardModel().getOre().getIndividualsOfPropertyRange((ObjectSomeRestriction)d); + + + + } + + } + } + } @Override Modified: trunk/src/dl-learner/org/dllearner/tools/ore/NegExampleRepairDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/NegExampleRepairDialog.java 2008-06-17 10:53:42 UTC (rev 963) +++ trunk/src/dl-learner/org/dllearner/tools/ore/NegExampleRepairDialog.java 2008-06-17 10:56:39 UTC (rev 964) @@ -1,7 +1,6 @@ package org.dllearner.tools.ore; import java.awt.BorderLayout; -import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; @@ -10,7 +9,6 @@ import java.awt.event.ActionListener; import java.util.Set; -import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; @@ -19,13 +17,15 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSeparator; -import javax.swing.JTextArea; -import javax.swing.UIManager; +import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; +import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Individual; import org.dllearner.core.owl.NamedClass; +import org.dllearner.core.owl.Negation; +import org.dllearner.core.owl.ObjectSomeRestriction; import org.dllearner.reasoning.OWLAPIReasoner; public class NegExampleRepairDialog extends JDialog implements ActionListener{ @@ -39,34 +39,41 @@ private JPanel statsPanel; private JPanel actionsPanel; private JPanel ok_cancelPanel; - + private JPanel action_stats_Panel; + + private JButton okButton; private JButton cancelButton; - private JTextArea classesField; - private JScrollPane scrollPane; private ORE ore; private Individual ind; private OWLAPIReasoner reasoner; + private Description actualDesc; + private Description newDesc; + private Individual object; + public NegExampleRepairDialog(Individual ind, JDialog dialog, ORE ore){ - super(dialog, "Auswahl", true); + super(dialog, "Repair negative example", true); this.ind = ind; this.ore = ore; - this.reasoner = ore.reasoner; + this.reasoner = ore.reasoner2; init(); } public void init(){ setSize(700, 700); - setLayout(new GridLayout(3, 0)); + setLayout(new BorderLayout()); + action_stats_Panel = new JPanel(); + action_stats_Panel.setLayout(new GridLayout(2,0)); + statsPanel = new JPanel(); statsPanel.setBorder(new TitledBorder("stats")); - getContentPane().add(statsPanel); + GridBagLayout gbl = new GridBagLayout(); statsPanel.setLayout(gbl); @@ -80,25 +87,18 @@ JLabel descLb1 = new JLabel(ore.conceptToAdd.toString()); JLabel indLb1 = new JLabel(ind.getName()); - Set<NamedClass> t = reasoner.getConcepts(ind); - classesField = new JTextArea(); - String classes = new String(); - for(NamedClass nc : t) - classes += nc.getName() +"\n"; - classesField.setText(classes); - - scrollPane = new JScrollPane(); - scrollPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); - scrollPane.setViewportBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); - scrollPane.setPreferredSize(new Dimension(150,100)); - classesField.setBackground(UIManager.getDefaults().getColor("control")); - classesField.setColumns(20); - classesField.setEditable(false); - classesField.setLineWrap(true); - classesField.setRows(5); - classesField.setWrapStyleWord(true); - scrollPane.setViewportView(classesField); + Set<NamedClass> t = null; + + JPanel classesPanel = new JPanel(new GridLayout(0, 1)); + + t = reasoner.getConcepts(ind); + t.add(ore.getConcept()); + for(NamedClass nc : t) + classesPanel.add(new JLabel(nc.getName())); + + + gbc.gridx = 0; // first column gbc.gridy = 0; // first row gbc.gridwidth = 1; // occupies only one column @@ -160,43 +160,73 @@ gbl.setConstraints(indLb1, gbc); statsPanel.add(indLb1); - gbc.gridx = 2; // third column + gbc.gridx = 1; // second column gbc.gridy = 2; // third row gbc.gridwidth = 1; // occupies only one column gbc.gridheight = 1; // occupies only one row gbc.weightx = 0; // horizontal size for the column is defined already! gbc.weighty = 0; // vertical size for the row is defined already! gbc.fill = GridBagConstraints.HORIZONTAL; // fill horizontally entire cell - gbc.anchor = GridBagConstraints.WEST; // west aligning + gbc.anchor = GridBagConstraints.CENTER; // center aligning - gbl.setConstraints(scrollPane, gbc); - statsPanel.add(scrollPane); +// gbl.setConstraints(scrollPane, gbc); +// statsPanel.add(scrollPane); + gbl.setConstraints(classesPanel, gbc); + statsPanel.add(classesPanel); + - actionsPanel = new JPanel(); + actionsPanel = new JPanel(new GridLayout(0, 1)); + + + actionsPanel.setBorder(new TitledBorder("actions")); JButton delete = new JButton("delete instance"); delete.addActionListener(this); actionsPanel.add(delete); - JButton save = new JButton("save"); - save.addActionListener(this); - actionsPanel.add(save); - getContentPane().add(actionsPanel, java.awt.BorderLayout.EAST); + for(Description d :ore.getCriticalDescriptions(ind, ore.getConceptToAdd())){ + + if(!(d instanceof Negation)){ + if(d instanceof NamedClass){ + actionsPanel.add(new DescriptionButton("remove class assertion to " + d.toString(), d ,this)); + actionsPanel.add(new DescriptionButton("move class assertion " + d.toString() + " to ...", d, this)); + } + else if(d instanceof ObjectSomeRestriction) + actionsPanel.add(new DescriptionButton("remove property assertion " + d.toString(), d, this)); + } + else if(d instanceof Negation){ + if(d.getChild(0) instanceof NamedClass) + actionsPanel.add(new DescriptionButton("add class assertion to " + d.getChild(0).toString(), d, this)); + else if(d.getChild(0) instanceof ObjectSomeRestriction) + actionsPanel.add(new DescriptionButton("add property " + d.toString(), d, this)); + } + } + JScrollPane scroll = new JScrollPane(); + scroll.setViewportView(statsPanel); + action_stats_Panel.add(scroll); + action_stats_Panel.add(actionsPanel); + JSeparator separator = new JSeparator(); Box buttonBox = new Box(BoxLayout.X_AXIS); + ok_cancelPanel = new JPanel(); ok_cancelPanel.setLayout(new BorderLayout()); ok_cancelPanel.add(separator, BorderLayout.NORTH); okButton = new JButton("Ok"); cancelButton = new JButton("Cancel"); + + getContentPane().add(ok_cancelPanel, java.awt.BorderLayout.SOUTH); + getContentPane().add(action_stats_Panel, java.awt.BorderLayout.CENTER); + + buttonBox.setBorder(new EmptyBorder(new Insets(5, 10, 5, 10))); buttonBox.add(okButton); buttonBox.add(Box.createHorizontalStrut(10)); buttonBox.add(cancelButton); ok_cancelPanel.add(buttonBox, BorderLayout.EAST); - getContentPane().add(ok_cancelPanel); + getContentPane().add(ok_cancelPanel, BorderLayout.SOUTH); setModal(true); @@ -205,18 +235,52 @@ } public void actionPerformed(ActionEvent e) { - System.out.println(e.getActionCommand()); + + if(e.getActionCommand().equals("delete instance")){ ore.modi.deleteIndividual(ind); + } + else{ + actualDesc = ((DescriptionButton)e.getSource()).getDescription(); + if(e.getActionCommand().startsWith("remove class")){ + ore.modi.removeClassAssertion(ind, actualDesc); + } + else if(e.getActionCommand().startsWith("move class")){ + SwingUtilities.invokeLater(new Runnable(){ + + @Override + public void run() { + newDesc = (Description)new ChooseDialog(ore, ind).getSelectedElement(); + } + + }); + if(newDesc != null) + ore.modi.moveIndividual(ind, actualDesc, newDesc); + + } + else if(e.getActionCommand().equals("add property")){ + SwingUtilities.invokeLater(new Runnable(){ + + @Override + public void run() { + object = (Individual)new ChooseDialog(ore, actualDesc).getSelectedElement(); + } + + }); + if(newDesc != null) + + ore.modi.addObjectProperty(ind, (ObjectSomeRestriction)actualDesc, object); + } } - if(e.getActionCommand().equals("save")){ - ore.modi.saveOntology(); - } - - } + + + + + + } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java 2008-06-17 10:53:42 UTC (rev 963) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java 2008-06-17 10:56:39 UTC (rev 964) @@ -15,11 +15,14 @@ import org.dllearner.core.KnowledgeSource; import org.dllearner.core.LearningAlgorithm; import org.dllearner.core.LearningProblemUnsupportedException; +import org.dllearner.core.ReasoningMethodUnsupportedException; import org.dllearner.core.ReasoningService; import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Individual; import org.dllearner.core.owl.Intersection; import org.dllearner.core.owl.NamedClass; +import org.dllearner.core.owl.Negation; +import org.dllearner.core.owl.ObjectQuantorRestriction; import org.dllearner.core.owl.Union; import org.dllearner.kb.OWLFile; import org.dllearner.learningproblems.PosNegDefinitionLP; @@ -36,16 +39,19 @@ private PosNegDefinitionLP lp; private ComponentManager cm; - OWLAPIReasoner reasoner; + FastInstanceChecker reasoner; + OWLAPIReasoner reasoner2; SortedSet<Individual> posExamples; SortedSet<Individual> negExamples; NamedClass concept; Description conceptToAdd; OntologyModifierOWLAPI modi; Set<NamedClass> allAtomicConcepts; - private double noise; + private double noise = 0.0; + Thread t; + public ORE() { cm = ComponentManager.getInstance(); @@ -60,7 +66,7 @@ ks = cm.knowledgeSource(owl); cm.applyConfigEntry(ks, "url", f.toURI().toString()); - + try { ks.init(); } catch (ComponentInitException e) { @@ -74,11 +80,20 @@ public void detectReasoner(){ - reasoner = cm.reasoner(OWLAPIReasoner.class, ks); - reasoner.init(); - + reasoner = cm.reasoner(FastInstanceChecker.class, ks); + try { + reasoner.init(); + } catch (ComponentInitException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + rs = cm.reasoningService(reasoner); - modi = new OntologyModifierOWLAPI(reasoner); + reasoner2 = cm.reasoner(OWLAPIReasoner.class, ks); + reasoner2.init(); + + modi = new OntologyModifierOWLAPI(reasoner2); } public ReasoningService getReasoningService(){ @@ -124,6 +139,7 @@ t.add(concept.getName()); cm.applyConfigEntry(la, "ignoredConcepts", t ); cm.applyConfigEntry(la, "noisePercentage", noise); + cm.applyConfigEntry(la, "guaranteeXgoodDescriptions", 5); try { la.init(); } catch (ComponentInitException e) { @@ -145,7 +161,7 @@ this.setLearningAlgorithm(); la.start(); - + return la; } @@ -291,52 +307,160 @@ this.allAtomicConcepts = allAtomicConcepts; } - public void getAllChildren(Description desc){ - - if(desc.getNumberOfNodes() >= 2) - for(Description d: desc.getChildren()) - getAllChildren(d); - System.out.println(desc); - } - + public Set<Description> getAllChildren(Description desc){ + Set<Description> allChildren = new HashSet<Description>(); + List<Description> children = desc.getChildren(); + + if(children.size() >= 2) + for(Description d : children) + allChildren.addAll(getAllChildren(d)); + else + allChildren.add(desc); + + return allChildren; + } + public Set<Description> getCriticalDescriptions(Individual ind, Description desc){ + Set<Description> criticals = new HashSet<Description>(); List<Description> children = desc.getChildren(); - if(desc instanceof Intersection){ - criticals.addAll(children); - } - if(desc instanceof Union){ - for(Description d: children) - if(reasoner.instanceCheck(d, ind)) - criticals.add(d); - } +// if(desc instanceof Negation){ +// if(!(desc.getChild(0) instanceof NamedClass) &&!(desc.getChild(0) instanceof ObjectQuantorRestriction)){ +// negation = !negation; +// criticals.addAll(getCriticalDescriptions(ind, desc.getChild(0))); +// } +// else{ +// if(negation) +// criticals.add(desc.getChild(0)); +// else +// criticals.add(desc); +// +// } +// +// } +// else{ +// +// if(children.size() >= 2){ +// +// if(desc instanceof Intersection){ +// for(Description d: children) +// criticals.addAll(getCriticalDescriptions(ind, d)); +// +// } +// else if(desc instanceof Union){ +// for(Description d: children) +// try { +// if(reasoner.instanceCheck(d, ind)) +// criticals.addAll(getCriticalDescriptions(ind, d)); +// } catch (ReasoningMethodUnsupportedException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// } +// } +// else{ +// +// if(negation) +// criticals.add(new Negation(desc)); +// else +// criticals.add(desc); +// +// } +// +// +// +// } + if(children.size() >= 2){ + + if(desc instanceof Intersection){ + for(Description d: children) + criticals.addAll(getCriticalDescriptions(ind, d)); + + } + else if(desc instanceof Union){ + for(Description d: children) + try { + if(reasoner.instanceCheck(d, ind)) + criticals.addAll(getCriticalDescriptions(ind, d)); + } catch (ReasoningMethodUnsupportedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + else + criticals.add(desc); + return criticals; } + public Set<Individual> getIndividualsOfPropertyRange(ObjectQuantorRestriction objRestr){ + + + System.out.println(objRestr.getChild(0)); + + + Set<Individual> individuals = rs.retrieval(objRestr.getChild(0)); + System.out.println(objRestr.getRole()); + + System.out.println(individuals); + + return individuals; + } + + public Set<NamedClass> getpossibleMoveClasses(Individual ind){ + Set<NamedClass> classes = rs.getAtomicConcepts(); + for(NamedClass nc : classes) + if(rs.instanceCheck(nc, ind)) + classes.remove(nc); + + return classes; + } + + + public static void main(String[] args){ - ORE test = new ORE(); + final ORE test = new ORE(); - File owlFile = new File("src/dl-learner/org/dllearner/tools/ore/father.owl"); + File owlFile = new File("src/dl-learner/org/dllearner/tools/ore/test.owl"); test.setKnowledgeSource(owlFile); test.detectReasoner(); ReasoningService rs = test.getReasoningService(); - System.err.println("Concepts :" + rs.getAtomicConcepts()); +// System.err.println("Concepts :" + rs.getAtomicConcepts()); - test.setConcept(new NamedClass("http://example.com/father#father")); - test.setPosNegExamples(); - System.out.println(test.posExamples); - System.out.println(test.negExamples); - test.start(); - test.la.start();//Bug? +// test.setConcept(new NamedClass("http://example.com/father#father")); +// test.setPosNegExamples(); +// System.out.println(test.posExamples); +// System.out.println(test.negExamples); +// test.start(); + Individual ind = new Individual("http://www.test.owl#lorenz"); + System.out.println(rs.getIndividuals()); + Description d = new Intersection(new NamedClass("http://www.test.owl#A"), new Negation(new Union(new NamedClass("http://www.test.owl#B"), + new Negation(new Intersection(new NamedClass("http://www.test.owl#C"),new Negation(new NamedClass("http://www.test.owl#D"))))))); + System.out.println(d); + System.out.println(test.getCriticalDescriptions(ind, d)); + + + + + + } + + + + +} -} + + + Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java 2008-06-17 10:53:42 UTC (rev 963) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java 2008-06-17 10:56:39 UTC (rev 964) @@ -1,13 +1,15 @@ package org.dllearner.tools.ore; import java.net.URI; -import java.net.URISyntaxException; import java.util.Collections; import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; import java.util.Set; import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.ObjectSomeRestriction; import org.dllearner.reasoning.OWLAPIDescriptionConvertVisitor; import org.dllearner.reasoning.OWLAPIReasoner; import org.semanticweb.owl.apibinding.OWLManager; @@ -18,6 +20,10 @@ import org.semanticweb.owl.model.OWLDataFactory; import org.semanticweb.owl.model.OWLDescription; import org.semanticweb.owl.model.OWLIndividual; +import org.semanticweb.owl.model.OWLInverseObjectPropertiesAxiom; +import org.semanticweb.owl.model.OWLObjectProperty; +import org.semanticweb.owl.model.OWLObjectPropertyAssertionAxiom; +import org.semanticweb.owl.model.OWLObjectPropertyExpression; import org.semanticweb.owl.model.OWLOntology; import org.semanticweb.owl.model.OWLOntologyChangeException; import org.semanticweb.owl.model.OWLOntologyManager; @@ -40,7 +46,8 @@ this.factory = manager.getOWLDataFactory(); this.ontology = reasoner.getOWLAPIOntologies().get(0); } - + + public void addAxiomToOWL(Description newDesc, Description oldDesc){ OWLDescription newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(newDesc); OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(oldDesc); @@ -61,6 +68,7 @@ e.printStackTrace(); } + } public void saveOntology(){ @@ -77,19 +85,14 @@ } } - + /** + * Deletes the complete individual from the ontology + * @param ind + */ public void deleteIndividual(Individual ind){ - OWLIndividual individualOWLAPI = null; + OWLIndividual individualOWLAPI = factory.getOWLIndividual( URI.create(ind.getName())); - try { - individualOWLAPI = factory.getOWLIndividual( new URI(ind.getName())); - } catch (URISyntaxException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - OWLEntityRemover remover = new OWLEntityRemover(manager, Collections.singleton(ontology)); individualOWLAPI.accept(remover); @@ -104,29 +107,50 @@ } - + /** + * Removes a classAssertion + * @param ind + * @param desc + */ public void removeClassAssertion(Individual ind, Description desc){ - OWLIndividual individualOWLAPI = null; + OWLIndividual individualOWLAPI = factory.getOWLIndividual( URI.create(ind.getName())); OWLDescription owlDesc = OWLAPIDescriptionConvertVisitor.getOWLDescription(desc); + OWLClassAssertionAxiom owlCl = factory.getOWLClassAssertionAxiom(individualOWLAPI, owlDesc); + + RemoveAxiom rm = new RemoveAxiom(ontology, owlCl); + try { - individualOWLAPI = factory.getOWLIndividual( new URI(ind.getName())); - } catch (URISyntaxException e) { + manager.applyChange(rm); + } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } + } + /** + * removes classAssertion between individual to a old class, and creates a new classAssertion + * @param ind individual which has to be moved + * @param oldClass class where individual is asserted before + * @param newClass class where individual is moved to + */ + public void moveIndividual(Individual ind, Description oldClass, Description newClass){ - OWLClassAssertionAxiom owlCl = factory.getOWLClassAssertionAxiom(individualOWLAPI, owlDesc); + OWLIndividual individualOWLAPI = factory.getOWLIndividual( URI.create(ind.getName())); + //Loeschen + removeClassAssertion(ind, oldClass); - RemoveAxiom rm = new RemoveAxiom(ontology, owlCl); + //Hinzufuegen + OWLDescription newClassOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(newClass); + + OWLAxiom axiomOWLAPI = factory.getOWLClassAssertionAxiom(individualOWLAPI, newClassOWLAPI); - + AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); try { - manager.applyChange(rm); + manager.applyChange(axiom); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -134,38 +158,87 @@ } - public void moveIndividual(Individual ind, Description oldConcept, Description newConcept){ + public void deleteObjectProperty(Individual ind, ObjectSomeRestriction objSome){ - - OWLIndividual individualOWLAPI = null; + OWLIndividual individualOWLAPI = factory.getOWLIndividual( URI.create(ind.getName())); + OWLObjectProperty propertyOWLAPI = factory.getOWLObjectProperty(URI.create(objSome.getRole().getName())); + Set<OWLObjectPropertyAssertionAxiom> properties = ontology.getObjectPropertyAssertionAxioms(individualOWLAPI); + Set<OWLInverseObjectPropertiesAxiom> invProperties = ontology.getInverseObjectPropertyAxioms(propertyOWLAPI); + OWLObjectPropertyExpression invProperty = null; + + for(OWLInverseObjectPropertiesAxiom inv : invProperties) + if(propertyOWLAPI.equals(inv.getSecondProperty())) + invProperty = inv.getFirstProperty(); + else + invProperty = inv.getSecondProperty(); + + + List<RemoveAxiom> removeList = new LinkedList<RemoveAxiom>(); + + for(OWLObjectPropertyAssertionAxiom o :properties){ + if( (o.getProperty().equals(propertyOWLAPI)) && (o.getSubject().equals(individualOWLAPI))) + removeList.add(new RemoveAxiom(ontology, o)); + if(invProperty != null) + for(OWLObjectPropertyAssertionAxiom ob :ontology.getObjectPropertyAssertionAxioms(o.getObject())) + if(ob.getProperty().equals(invProperty) && ob.getObject().equals(individualOWLAPI)) + removeList.add(new RemoveAxiom(ontology, ob)); + + + } + try { - individualOWLAPI = factory.getOWLIndividual( new URI(ind.getName())); - } catch (URISyntaxException e) { + manager.applyChanges(removeList); + } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - //Loeschen - removeClassAssertion(ind, oldConcept); + } + + + public void addObjectProperty(Individual subInd, ObjectSomeRestriction objSome, Individual objInd){ + OWLIndividual subIndividualOWLAPI = factory.getOWLIndividual( URI.create(subInd.getName())); + OWLIndividual objIndividualOWLAPI = factory.getOWLIndividual( URI.create(objInd.getName())); + OWLObjectProperty propertyOWLAPI = factory.getOWLObjectProperty(URI.create(objSome.getRole().getName())); - //Hinzufuegen + OWLObjectPropertyAssertionAxiom objAssertion = factory.getOWLObjectPropertyAssertionAxiom(subIndividualOWLAPI, propertyOWLAPI, objIndividualOWLAPI); - OWLDescription newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(newConcept); - - OWLAxiom axiomOWLAPI = factory.getOWLClassAssertionAxiom(individualOWLAPI, newConceptOWLAPI); - - AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); + AddAxiom axiom = new AddAxiom(ontology, objAssertion); try { manager.applyChange(axiom); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - } +// public OWLOntology copyOntology(){ +// try{ +// OWLOntology ontologyCopy = manager.createOntology(ontology.getURI()); +// +// +// Set<OWLAxiom> axioms = ontology.getAxioms(); +// List<AddAxiom> changes = new LinkedList<AddAxiom>(); +// for(OWLAxiom a : axioms) +// changes.add(new AddAxiom(ontologyCopy, a)); +// +// manager.applyChanges(changes); +// +// return ontologyCopy; +// +// }catch(OWLException e){ +// e.printStackTrace(); +// return null; +// } +// +// +// } + + + + } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/RepairPanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/RepairPanelDescriptor.java 2008-06-17 10:53:42 UTC (rev 963) +++ trunk/src/dl-learner/org/dllearner/tools/ore/RepairPanelDescriptor.java 2008-06-17 10:56:39 UTC (rev 964) @@ -67,7 +67,9 @@ public void mouseClicked(MouseEvent e) { if(e.getClickCount() == 2 && e.getSource() == panel4.getNegFailureList() ){ - new NegExampleRepairDialog((Individual)panel4.getNegFailureList().getSelectedValue(), getWizard().getDialog(), getWizardModel().getOre() ); + Individual ind = (Individual)panel4.getNegFailureList().getSelectedValue(); + new NegExampleRepairDialog(ind, getWizard().getDialog(), getWizardModel().getOre()); +// System.out.println(getWizardModel().getOre().getCriticalDescriptions(ind, getWizardModel().getOre().conceptToAdd )); } } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/WizardController.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/WizardController.java 2008-06-17 10:53:42 UTC (rev 963) +++ trunk/src/dl-learner/org/dllearner/tools/ore/WizardController.java 2008-06-17 10:56:39 UTC (rev 964) @@ -76,7 +76,7 @@ if( nextPanelDescriptor.equals("REPAIR_PANEL")){ ((RepairPanelDescriptor)wizard.getModel().getPanelHashMap().get(nextPanelDescriptor)).panel4.getNegFailureModel().clear(); ((RepairPanelDescriptor)wizard.getModel().getPanelHashMap().get(nextPanelDescriptor)).panel4.getPosFailureModel().clear(); -// wizard.getModel().getOre().getModi().addAxiomToOWL(wizard.getModel().getOre().getConceptToAdd(), wizard.getModel().getOre().getConcept()); + wizard.getModel().getOre().getModi().addAxiomToOWL(wizard.getModel().getOre().getConceptToAdd(), wizard.getModel().getOre().getConcept()); new FailInstancesRetriever(nextPanelDescriptor).execute(); // for(Description desc : wizard.getModel().getOre().getConceptToAdd().getChildren()) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2008-06-17 10:53:46
|
Revision: 963 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=963&view=rev Author: lorenz_b Date: 2008-06-17 03:53:42 -0700 (Tue, 17 Jun 2008) Log Message: ----------- added method getInconsistentClasses() to class OWLAPIReasoner and interface ReasonerComponent Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/core/ReasonerComponent.java trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java Modified: trunk/src/dl-learner/org/dllearner/core/ReasonerComponent.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/ReasonerComponent.java 2008-06-15 13:46:32 UTC (rev 962) +++ trunk/src/dl-learner/org/dllearner/core/ReasonerComponent.java 2008-06-17 10:53:42 UTC (rev 963) @@ -38,6 +38,7 @@ import org.dllearner.core.owl.ObjectPropertyHierarchy; import org.dllearner.core.owl.SubsumptionHierarchy; import org.dllearner.utilities.datastructures.SortedSetTuple; +import org.semanticweb.owl.model.OWLClass; /** * @author Jens Lehmann @@ -255,4 +256,7 @@ public abstract void releaseKB(); + public Set<OWLClass> getInconsistentClasses() throws ReasoningMethodUnsupportedException{ + throw new ReasoningMethodUnsupportedException(); + } } Modified: trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-06-15 13:46:32 UTC (rev 962) +++ trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-06-17 10:53:42 UTC (rev 963) @@ -938,5 +938,17 @@ public boolean hasDatatypeSupport() { return true; } + + @Override + public Set<OWLClass> getInconsistentClasses(){ + + try { + return reasoner.getInconsistentClasses(); + } catch (OWLReasonerException e) { + e.printStackTrace(); + throw new Error("Inconsistens classes check error in OWL API."); + } + + } } 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-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-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: <jen...@us...> - 2008-06-13 11:20:39
|
Revision: 959 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=959&view=rev Author: jenslehmann Date: 2008-06-13 04:20:31 -0700 (Fri, 13 Jun 2008) Log Message: ----------- continued music recommender Modified Paths: -------------- trunk/src/music-recommender/ajax.php Added Paths: ----------- trunk/examples/yinyang_files/pairLearningProblemCV.xml trunk/src/music-recommender/DLLearnerConnection.php trunk/src/music-recommender/settings.ini Added: trunk/examples/yinyang_files/pairLearningProblemCV.xml =================================================================== --- trunk/examples/yinyang_files/pairLearningProblemCV.xml (rev 0) +++ trunk/examples/yinyang_files/pairLearningProblemCV.xml 2008-06-13 11:20:31 UTC (rev 959) @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> + + +<LearningProblem + +xmlns="http://www.di.uniba.it/learning" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xsi:schemaLocation="http://www.di.uniba.it/learning/../LearningProblem.xsd" + +knowledgeBase="file:../poker/pair50.owl" +positiveExampleSource="pairPositives.txt" +negativeExampleSource="pairNegatives.txt" +abstractionClass="it.uniba.di.dl.abstraction.KBoundMSCApproximatorRefinement" +learn="true" +normalize="true" +consistencyCheck="false" +reasonerURL ="http://localhost:8081" + + +> + + + + +<Experiments> + <kFoldCrossValidation folds="5" + reasonerURL="http://localhost:8081" + positiveExampleSource="pairPositives.txt" + negativeExampleSource="pairNegatives.txt" + abstractionClass="it.uniba.di.dl.abstraction.KBoundMSCApproximatorRefinement" + learn="true" + normalize="true" + consistencyCheck="true" /> + </Experiments> +<Namespaces> + <Namespace uri="http://localhost/foo#"></Namespace> +</Namespaces> + +</LearningProblem> Added: trunk/src/music-recommender/DLLearnerConnection.php =================================================================== --- trunk/src/music-recommender/DLLearnerConnection.php (rev 0) +++ trunk/src/music-recommender/DLLearnerConnection.php 2008-06-13 11:20:31 UTC (rev 959) @@ -0,0 +1,34 @@ +<?php + +/** + * Encapsulates all functions, which require communication with DL-Learner. + * TODO: use SESSION to store client id + * + * @author Jens Lehmann + * @author Anita Janassary + */ +class DLLearnerConnection +{ + private $endpointURL; + private $client; + + function DLLearnerConnection() { + ini_set('default_socket_timeout',200); + + // read in ini values + $ini = parse_ini_file("settings.ini"); + $this->endpointURL = $ini['endpointURL']; + + // connect to DL-Learner-Web-Service + $this->client=new SoapClient($ini["wsdlURLLocal"],array('features' => SOAP_SINGLE_ELEMENT_ARRAYS)); + } + + function sparqlQuery($query) { + $id=$this->client->generateID(); + $ksID=$this->client->addKnowledgeSource($id,"sparql",$this->endpointURL); + $result=$this->client->sparqlQuery($id,$ksID,$query); + return $result; + } + +} +?> \ No newline at end of file Modified: trunk/src/music-recommender/ajax.php =================================================================== --- trunk/src/music-recommender/ajax.php 2008-06-11 16:30:50 UTC (rev 958) +++ trunk/src/music-recommender/ajax.php 2008-06-13 11:20:31 UTC (rev 959) @@ -27,6 +27,7 @@ */ require_once '../dbpedia-navigator/xajax/xajax_core/xajax.inc.php'; +require_once 'DLLearnerConnection.php'; $xajax = new xajax(); @@ -39,9 +40,33 @@ // search for songs matching the search string function doSearch($searchString) { - $newContent = 'searching for '.$searchString.' ... not implemented'; // ToDo: execute a SPARQL query (find labels matching search string) by contacting DL-Learner web service + $query = ' + PREFIX geo: <http://www.geonames.org/ontology#> + PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#> + SELECT DISTINCT ?an ?lat ?long ?name ?population + WHERE { + ?a a mo:MusicArtist; + foaf:based_near ?place; + foaf:name ?an; + foaf:made ?alb. + ?alb tags:taggedWithTag <http://dbtune.org/jamendo/tag/punk>. + ?place + geo:name ?name; + geo:population ?population; + wgs:lat ?lat; + wgs:long ?long + } + ORDER BY ?population'; + try { + $connection = new DLLearnerConnection(); + $result = $connection->sparqlQuery($query); + $newContent = 'searching for '.$searchString.' ... not implemented '.$result; + } catch (Exception $e) { + $newContent = '<b>Search aborted: '.$e->getMessage().'</b>'; + } + $objResponse = new xajaxResponse(); $objResponse->assign("searchElement","innerHTML", $newContent); return $objResponse; Added: trunk/src/music-recommender/settings.ini =================================================================== --- trunk/src/music-recommender/settings.ini (rev 0) +++ trunk/src/music-recommender/settings.ini 2008-06-13 11:20:31 UTC (rev 959) @@ -0,0 +1,7 @@ +;---------------------------------------------------------------------; +; configuration settings for music recommender ; +;---------------------------------------------------------------------; + +wsdlURL = "http://localhost:8181/services?wsdl" +wsdlURLLocal= "main.wsdl" +endpointURL = "http://dbtune.org:2105/sparql/" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-06-11 16:33:19
|
Revision: 958 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=958&view=rev Author: sknappe Date: 2008-06-11 09:30:50 -0700 (Wed, 11 Jun 2008) Log Message: ----------- the article search was a bit changed Modified Paths: -------------- trunk/src/dbpedia-navigator/DLLearnerConnection.php trunk/src/dbpedia-navigator/ajaxfunctions.php Modified: trunk/src/dbpedia-navigator/DLLearnerConnection.php =================================================================== --- trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-06-10 17:22:21 UTC (rev 957) +++ trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-06-11 16:30:50 UTC (rev 958) @@ -119,10 +119,10 @@ return $this->client->getConceptLength($concept); } - function getTriples($label) + function getTriples($uri) { $query="SELECT ?pred ?obj ". - "WHERE {{<http://dbpedia.org/resource/".str_replace(' ','_',$label)."> ?pred ?obj}UNION{<http://dbpedia.org/resource/".str_replace(' ','_',$label)."> <http://dbpedia.org/property/redirect> ?Conc.?Conc ?pred ?obj}}"; + "WHERE {{<".$uri."> ?pred ?obj}UNION{<".$uri."> <http://dbpedia.org/property/redirect> ?Conc.?Conc ?pred ?obj}}"; $result=json_decode($this->getSparqlResultThreaded($query),true); if (count($result['results']['bindings'])==0) throw new Exception("Your query brought no result. The Label-Search is started."); $ret=array(); Modified: trunk/src/dbpedia-navigator/ajaxfunctions.php =================================================================== --- trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-06-10 17:22:21 UTC (rev 957) +++ trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-06-11 16:30:50 UTC (rev 958) @@ -50,8 +50,7 @@ setRunning($id,"true"); //get first Letter of label big - $subject=ucfirst($subject); - $uri="http://dbpedia.org/resource/".str_replace(' ','_',$subject); + $uri=subjectToURI($subject); //if article is in session, get it out of the session if (isset($articles)){ @@ -81,7 +80,7 @@ try{ require_once("DLLearnerConnection.php"); $sc=new DLLearnerConnection($id,$ksID); - $triples=$sc->getTriples($subject); + $triples=$sc->getTriples($uri); //BUILD ARTICLE // goal: display the data in a nice (DBpedia specific way), maybe similar to @@ -455,6 +454,20 @@ // Helper Functions. // /////////////////////// +function subjectToURI($subject) +{ + //delete whitespaces at beginning and end + $subject=trim($subject); + //get first letters big + $subject=ucwords($subject); + //replace spaces with _ + $subject=str_replace(' ','_',$subject); + //add the uri + $subject="http://dbpedia.org/resource/".$subject; + + return $subject; +} + function getTagCloud($tags,$label) { $max=max($tags); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-06-10 17:22:33
|
Revision: 957 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=957&view=rev Author: sknappe Date: 2008-06-10 10:22:21 -0700 (Tue, 10 Jun 2008) Log Message: ----------- Modified Paths: -------------- trunk/src/dbpedia-navigator/Settings.php Modified: trunk/src/dbpedia-navigator/Settings.php =================================================================== --- trunk/src/dbpedia-navigator/Settings.php 2008-06-10 16:56:59 UTC (rev 956) +++ trunk/src/dbpedia-navigator/Settings.php 2008-06-10 17:22:21 UTC (rev 957) @@ -35,14 +35,14 @@ public $dbpediauri='http://dbpedia.openlinksw.com:8890/sparql'; // public DBpedia mirror // public $dbpediauri='http://dbpedia2.openlinksw.com:8890/isparql'; - //in mikrosekunden + // in mikrosekunden public $sparqlttl=60000000; public $language="en"; public $googleMapsKey="ABQIAAAAWwHG9WuZ8hxFSPjRX2-D-hSOxlJeL3USfakgDtFzmQkGhQTW0xTFM1Yr38ho8qREnjt-6oLs37o4xg"; - public useCache=true; + public $useCache=true; } ?> \ 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: <sk...@us...> - 2008-06-10 16:57:05
|
Revision: 956 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=956&view=rev Author: sknappe Date: 2008-06-10 09:56:59 -0700 (Tue, 10 Jun 2008) Log Message: ----------- modified learn to use format cache is now configurable in settings Modified Paths: -------------- trunk/src/dbpedia-navigator/DLLearnerConnection.php trunk/src/dbpedia-navigator/Settings.php Modified: trunk/src/dbpedia-navigator/DLLearnerConnection.php =================================================================== --- trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-06-10 16:51:06 UTC (rev 955) +++ trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-06-10 16:56:59 UTC (rev 956) @@ -42,11 +42,14 @@ function getConceptFromExamples($posExamples,$negExamples) { + require_once("Settings.php"); + $settings=new Settings(); + $this->client->applyConfigEntryInt($this->id, $this->ksID, "recursionDepth",1); $this->client->applyConfigEntryStringArray($this->id, $this->ksID, "instances", array_merge($posExamples,$negExamples)); $this->client->applyConfigEntryString($this->id, $this->ksID, "predefinedFilter", "YAGO"); $this->client->applyConfigEntryString($this->id, $this->ksID, "predefinedEndpoint", "DBPEDIA"); - + $this->client->applyConfigEntryBoolean($this->id, $this->ksID, "useCache", $settings->useCache); $this->client->setReasoner($this->id, "fastInstanceChecker"); if(empty($negExamples)) $this->client->setLearningProblem($this->id, "posOnlyDefinition"); @@ -65,7 +68,7 @@ if($threaded == false) { - $concept = $this->client->learn($this->id); + $concept = $this->client->learn($this->id,'kb'); } else { Modified: trunk/src/dbpedia-navigator/Settings.php =================================================================== --- trunk/src/dbpedia-navigator/Settings.php 2008-06-10 16:51:06 UTC (rev 955) +++ trunk/src/dbpedia-navigator/Settings.php 2008-06-10 16:56:59 UTC (rev 956) @@ -41,6 +41,8 @@ public $language="en"; public $googleMapsKey="ABQIAAAAWwHG9WuZ8hxFSPjRX2-D-hSOxlJeL3USfakgDtFzmQkGhQTW0xTFM1Yr38ho8qREnjt-6oLs37o4xg"; + + public useCache=true; } ?> \ 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: <sk...@us...> - 2008-06-10 16:51:13
|
Revision: 955 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=955&view=rev Author: sknappe Date: 2008-06-10 09:51:06 -0700 (Tue, 10 Jun 2008) Log Message: ----------- I don't use SparqlQueryThreaded anymore Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/src/dl-learner/org/dllearner/server/ClientState.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-06-10 15:51:54 UTC (rev 954) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-06-10 16:51:06 UTC (rev 955) @@ -66,7 +66,7 @@ //DEFAULTS static int recursionDepthDefault = 1; - + private boolean useCache=true; // ConfigOptions public URL url; // String host; @@ -164,6 +164,8 @@ options.add(new BooleanConfigOption("learnDomain", "learns the Domain for a Role")); + options.add(new BooleanConfigOption("useCache", + "If true a Cache is used")); options.add(new BooleanConfigOption("learnRange", "learns the Range for a Role")); options.add(new StringConfigOption("role", @@ -232,7 +234,9 @@ dumpToFile = (Boolean) entry.getValue(); } else if (option.equals("useLits")) { useLits = (Boolean) entry.getValue(); - } else if (option.equals("getAllSuperClasses")) { + } else if (option.equals("useCache")) { + useCache = (Boolean) entry.getValue(); + }else if (option.equals("getAllSuperClasses")) { getAllSuperClasses = (Boolean) entry.getValue(); /* * TODO remaove } else if (option.equals("learnDomain")) { @@ -415,9 +419,6 @@ return new SparqlQuery(query, endpoint); } - public SparqlQueryThreaded sparqlQueryThreaded(String query){ - return new SparqlQueryThreaded(new Cache("cache"),this.sparqlQuery(query)); - } /* (non-Javadoc) * @see org.dllearner.core.KnowledgeSource#toKB() @@ -431,6 +432,14 @@ public URL getNTripleURL(){ return dumpFile; } + + public boolean getUseCache(){ + return useCache; + } + + public String getCacheDir(){ + return cacheDir; + } /*public static void main(String[] args) throws MalformedURLException { String query = "SELECT ?pred ?obj\n" Modified: trunk/src/dl-learner/org/dllearner/server/ClientState.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/ClientState.java 2008-06-10 15:51:54 UTC (rev 954) +++ trunk/src/dl-learner/org/dllearner/server/ClientState.java 2008-06-10 16:51:06 UTC (rev 955) @@ -34,6 +34,7 @@ import org.dllearner.core.ReasoningService; import org.dllearner.kb.OWLFile; import org.dllearner.kb.sparql.SparqlKnowledgeSource; +import org.dllearner.kb.sparql.SparqlQuery; import org.dllearner.kb.sparql.SparqlQueryThreaded; /** @@ -51,7 +52,7 @@ private Set<KnowledgeSource> knowledgeSources = new HashSet<KnowledgeSource>(); - private Map<Integer, SparqlQueryThreaded> queryIDs = new HashMap<Integer, SparqlQueryThreaded>(); + private Map<Integer, SparqlQuery> queryIDs = new HashMap<Integer, SparqlQuery>(); private LearningProblem learningProblem; @@ -73,7 +74,7 @@ return id; } - private int generateQueryID(SparqlQueryThreaded query) { + private int generateQueryID(SparqlQuery query) { int id; Random rand = new Random(); do { @@ -83,11 +84,11 @@ return id; } - public int addQuery(SparqlQueryThreaded query){ + public int addQuery(SparqlQuery query){ return this.generateQueryID(query); } - public SparqlQueryThreaded getQuery(int id){ + public SparqlQuery getQuery(int id){ return queryIDs.get(id); } Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-10 15:51:54 UTC (rev 954) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-10 16:51:06 UTC (rev 955) @@ -61,6 +61,7 @@ import org.dllearner.kb.sparql.SparqlQueryDescriptionConvertVisitor; import org.dllearner.kb.sparql.SparqlQueryException; import org.dllearner.kb.sparql.SparqlQueryThreaded; +import org.dllearner.kb.sparql.Cache; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.learningproblems.PosNegInclusionLP; import org.dllearner.learningproblems.PosOnlyDefinitionLP; @@ -536,11 +537,16 @@ { final ClientState state = getState(sessionID); Component component = state.getComponent(componentID); - final int id=state.addQuery(((SparqlKnowledgeSource)component).sparqlQueryThreaded(query)); + final SparqlKnowledgeSource ks=(SparqlKnowledgeSource)component; + final int id=state.addQuery(ks.sparqlQuery(query)); Thread sparqlThread = new Thread() { @Override public void run() { - state.getQuery(id).send(); + if (ks.getUseCache()){ + Cache cache=new Cache(ks.getCacheDir()); + cache.executeSparqlQuery(state.getQuery(id)); + } + else state.getQuery(id).send(); } }; sparqlThread.start(); @@ -552,8 +558,13 @@ { ClientState state = getState(sessionID); Component component = state.getComponent(componentID); - SparqlQueryThreaded sparql=((SparqlKnowledgeSource)component).sparqlQueryThreaded(query); - sparql.send(); + SparqlKnowledgeSource ks=(SparqlKnowledgeSource)component; + SparqlQuery sparql=ks.sparqlQuery(query); + if (ks.getUseCache()){ + Cache cache=new Cache(ks.getCacheDir()); + cache.executeSparqlQuery(sparql); + } + else sparql.send(); return sparql.getResult(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-06-10 15:52:33
|
Revision: 954 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=954&view=rev Author: sknappe Date: 2008-06-10 08:51:54 -0700 (Tue, 10 Jun 2008) Log Message: ----------- Added Manipulator Interface and changed classes accordingly Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/DBpediaNavigationSuggestor.java trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java trunk/src/dl-learner/org/dllearner/kb/extraction/Configuration.java trunk/src/dl-learner/org/dllearner/kb/extraction/ExtractionAlgorithm.java trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java trunk/src/dl-learner/org/dllearner/kb/extraction/Manipulator.java trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java trunk/src/dl-learner/org/dllearner/kb/extraction/PropertyNode.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/src/dl-learner/org/dllearner/test/ComponentTest.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorManipulator.java trunk/src/dl-learner/org/dllearner/kb/extraction/ManipulatorType.java trunk/src/dl-learner/org/dllearner/kb/extraction/Manipulators.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/DBpediaNavigationSuggestor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/DBpediaNavigationSuggestor.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/algorithms/DBpediaNavigationSuggestor.java 2008-06-10 15:51:54 UTC (rev 954) @@ -152,6 +152,5 @@ @Override public Score getSolutionScore() { return learner.getSolutionScore(); - } - + } } Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java 2008-06-10 15:51:54 UTC (rev 954) @@ -41,7 +41,7 @@ // expands all directly connected nodes @Override - public Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulator m) { + public Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulators m) { Set<StringTuple> s = tsq.getTupelForResource(this.uri); // see manipulator @@ -85,7 +85,7 @@ // gets the types for properties recursively @Override - public void expandProperties(TypedSparqlQueryInterface tsq, Manipulator m) { + public void expandProperties(TypedSparqlQueryInterface tsq, Manipulators m) { } /* Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/Configuration.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/Configuration.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/Configuration.java 2008-06-10 15:51:54 UTC (rev 954) @@ -32,7 +32,7 @@ private SparqlEndpoint endpoint; private SparqlQueryType sparqlQueryType; - private Manipulator manipulator; + private Manipulators manipulator; // the following needs to be moved to // class extraction algorithm or manipulator private int recursiondepth; @@ -43,7 +43,7 @@ public String cacheDir="cache"; public Configuration(SparqlEndpoint specificSparqlEndpoint, - SparqlQueryType sparqlQueryType, Manipulator manipulator, + SparqlQueryType sparqlQueryType, Manipulators manipulator, int recursiondepth, boolean getAllSuperClasses, boolean closeAfterRecursion, String cacheDir) { this.endpoint = specificSparqlEndpoint; @@ -64,7 +64,7 @@ } - public Manipulator getManipulator() { + public Manipulators getManipulator() { return this.manipulator; } Added: trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorManipulator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorManipulator.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorManipulator.java 2008-06-10 15:51:54 UTC (rev 954) @@ -0,0 +1,120 @@ +/** + * Copyright (C) 2007, Sebastian Hellmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.kb.extraction; + +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.Set; + +import org.dllearner.utilities.datastructures.StringTuple; + +/** + * Used to manipulate retrieved tupels, identify blanknodes, etc. + * + * @author Sebastian Hellmann + * + */ +public class DBpediaNavigatorManipulator implements Manipulators{ + public final String subclass = "http://www.w3.org/2000/01/rdf-schema#subClassOf"; + public final String type = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; + final String objectProperty = "http://www.w3.org/2002/07/owl#ObjectProperty"; + final String classns = "http://www.w3.org/2002/07/owl#Class"; + final String thing = "http://www.w3.org/2002/07/owl#Thing"; + + public String blankNodeIdentifier = "bnode"; + public int breakSuperClassRetrievalAfter = 200; + public LinkedList<StringTuple> replacePredicate; + public LinkedList<StringTuple> replaceObject; + + // Set<String> classproperties; + + public DBpediaNavigatorManipulator(String blankNodeIdentifier, + int breakSuperClassRetrievalAfter, + LinkedList<StringTuple> replacePredicate, + LinkedList<StringTuple> replaceObject) { + this.blankNodeIdentifier = blankNodeIdentifier; + this.replaceObject = replaceObject; + this.replacePredicate = replacePredicate; + this.breakSuperClassRetrievalAfter = breakSuperClassRetrievalAfter; + // Set<String> classproperties = new HashSet<String>(); + // classproperties.add(subclass); + + } + + /** + * this checks for consistency and manipulates the tuples, before they get + * triple + * + * @param tuples + * tuples for the node + * @param node + * @return + */ + public Set<StringTuple> check(Set<StringTuple> tuples, Node node) { + Set<StringTuple> toRemove = new HashSet<StringTuple>(); + Iterator<StringTuple> it = tuples.iterator(); + while (it.hasNext()) { + StringTuple t = (StringTuple) it.next(); + + replacePredicate(t); + replaceObject(t); + + + // remove <rdf:type, owl:class> + // this is done to avoid transformation to owl:subclassof + if (t.a.equals(type) && t.b.equals(classns) + && node instanceof ClassNode) { + toRemove.add(t); + } + + // all with type class + if (t.b.equals(classns) && node instanceof ClassNode) { + toRemove.add(t); + } + + // remove all instances with owl:type thing + if (t.a.equals(type) && t.b.equals(thing) + && node instanceof InstanceNode) { + toRemove.add(t); + } + + } + tuples.removeAll(toRemove); + + return tuples; + } + + private void replacePredicate(StringTuple t) { + for (StringTuple rep : replacePredicate) { + if (rep.a.equals(t.a)) { + t.a = rep.b; + } + } + } + + private void replaceObject(StringTuple t) { + for (StringTuple rep : replaceObject) { + if (rep.a.equals(t.a)) { + t.a = rep.b; + } + } + } +} Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/ExtractionAlgorithm.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/ExtractionAlgorithm.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/ExtractionAlgorithm.java 2008-06-10 15:51:54 UTC (rev 954) @@ -34,7 +34,7 @@ public class ExtractionAlgorithm { private Configuration configuration; - private Manipulator manipulator; + private Manipulators manipulator; private int recursionDepth = 1; // private boolean getAllSuperClasses = true; // private boolean closeAfterRecursion = true; Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java 2008-06-10 15:51:54 UTC (rev 954) @@ -47,7 +47,7 @@ // expands all directly connected nodes @Override - public Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulator m) { + public Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulators m) { Set<StringTuple> s = tsq.getTupelForResource(uri); // see Manipulator @@ -86,7 +86,7 @@ // gets the types for properties recursively @Override - public void expandProperties(TypedSparqlQueryInterface tsq, Manipulator m) { + public void expandProperties(TypedSparqlQueryInterface tsq, Manipulators m) { for (PropertyNode one : properties) { one.expandProperties(tsq, m); } Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java 2008-06-10 15:51:54 UTC (rev 954) @@ -47,7 +47,7 @@ public void useConfiguration(SparqlQueryType SparqlQueryType, - SparqlEndpoint SparqlEndpoint, Manipulator manipulator, + SparqlEndpoint SparqlEndpoint, Manipulators manipulator, int recursiondepth, boolean getAllSuperClasses, boolean closeAfterRecursion, String cacheDir) { Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/Manipulator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/Manipulator.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/Manipulator.java 2008-06-10 15:51:54 UTC (rev 954) @@ -32,7 +32,7 @@ * @author Sebastian Hellmann * */ -public class Manipulator { +public class Manipulator implements Manipulators{ public final String subclass = "http://www.w3.org/2000/01/rdf-schema#subClassOf"; public final String type = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; final String objectProperty = "http://www.w3.org/2002/07/owl#ObjectProperty"; Added: trunk/src/dl-learner/org/dllearner/kb/extraction/ManipulatorType.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/ManipulatorType.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/ManipulatorType.java 2008-06-10 15:51:54 UTC (rev 954) @@ -0,0 +1,23 @@ +package org.dllearner.kb.extraction; + +import java.util.LinkedList; + +import org.dllearner.utilities.datastructures.StringTuple; + + +/** + * Used to get the right manipulator + * + * @author Sebastian Knappe + * + */ +public class ManipulatorType { + + public static Manipulators getManipulatorByName(String predefinedManipulator,String blankNodeIdentifier, int breakSuperClassRetrievalAfter, LinkedList<StringTuple> replacePredicate,LinkedList<StringTuple> replaceObject) + { + if (predefinedManipulator.equals("DBPEDIA-NAVIGATOR")) return new DBpediaNavigatorManipulator(blankNodeIdentifier, + breakSuperClassRetrievalAfter, replacePredicate, replaceObject); + else return new Manipulator(blankNodeIdentifier, + breakSuperClassRetrievalAfter, replacePredicate, replaceObject); + } +} Added: trunk/src/dl-learner/org/dllearner/kb/extraction/Manipulators.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/Manipulators.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/Manipulators.java 2008-06-10 15:51:54 UTC (rev 954) @@ -0,0 +1,15 @@ +package org.dllearner.kb.extraction; + +import java.util.Set; + +import org.dllearner.utilities.datastructures.StringTuple; + +public interface Manipulators { + + public int breakSuperClassRetrievalAfter = 200; + public final String subclass = "http://www.w3.org/2000/01/rdf-schema#subClassOf"; + public final String type = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; + public String blankNodeIdentifier = "bnode"; + + public Set<StringTuple> check(Set<StringTuple> tuples, Node node); +} Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java 2008-06-10 15:51:54 UTC (rev 954) @@ -55,7 +55,7 @@ * @return Vector<Node> all Nodes that are new because of expansion */ public abstract Vector<Node> expand( - TypedSparqlQueryInterface typedSparqlQuery, Manipulator manipulator); + TypedSparqlQueryInterface typedSparqlQuery, Manipulators manipulator); /** * gets type defs for properties like rdf:type SymmetricProperties @@ -65,7 +65,7 @@ * @return Vector<Node> */ public abstract void expandProperties( - TypedSparqlQueryInterface typedSparqlQuery, Manipulator manipulator); + TypedSparqlQueryInterface typedSparqlQuery, Manipulators manipulator); /** * output Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/PropertyNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/PropertyNode.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/PropertyNode.java 2008-06-10 15:51:54 UTC (rev 954) @@ -53,13 +53,13 @@ // Property Nodes are normally not expanded, // this function is never called @Override - public Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulator m) { + public Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulators m) { return null; } // gets the types for properties recursively @Override - public void expandProperties(TypedSparqlQueryInterface tsq, Manipulator m) { + public void expandProperties(TypedSparqlQueryInterface tsq, Manipulators m) { b.expandProperties(tsq, m); Set<StringTuple> s = tsq.getTupelForResource(uri); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-06-10 15:51:54 UTC (rev 954) @@ -46,6 +46,8 @@ import org.dllearner.core.owl.KB; import org.dllearner.kb.extraction.Manager; import org.dllearner.kb.extraction.Manipulator; +import org.dllearner.kb.extraction.ManipulatorType; +import org.dllearner.kb.extraction.Manipulators; import org.dllearner.parser.KBParser; import org.dllearner.reasoning.DIGConverter; import org.dllearner.reasoning.JenaOWLDIGConverter; @@ -73,6 +75,7 @@ private int recursionDepth = recursionDepthDefault; private String predefinedFilter = null; private String predefinedEndpoint = null; + private String predefinedManipulator = "STANDARD"; private Set<String> predList = new HashSet<String>(); private Set<String> objList = new HashSet<String>(); // private Set<String> classList; @@ -136,7 +139,8 @@ "the mode of the SPARQL Filter, use one of YAGO,SKOS,YAGOSKOS , YAGOSPECIALHIERARCHY, TEST")); options.add(new StringConfigOption("predefinedEndpoint", "the mode of the SPARQL Filter, use one of DBPEDIA, LOCAL, GOVTRACK, REVYU, MYOPENLINK, FACTBOOK")); - + options.add(new StringConfigOption("predefinedManipulator", + "the mode of the Manipulator, use one of STANDARD, DBPEDIA-NAVIGATOR")); options.add(new StringSetConfigOption("predList", "list of all ignored roles")); options.add(new StringSetConfigOption("objList", @@ -220,6 +224,8 @@ predefinedEndpoint = ((String) entry.getValue()).toUpperCase(); } else if (option.equals("predefinedFilter")) { predefinedFilter = ((String) entry.getValue()).toUpperCase(); + } else if (option.equals("predefinedManipulator")) { + predefinedManipulator = ((String) entry.getValue()).toUpperCase(); } else if (option.equals("format")) { format = (String) entry.getValue(); } else if (option.equals("dumpToFile")) { @@ -292,7 +298,7 @@ Manager m = new Manager(); SparqlQueryType sparqlQueryType = null; // get Options for Manipulator - Manipulator manipulator = new Manipulator(blankNodeIdentifier, + Manipulators manipulator = ManipulatorType.getManipulatorByName(predefinedManipulator, blankNodeIdentifier, breakSuperClassRetrievalAfter, replacePredicate, replaceObject); // get Options for endpoints Modified: trunk/src/dl-learner/org/dllearner/test/ComponentTest.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/ComponentTest.java 2008-06-10 15:48:27 UTC (rev 953) +++ trunk/src/dl-learner/org/dllearner/test/ComponentTest.java 2008-06-10 15:51:54 UTC (rev 954) @@ -23,6 +23,7 @@ import java.util.Set; import java.util.TreeSet; +import org.dllearner.algorithms.DBpediaNavigationSuggestor; import org.dllearner.algorithms.RandomGuesser; import org.dllearner.core.ComponentInitException; import org.dllearner.core.ComponentManager; @@ -35,6 +36,7 @@ import org.dllearner.kb.OWLFile; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.reasoning.DIGReasoner; +import org.dllearner.reasoning.OWLAPIReasoner; /** * Test for component based design. @@ -55,12 +57,12 @@ // create knowledge source KnowledgeSource source = cm.knowledgeSource(OWLFile.class); - String example = "examples/family/father.owl"; + String example = "examples/family/uncle.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); + ReasonerComponent reasoner = cm.reasoner(OWLAPIReasoner.class, source); // ReasoningService rs = cm.reasoningService(DIGReasonerNew.class, source); reasoner.init(); ReasoningService rs = cm.reasoningService(reasoner); @@ -68,29 +70,31 @@ // 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"); + positiveExamples.add("http://localhost/foo#heinz"); + positiveExamples.add("http://localhost/foo#alex"); 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"); + negativeExamples.add("http://localhost/foo#jan"); + negativeExamples.add("http://localhost/foo#anna"); + negativeExamples.add("http://localhost/foo#hanna"); 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); + la = cm.learningAlgorithm(DBpediaNavigationSuggestor.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(); - + try{ + la.init(); + }catch (Exception e){ + } + // start the algorithm and print the best concept found la.start(); System.out.println(la.getBestSolution()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-06-10 15:48:44
|
Revision: 953 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=953&view=rev Author: sknappe Date: 2008-06-10 08:48:27 -0700 (Tue, 10 Jun 2008) Log Message: ----------- Modified Paths: -------------- trunk/src/dbpedia-navigator/DLLearnerConnection.php trunk/src/dbpedia-navigator/Settings.php Modified: trunk/src/dbpedia-navigator/DLLearnerConnection.php =================================================================== --- trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-06-10 15:08:22 UTC (rev 952) +++ trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-06-10 15:48:27 UTC (rev 953) @@ -124,8 +124,8 @@ if (count($result['results']['bindings'])==0) throw new Exception("Your query brought no result. The Label-Search is started."); $ret=array(); foreach ($result['results']['bindings'] as $results){ - $value=$results['obj']; - if (!(isset($value['xml:lang'])&&($value['xml:lang']!=$this->lang))) $ret[$results['pred']['value']][]=$value; + $value=$results['obj']; + if (!(isset($value['xml:lang'])&&($value['xml:lang']!=$this->lang))) $ret[$results['pred']['value']][]=$value; } return $ret; Modified: trunk/src/dbpedia-navigator/Settings.php =================================================================== --- trunk/src/dbpedia-navigator/Settings.php 2008-06-10 15:08:22 UTC (rev 952) +++ trunk/src/dbpedia-navigator/Settings.php 2008-06-10 15:48:27 UTC (rev 953) @@ -35,7 +35,7 @@ public $dbpediauri='http://dbpedia.openlinksw.com:8890/sparql'; // public DBpedia mirror // public $dbpediauri='http://dbpedia2.openlinksw.com:8890/isparql'; - + //in mikrosekunden public $sparqlttl=60000000; public $language="en"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-06-10 15:08:27
|
Revision: 952 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=952&view=rev Author: heeroyuy Date: 2008-06-10 08:08:22 -0700 (Tue, 10 Jun 2008) Log Message: ----------- -modified init() to accept OWLAPIOntology Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java Modified: trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-06-10 15:07:29 UTC (rev 951) +++ trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-06-10 15:08:22 UTC (rev 952) @@ -58,6 +58,7 @@ import org.dllearner.core.owl.TypedConstant; import org.dllearner.core.owl.UntypedConstant; import org.dllearner.kb.OWLFile; +import org.dllearner.kb.OWLAPIOntology; import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.utilities.owl.ConceptComparator; import org.dllearner.utilities.owl.RoleComparator; @@ -182,7 +183,7 @@ for(KnowledgeSource source : sources) { - if(source instanceof OWLFile || source instanceof SparqlKnowledgeSource ) { + if(source instanceof OWLFile || source instanceof SparqlKnowledgeSource || source instanceof OWLAPIOntology) { URL url=null; if(source instanceof OWLFile){ url = ((OWLFile)source).getURL(); @@ -192,6 +193,30 @@ } try { + if(source instanceof OWLAPIOntology) + { + System.out.println(source instanceof OWLAPIOntology); + System.out.println("JUHU es geht"); + OWLOntology ontology = ((OWLAPIOntology)source).getOWLOntolgy(); + owlAPIOntologies.add(ontology); + allImports.addAll(manager.getImportsClosure(ontology)); + classes.addAll(ontology.getReferencedClasses()); + owlObjectProperties.addAll(ontology.getReferencedObjectProperties()); + owlDatatypeProperties.addAll(ontology.getReferencedDataProperties()); + owlIndividuals.addAll(ontology.getReferencedIndividuals()); + + // TODO: this obviously works only for exactly one knowledge source + OWLOntologyFormat format = manager.getOntologyFormat(ontology); + if(format instanceof NamespaceOWLOntologyFormat) + { + prefixes = ((NamespaceOWLOntologyFormat)format).getNamespacesByPrefixMap(); + baseURI = prefixes.get(""); + prefixes.remove(""); + } + } + else + { + System.out.println(":'S"); OWLOntology ontology = manager.loadOntologyFromPhysicalURI(url.toURI()); owlAPIOntologies.add(ontology); allImports.addAll(manager.getImportsClosure(ontology)); @@ -207,8 +232,10 @@ baseURI = prefixes.get(""); prefixes.remove(""); } + } - } catch (OWLOntologyCreationException e) { + } + catch (OWLOntologyCreationException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hee...@us...> - 2008-06-10 15:07:33
|
Revision: 951 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=951&view=rev Author: heeroyuy Date: 2008-06-10 08:07:29 -0700 (Tue, 10 Jun 2008) Log Message: ----------- -changed setKnowledgeSource() from OWLFile to OWLAPIOntology Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-10 11:17:42 UTC (rev 950) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-10 15:07:29 UTC (rev 951) @@ -8,8 +8,6 @@ import java.util.Iterator; import java.util.SortedSet; -import java.io.*; - import javax.swing.DefaultListModel; import javax.swing.JCheckBox; @@ -30,7 +28,6 @@ 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; @@ -281,15 +278,15 @@ */ public void setKnowledgeSource() { - this.source = cm.knowledgeSource(OWLFile.class); - String uri=getUri(); + 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(); - } + }*/ } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |