5

我在 StackOverflow 上阅读了许多与 RDF 相关的问题,这些问题既有 RDFS 解决方案,也有 OWL 解决方案。(值得注意的是,我自己的问题

我理解推理器的概念,并且 OWL 在推断复杂关系方面更加彻底,但这需要付出代价,经常提到的是更新性能。

有人可以解释一下决定是否使用 OWL 推理器以及如何评估 RDFS 推理器是否足以满足一组要求的设计决定的因素。(我现在强烈考虑 AllegroGraph 的 RDFS++ 推理器。)

我已经开始研究一个本体,并且已经使用诸如owl:ObjectProperty,owl:FunctionalProperty之类的东西定义了三元组,并且有几个owl:Thing. 这是否意味着我已经通过了门槛并且需要一个 OWL 推理器?一个人在哪里越过那条线,为什么?

4

1 回答 1

8

当您开始使用 RDFS 和 OWL 建模时,您可以使用不同类型的构造(或公理)(例如rdfs:subClassOfowl:FunctionalProperty)。这些结构中的每一个都增加了一些计算复杂性,这与推理器的用途有关,例如一致性检查或分类。根据经验,结构越具有表现力,计算它们所需要的时间就越多。

当您使用可用于 RDFS 的构造时,您会限制可以表达的事物的类型,但作为回报,您可以使用专用的高效推理器,例如 AllegroGraph 的。

但是,RDFS 推理器将无法计算 OWL 公理。OWL 比 RDFS 更具表现力,并且 OWL 推理器必须处理更多的构造。OWL 推理器了解 RDFS 公理(因为所有 RDFS 构造都是 OWL 的一部分),因此您可以将 OWL 推理器与 RDFS 一起使用。

总而言之:

  • 你想表达的越多,计算这些结构的含义就越复杂。
  • RDFS 的表现力不如 OWL,所以如果你只坚持 RDFS 结构,你可以期待更好的性能。但有时你需要 OWL 来表达你想要的东西,设计师的工作就是找到好的权衡。
  • OWL2 引入了一些配置文件(OWL2 EL、RL 和 QL),专注于一组特定的公理,以保证有效的推理。您有一些专用于这些配置文件的特殊推理器(例如用于 OWL2 EL 的ELK )。
  • 您可以阅读W3C 文档以了解有关 RDFS 和 OWL 的计算属性的更多信息。
于 2013-06-29T11:32:42.817 回答