【发布时间】:2018-12-11 08:35:11
【问题描述】:
我正在使用 owlready2 api for python 加载本体并使用 sync_reasoner() 函数检查该本体的一致性。但似乎它没有检查本体的一致性。虽然有错误,但什么也没显示!知道如何使用 owlready2 或任何其他 api 在 python 中检查本体的一致性。
这是我的小代码:
from owlready2 import *
onto = get_ontology("test.owl")
sync_reasoner()
这是我得到的输出:
- Owlready2 * 正在运行 HermiT... java -Xmx2000M -cp C:\Users\44999038\AppData\Local\Programs\Python\Python36-32\lib\site-packages\owlready2\hermit;C:\Users\44999038\AppData\Local\Programs\Python\Python36 -32\lib\site-packages\owlready2\hermit\HermiT.jar org.semanticweb.HermiT.cli.CommandLine -c -O -D -I file:///C:/Users/44999038/AppData/Local/Temp /tmptmcc_a79
- Owlready2 * HermiT 耗时 0.48622655868530273 秒
我修改后的代码:
from owlready2 import *
onto = get_ontology("test.owl")
with onto:sync_reasoner()
onto.save()
我得到的输出 owl 文件:
【问题讨论】:
-
当然 owlready2 必须公开 OWLReasoner::isConsistent() 方法。如果本体一致,则该方法返回 true。
-
我也是这么想的,但不,不是这样的!它实际上只是命令行 HermiT 接口子集的 Python 包装器。
-
终于成功了!
标签: python ontology reasoner owlready