首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OWL 4.0中命名个人所属的检索类

OWL 4.0中命名个人所属的检索类
EN

Stack Overflow用户
提问于 2014-09-30 21:16:53
回答 1查看 1.6K关注 0票数 1

考虑一个名为“奶牛”的个体。它的类别也是“牛”,反过来,牛是哺乳动物的子类,而哺乳动物是生命的子类,等等。如果我可以按以下方式访问OWLNamedIndividual:

代码语言:javascript
运行
复制
for (OWLNamedIndividual i : localUni.getIndividualsInSignature())
    {
      Code that should give me ...
      i = Cow (NamedIndividual)
      Class = Cow
      One Level up class = Mammal
    }

我试过以下几种方法,但都没有用

代码语言:javascript
运行
复制
System.out.println(i.getEntityType().getName()  );  
System.out.println(i.getEntityType().toString()  );  
System.out.println(i.getTypes(myontology) ); // this would give me error   NoSuchMethodError

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-01 18:34:05

getEntityType()只返回OWLCLASS/OWLOBJECTPROPERTY/OWLNAMEDIDIVIDUAL,即关于实体是什么的OWLAPI特定值,而不是它在本体中的角色或在层次结构中的位置。

此外,还可以使用双关语(例如,OWLNamedIndividualOWLClass可以具有相同的IRI),但这两个实体是不同的,因此不能直接进入另一个实体。

OWLNamedIndividual.getTypes(OWLOntology)已在版本4中被删除。

EntitySearcher.getTypes(OWLIndividual, OWLOntology)

注意,结果将只被断言为个人的类型-为了得到推断的结果,您需要使用OWLReasoner

推理器的构建方式仍然与OWLAPI 3:https://github.com/owlcs/owlapi/wiki/DL-Queries-with-a-real-reasoner相同。

然而,据我所知,没有使用OWLAPI 4的推理器版本。有几个实验分支: version4分支的JFact处于快照状态:使用OWLAPI 4工作的HermiT分支在这里可用:https://github.com/ignazio1977/hermit-reasoner都需要本地构建才能使用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26130265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档