Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RDFS vs. OWL Reasoners — Design considerations

I've read a number of RDF related questions here on StackOverflow that have an RDFS solution but also an OWL solution. (Notably, my own question)

I understand the concept of a reasoner and that an OWL one is more thorough in inferring complex relationships but that this comes at a cost, the one often cited is update performance.

Can somebody please explain what factors go into making a design decision whether to use an OWL reasoner and how to evaluate whether or not an RDFS reasoner is sufficient for a set of requirements. (I'm strongly considering AllegroGraph's RDFS++ reasoner as of now.)

I've already begun working on an ontology and have already defined triple using things like owl:ObjectProperty, owl:FunctionalProperty, and have several subclasses of owl:Thing. Does that mean I've already passed the threshold and need an OWL reasoner? Where does one cross that line and why?

like image 487
parliament Avatar asked Jun 28 '13 22:06

parliament


People also ask

What is the difference between OWL and Rdfs?

RDF is also a vocabulary that along with the RDFS vocabulary provides a set of terms that can be used for creating general/abstract descriptions of resources. OWL is a vocabulary built with RDF and RDFS vocabularies that provide new terms for creating more detailed descriptions of resources.

What is the difference between RDF and Rdfs?

RDF in general is a method of conceptual data modelling. RDFS provides a mechanism for describing groups of related resources (RDF), and the relation between them. Example of these properties are classes, sub-classes, range and domains. So in essence, RDFS is a semantic extension of RDF.

Why do we use OWL?

OWL allows you to tailor what you say based on the computational realities and application requirements, such as queries, rules, policy enforcement, etc. Further, OWL allows you to easily express relationships between different ontologies using a standard annotation framework.

Is RDF an ontology?

RDF Schema (RDFS) is a language for writing ontologies. An ontology is a model of (a relevant part of) the world, listing the types of object, the relationships that connect them, and constraints on the ways that objects and relationships can be combined.


1 Answers

When you start modeling with RDFS and OWL, different types of constructs (or axioms) are available to you (like rdfs:subClassOf or owl:FunctionalProperty). Each of these constructs add some computational complexity in regards to what reasoners are meant to do, namely consistency checking or classification for example. As a rule of thumb, the more expressive the constructs are, the more time it takes to compute what they entail.

When you use the constructs available with RDFS you restrict the type of things you can express, but in return you can use dedicated efficient reasoners like AllegroGraph's for example.

However, an RDFS reasoner will not be able to compute OWL axioms. OWL is more expressive than RDFS and an OWL reasoner has to deal with more constructs. OWL reasoners understand RDFS axioms (as all the RDFS constructs are part of OWL), so you can use an OWL reasoner with RDFS.

So in summary:

  • The more expressive you want to be, the more complicated it becomes to compute what these constructs entail.
  • RDFS is less expressive than OWL, so if you stick only to RDFS constructs you can expect better performances. But sometimes you need OWL to express what you want, the job of the designer is to find the good trade-off.
  • OWL2 introduces some profiles (OWL2 EL, RL and QL), focusing on a particular set of axioms in order to guarantee efficient reasoning. You have some special reasoner dedicated to these profiles (like ELK for OWL2 EL).
  • You can read the W3C documentation to understand more about the computational properties of RDFS and OWL.
like image 152
loopasam Avatar answered Oct 17 '22 21:10

loopasam