Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Problem with individual IDs in SWRL rules

Melanie Hilario Melanie.Hilario at unige.ch
Wed Aug 26 02:28:17 PDT 2009


Hello,

I have problems with SWRL rules that use individual IDs rather than
variables. The following example is a highly simplified version of the rule I
really want (which cannot be obtained via a simple property chain):

OperatorExecution(?x), executes(?x, ?op), implements(?op, NaiveBayesKernel)
-> implements(?x, NaiveBayesKernel)

Here, NaiveBayesKernel is an individual member of the class BayesianAlgorithm
(and therefore of the class Algorithm). Weka-NaiveBayesKernel is an operator
that implements NaiveBayesKernel. If I have an object Opex001, which executes
Weka-NaiveBayesKernel, I get the expected result.
That is, the Pellet reasoner does infer:

    Opex001 implements NaiveBayesKernel

The problem is that there is no way of saving the resulting ontology: I get the
following error message each time I try to save:

Error 1 Logged at Wed Aug 26 10:43:56 CEST 2009
IllegalStateException: Node is null. Attempting to get node for NaiveBayesKernel
org.coode.owl.rdf.model.AbstractTranslator.getNode(AbstractTranslator.java:957)
org.coode.owl.rdf.model.AbstractTranslator.addTriple(AbstractTranslator.java:991)
org.coode.owl.rdf.model.AbstractTranslator.visit(AbstractTranslator.java:720)
uk.ac.manchester.cs.owl.SWRLClassAtomImpl.accept(SWRLClassAtomImpl.java:47) 
org.coode.owl.rdf.model.AbstractTranslator.getNode(AbstractTranslator.java:954) 
 
org.coode.owl.rdf.model.AbstractTranslator.translateList(AbstractTranslator.java:974) 
  org.coode.owl.rdf.model.AbstractTranslator.addTriple(AbstractTranslator.java:1000)
org.coode.owl.rdf.model.AbstractTranslator.visit(AbstractTranslator.java:705)
uk.ac.manchester.cs.owl.SWRLRuleImpl.accept(SWRLRuleImpl.java:171) 
org.coode.owl.rdf.renderer.RDFRendererBase.createGraph(RDFRendererBase.java:403)
org.coode.owl.rdf.renderer.RDFRendererBase.render(RDFRendererBase.java:258) 
org.coode.owl.rdf.rdfxml.RDFXMLOntologyStorer.storeOntology(RDFXMLOntologyStorer.java:54)
org.semanticweb.owl.util.AbstractOWLOntologyStorer.storeOntology(AbstractOWLOntologyStorer.java:63)
uk.ac.manchester.cs.owl.OWLOntologyManagerImpl.saveOntology(OWLOntologyManagerImpl.java:575)
org.protege.editor.owl.model.OWLModelManagerImpl.save(OWLModelManagerImpl.java:526)
org.protege.editor.owl.OWLEditorKit.handleSaveAs(OWLEditorKit.java:214)
org.protege.editor.owl.OWLEditorKit.handleSaveAs(OWLEditorKit.java:190) 
org.protege.editor.core.ProtegeManager.saveEditorKitAs(ProtegeManager.java:223)
org.protege.editor.core.ui.action.SaveAsAction.actionPerformed(SaveAsAction.java:22)
     javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
     javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
     javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
     javax.swing.DefaultButtonModel.setPressed(Unknown Source)
     javax.swing.AbstractButton.doClick(Unknown Source)
     javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
     javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
     java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
     java.awt.Component.processMouseEvent(Unknown Source)
     javax.swing.JComponent.processMouseEvent(Unknown Source)
     java.awt.Component.processEvent(Unknown Source)
     java.awt.Container.processEvent(Unknown Source)
     java.awt.Component.dispatchEventImpl(Unknown Source)
     java.awt.Container.dispatchEventImpl(Unknown Source)
     java.awt.Component.dispatchEvent(Unknown Source)
     java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
     java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
     java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
     java.awt.Container.dispatchEventImpl(Unknown Source)
     java.awt.Window.dispatchEventImpl(Unknown Source)
     java.awt.Component.dispatchEvent(Unknown Source)
     java.awt.EventQueue.dispatchEvent(Unknown Source)
     java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
     java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
     java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     java.awt.EventDispatchThread.run(Unknown Source)
---------------------------------------------------------------------------------------------------

Could anyone help me with this problem? I'm using Protégé 4.

Thanks a lot!
Melanie



More information about the protege-owl mailing list