【发布时间】:2021-10-27 03:44:15
【问题描述】:
我定义了一个名为“加速”的类,设置“等效于”函数如下:
currentSpeed 一些 xds:int [
currentSpeed 和 minSpeed 是 DataProperties,这些值是由实例赋值的,
比如创建实例currentSpeed=25 minSpeed=30,比较一下就知道currentSpeed小于minSpeed,所以我想让protege可以推断加速。
但是它不起作用,请帮助我。
【问题讨论】:
-
请提供一个最小的、可重复的和完整的示例本体来说明您遇到的问题。详情请见here。
-
这在 OWL 中是不可能的,你没有变量。 OWL 数据类型方面确实需要一个数值。您不能声明 “IF currentSpeed 低于 minSpeed THEN 加速” - SWRL 是要走的路
-
@UninformedUser 好的,非常感谢!
-
不客气。如果您的 SWRL 规则有效,请随时在此处添加它作为答案。这可能会帮助其他有相同本体建模问题的人。
-
@UninformedUser 感谢您的指导,我已经解决了这个问题,SWRL 规则如下:car(?c) ^ currentSpeed(?c, ?x) ^ minSpeed(?c, ?y) ^ swrlb: 大于(?y, ?x) -> 加速(?c)