我在StackOverflow上阅读了一些RDF相关问题,这些问题有RDFS解决方案,但也有OWL解决方案。 (值得注意的是,my own question)
我理解推理器的概念,并且OWL在推断复杂关系方面更为彻底,但这需要付出代价,通常引用的是更新性能。
有人可以解释在决定是否使用OWL推理器以及如何评估RDFS推理器是否足以满足一组要求时做出设计决策的因素。 (我现在正在考虑AllegroGraph的RDFS ++推理器。)
我已经开始研究本体,并且已经使用owl:ObjectProperty
,owl:FunctionalProperty
之类的内容定义了三元组,并且有几个owl:Thing
的子类。这是否意味着我已经超过了门槛并需要一个OWL推理器?一个人越过那条线,为什么?
答案 0 :(得分:8)
当您开始使用RDFS和OWL进行建模时,您可以使用不同类型的构造(或公理)(例如rdfs:subClassOf
或owl:FunctionalProperty
)。这些构造中的每一个都增加了一些计算复杂性,例如一致性检查或分类。根据经验,构造越具表现力,计算它们所需的时间就越多。
使用the constructs available with RDFS时,您可以限制您可以表达的内容类型,但作为回报,您可以使用像AllegroGraph这样的专用高效推荐者。
然而,RDFS推理器将无法计算OWL公理。 OWL比RDFS更具表现力,而OWL推理者必须处理更多结构。 OWL reasoners理解RDFS公理(因为所有RDFS结构都是OWL的一部分),所以你可以在RDFS中使用OWL推理器。
总结如下: