假设OWL本体论包含以下SWRL规则:
has_part(?x, ?y) ^ participates(?x, ?z) -> participates(?y, ?z)
和以下对象属性断言:
o1 has_part o2
o1 participates p1
当我运行的隐士推理器中的蛋白质,我得到以下推断对象属性断言:
o2 participates p1
然而,当我用owlready2加载同一个本体并运行它的hermitreasoner时,我没有得到任何推断的对象属性断言。例如:
from owlready2 import *
onto = get_ontology("test.owl").load()
sync_reasoner()
onto.o2.get_properties()
不返回任何属性。
我确实以RDFXML格式保存了本体,并且可以使用owlready2检索SWRL规则。
owlready2推理器不支持这种推论吗?
解:sync_reasoner(infer_property_values=True)
我创建了这个本体,它包含两个类:血糖和服务。血糖有两个数据属性:范围为xsd:int的hasValu和范围为xsd:string的hasStatut。对象属性triggerService将血糖作为域,将服务作为范围。 我想用以下规则推断数据属性断言: Blood_Sugar(?x)hasValue(?X,?y)/swlb:比(?Y,126)的大小:小于(?y,500)→hasStatut(?X,高
假设我有一些本体论创建的蛋白质,有一个类的实例与一些对象属性,和对象属性的列表,已显示在以下图片: 对象属性的层次结构如下所示: 现在,当我打开Reasoner(Hermit)时,我得到了同一个人的以下断言对象属性: 当我点击推断对象属性“dependsUp”客户的解释时,我得到: 我的问题是,我如何使用Java生成它?我已经可以通过以下方法获得某些个人的推断对象属性(abreviety在这里不完
用户和首选项由objectProperty链接。 objectProperty断言需要通过SWRL规则从其他用户方面推断。例如,如果用户有听力困难,则需要将设置为,因此: 这很好用。但是,由于我有其他SWRL规则,这些规则也为相同的用户推断,例如: 我需要的是一个规则,不知怎么的,只有在没有更高的级别已经断言的情况下才会断言偏好。在给定的示例中,即使为true,唯一断言的级别也应该是,因为是其他规
先上代码: 问题: 该如何定义函数testFn的data参数,才能让data的解构与DetailDataType的定义相符,并且编辑器有提示,现在data的解构全是any,如下: 求ts大神解答,谢谢!!!
如何用推理器推断给定数据/对象属性的OWL域/范围? 例如,我有两个类、和一个数据属性。我希望这些类是的唯一域: 当我使用HermiT reasoner推断域时,我得到了类,而不是或: 我可以通过使用owl-api读取的来手动提取域,从而获得和类。但是我将无法获得其他可推断的类(例如,有一个等效的类)。 所以我想用推理机来推断结果,比如: 推理器:隐士、fact++、... SQWRL规则引擎:D