Hi,
Thanks for your help ! I tried the swrlb:notEqual() but it makes an
error (see below). Someone know what's the problem with that ? I also
tried to use differentFrom() : no error but no result. The rule doesn't
produces any inference...
Laurent
Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError:
jess.Value.symbolValue(Ljess/Context;)Ljava/lang/String;
»···at
edu.stanford.smi.protegex.owl.swrl.bridge.jess.SWRLJessBridge.createInfoFromValue(Unknown
Source)
»···at
edu.stanford.smi.protegex.owl.swrl.bridge.jess.SWRLJessBridge.access$100(Unknown
Source)
»···at
edu.stanford.smi.protegex.owl.swrl.bridge.jess.SWRLJessBridge$InvokeSWRLBuiltInUserFunction.call(Unknown
Source)
»···at jess.ep.a(Unknown Source)
»···at jess.Funcall.execute(Unknown Source)
»···at jess.FuncallValue.resolveValue(Unknown Source)
»···at jess.Test1.doTest(Unknown Source)
»···at jess.NodeJoin.a(Unknown Source)
»···at jess.NodeJoin.callNodeLeft(Unknown Source)
»···at jess.NodeJoin.int(Unknown Source)
»···at jess.Node2.if(Unknown Source)
»···at jess.Node2.a(Unknown Source)
»···at jess.Node2.a(Unknown Source)
»···at jess.Node1.for(Unknown Source)
»···at jess.bd.a(Unknown Source)
»···at jess.Node1.for(Unknown Source)
»···at jess.am.a(Unknown Source)
»···at jess.Rete.a(Unknown Source)
»···at jess.ax.a(Unknown Source)
»···at jess.Rete.addDefrule(Unknown Source)
»···at jess.Jesp.a(Unknown Source)
»···at jess.Jesp.do(Unknown Source)
»···at jess.Jesp.int(Unknown Source)
»···at jess.Jesp.for(Unknown Source)
»···at jess.Jesp.parse(Unknown Source)
»···at jess.Rete.executeCommand(Unknown Source)
»···at jess.Rete.executeCommand(Unknown Source)
»···at
edu.stanford.smi.protegex.owl.swrl.bridge.jess.SWRLJessBridge.executeCommand(Unknown
Source)
»···at
edu.stanford.smi.protegex.owl.swrl.bridge.jess.SWRLJessBridge.defineRule(Unknown
Source)
»···at
edu.stanford.smi.protegex.owl.swrl.bridge.SWRLRuleEngineBridge.exportSWRLRules(Unknown
Source)
»···at
edu.stanford.smi.protegex.owl.swrl.bridge.SWRLRuleEngineBridge.exportSWRLRulesAndOWLKnowledge(Unknown
Source)
»···at
edu.stanford.smi.protegex.owl.swrl.bridge.jess.ui.JessControlPanel$ImportActionListener.actionPerformed(Unknown
Source)
»···at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
»···at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
»···at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
»···at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
»···at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
»···at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
»···at java.awt.Component.processMouseEvent(Component.java:5488)
»···at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
»···at java.awt.Component.processEvent(Component.java:5253)
»···at java.awt.Container.processEvent(Container.java:1966)
»···at java.awt.Component.dispatchEventImpl(Component.java:3955)
»···at java.awt.Container.dispatchEventImpl(Container.java:2024)
»···at java.awt.Component.dispatchEvent(Component.java:3803)
»···at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
»···at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
»···at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
»···at java.awt.Container.dispatchEventImpl(Container.java:2010)
»···at java.awt.Window.dispatchEventImpl(Window.java:1774)
»···at java.awt.Component.dispatchEvent(Component.java:3803)
»···at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
»···at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
»···at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
»···at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
»···at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
»···at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Ramnath, Vasudha wrote:
Hi
I guess you should add a swrlb:notEqual(?x, ?y) clause and try.
since Person(?x) and Person(?y) will each match all the instances of Persons and the Person X Person space will have (Anna, Anna) etc.. too ?
rgds
--Vasudha
-----Original Message-----
From: protege-owl-bounce <at> crg-gw.Stanford.EDU [mailto:protege-owl-bounce <at> crg-gw.Stanford.EDU] On Behalf Of Laurent Kevers
Sent: Thursday, August 31, 2006 10:34 PM
To: protege-owl <at> smi.stanford.edu
Subject: [protege-owl] SWRL rule problem : y isSiblingOf y
Hi all,
I try to use SWRL and Jess to write some basic rules... I have in my
ontology a class "Person" and for this class the properties"hasName",
"hasParent" and a "isSiblingOf". "isSiblingOf" is transitive and
symmetric. I have 4 instances with the following properties :
person_1 : hasName 'Anna'
person_2 : hasName 'Michel'
person_3 : hasName 'Elise', hasParent 'person_1', hasParent 'person_2'
person_4 : hasName 'Paul', hasParent 'person_1', hasParent 'person_2'
I write the following rule to infer the "isSiblingOf" property between
person_3 and person_4 (and the symmertic property between person_4 and
person_3) :
Person(?x) ∧ Person(?y) ∧ hasParent(?x, ?a) ∧ hasParent(?x, ?b) ∧
hasParent(?y, ?a) ∧ hasParent(?y, ?b) → isSiblingOf(?x, ?y)
When I run this rule with Jess in the SWRL Tab, the result is 4
"isSiblingOf" properties ! I obtain the 2 correct properties between
person_3 and person_4 but also a wrong "isSiblingOf" between person_3
and himself and person_4 and himself...
Where these two inferred properties come from (from my OWL ontology or
from the SWRL rule) ? Where is the error with this ? Any idea ?
Thanks for your help,
Laurent Kevers
Research assistant
Cental - UCL
-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html
------------ Institute For Infocomm Research - Disclaimer -------------
This email is confidential and may be privileged. If you are not the intended recipient, please delete it and notify us immediately. Please do not copy or use it for any purpose, or disclose its contents to any other person. Thank you.
--------------------------------------------------------
_______________________________________________
protege-owl mailing list
protege-owl <at> lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/protege-owl