我有一个希望Protege的本体,现在我想执行规则。
我有一个文字为PANEL = "R1-2B"
的个人。我喜欢制定一条规则,如果该值为“ R1-2”,那么此人的对象属性为“ isGiveWaySign”。
我已经尝试了一些方法,但是我SWRL所做的却不像预期的那样。我得到的只是新的类,而不仅仅是设置对象属性。
我的方法如下:
PANEL(?a, ?b) ^ swrlb:substring(?b, "R1-2") -> isGiveWaySign(?a)
我错过了什么吗?
答案 0 :(得分:1)
对上述解决方案的更正对我而言更有效:
Panel(?s,?gws)^ swrlb:contains(?gws,“ R1-2”)^ Sign(?s)-> GiveWaySign(?s)
答案 1 :(得分:0)
在堆栈溢出时,我使用出色的血压示例弄清楚了这一点。我简化了本体,可以确定问题的解决方案:
Panel(?s,?gws)^ swrlb:contains(?gws,“ R1-2”)^ Sign(?bs)-> GiveWaySign(?bs)