使用Jena的OWL本体层次结构(具有复杂类)

时间:2017-02-17 14:19:00

标签: jena owl ontology protege owl-api

我正在尝试使用Jena API来创建OWL本体的层次结构,这与Protege创建的类似。我已经尝试了两种方法来获取owl的子类:Thing然后在下一级重复:

  1. 使用 listSubClasses(true)
  2. 使用 listHierarchyRootClasses()
  3. 他们都为具有rdfs:subClassOf的OWL类工作,因为owl:Thing。但是,对于OWL复杂类(owl:unionOf,owl:intersectionOf和owl:complementOf),第一种方法没有列出任何内容。虽然第二种方法的结果不像Protege那样正确。它通常包含更多的owl子类:比Protege更多。

    有人说这是Jena API的限制。这是真的吗?我应该切换到使用OWL API而不是Jena吗?我想听听你的意见。

1 个答案:

答案 0 :(得分:0)

缺少的是推理者。如果不使用推理器推断子类关系,则无法获得完整的结果。对于Jena和OWL API都是如此。