假设OWL本体包含以下SWRL规则:
has_part(?x, ?y) ^ participates(?x, ?z) -> participates(?y, ?z)和以下对象属性断言:
o1 has_part o2
o1 participates p1当我在Protege中运行Hermit推理机时,我获得了以下推断的对象属性断言:
o2 participates p1但是,当我用owlready2加载相同的本体并运行它的Hermit reasoner时,我没有得到任何推断的对象属性断言。例如:
from owlready2 import *
onto = get_ontology("test.owl").load()
sync_reasoner()
onto.o2.get_properties()不返回任何属性。
我确实将本体保存为RDFXML格式,并且可以使用owlready2检索SWRL规则。
owlready2推理机不支持这种推理吗?
发布于 2021-05-05 05:18:52
解决方案: sync_reasoner(infer_property_values = True)
https://stackoverflow.com/questions/67392230
复制相似问题