构建完成本体后,由于我想实现一定的推理,例如根据类之间的数值属性的匹配程度等来实现对象关系的推理。
所以需要用到SWRL规则进行简单的制定,但是之前是去用SWRL规则推理数值属性了,和老师讨论以及同学讨论后发现这样是不正确的,应该还是去推理关系。例如这个工步究竟使用那个刀具,使用满足什么属性的刀具,而不是去推使用的刀具应该具备什么属性。
但是发现SWRL规则都是一条一条执行的,并不能实现多条SWRL去限制一个关系,例如一个规则是根据材料选择刀具,一个是一个直径选择刀具,这样就会出现多个推理结果,但是推出来的结果只是满足1或者2,并不是都满足。例如下图所示:
图1:多个SWRL规则产生的效果
但是这并不是我想要的,我需用的是每个规则相互限制,推出最终结果。因此根据不同限制去制定单条的SWRL规则是不成立的,也就是我需要把所有的条件都列出来,保留材料、直径、长度等等信息,去判断出最后使用哪个刀具,即影响usetools的选择的内容都需要写道一个SWRL规则里。但是这样又不好维护,是否有其他方法支持我去推理呢?
我先将规则整合试试吧,如果有小伙伴知道怎么样解决或者更了解SWRL,请帮帮我,谢谢大家!!!