What are the limits to expressability of RDF / OWL / etc
Asked Answered
E

2

8

So Im learning about RDF and OWL and "knowledge representation" in general.

1) What are the limits of RDF or OWL formats?

Are there concepts that can't be expressed in RDF? But that can be expressed in OWL? Or the other way around.

Are there concepts that can't be expressed in either?

2) What about this (complicated) example:

"How can someone fall so far, without realising it?".

Could you express this question in RDF or OWL? Or can you even express questions like "Is the sky blue?"

3) Finally... Is there a knowledge representation language that can describe anything?

Evacuee answered 25/2, 2013 at 15:37 Comment(0)
C
6

1) What are the limits of RDF or OWL formats? Are there concepts that can't be expressed in RDF? But that can be expressed in OWL? Or the other way around.

RDF is a simple graph model that can be used to capture pretty much anything as long as you can represent it as a triple. OWL (and RDFS) are more expressive than RDF, which means here that you can capture more complex relations: For instance you can also represent the link between sets of things (rdfs:SubClassOf) or use transitive properties (e.g. hasAncestor). OWL can be serialized as a RDF graph too and is particularly useful coupled with a reasoner. So OWL can express everything that RDF can, but RDF alone cannot capture some of the statements available within OWL. It makes a difference when you use a reasoner for instance.

Are there concepts that can't be expressed in either?

Modeling temporal or dynamic information is challenging using either RDF or OWL. Bottom line: As long as you could describe your information as a graph you can represent it as RDF.

2) What about this (complicated) example: "How can someone fall so far, without realising it?". Could you express this question in RDF or OWL? Or can you even express questions like "Is the sky blue?"

The second question is more in the realm of RDF and OWL. For instance imagine you have a knowledge base inside which you have the statement: sky has-color blue. You could then express a question on it by looking at all the things that are known to be blue and see if sky is among them. The question "Is the sky blue" could be formulated with an OWL class expression (has-color value blue) or via a SPARQL query (?thing has-color blue.). You can think of questions as retrieving the set of things matching some criteria (with SPARQL or OWL) or as you mentioned in the comment as "I want to know if X is true".

The question "How can someone fall so far, without realising it?" is more difficult to model. You will first need to think how to represent it in your knowledge base. It's an example involving a dynamic behaviour tricky to capture with RDF/OWL.

3) Finally... Is there a knowledge representation language that can describe anything?

Maybe a theoretical one, in practice the computational complexity is often the limit to the expressiveness of a language.

Chubby answered 25/2, 2013 at 19:14 Comment(4)
"The question "Is the sky blue" could be formulated with an OWL class expression" What about the first question? The "How can someone fall so far, without realising it?" question?Evacuee
Upvoted for an answer, useful thanks. But I'm still hoping you can answer one more thing. It seems like OWL "has-color value blue" didn't properly represent the question?Evacuee
One thing I've learnt is that "questions" are just a "short form" for more complex statements. "Is X" just means "I want to know if X is true" (where X is a statement). So... "is the sky blue" can mean: "I want to know if the statement 'is the sky blue' is true". Does this help construct an OWL statement asking "if the sky is blue"?Evacuee
"How can someone fall so far, without realising it?" You would need to model people, their falls, the distances of those, the person's awareness of the fall, and reasons (for their awareness or lack of awareness, I think, is what the question really is getting at). Not difficult at all. Very strange yes, but not difficult.Oneirocritic
F
2

It should not be difficult to prove the following

  1. Anything you can express in OWL can also be expressed in RDF, since you can express any OWL utterance as triples.

  2. Anything you could express in RDF triples could be expressed in OWL by simply modelling the RDF triples in OWL.

  3. Any concept that is representable using ones and zeros (i.e. by a computer) can be modelled in RDF, since you can model a sequence of ones and zeros using triples.

  4. Any concept that can be "represented" in English words can be represented as ones and zeros.

Of course, these "facts" don't tell you what you really want to know:

  • What is the best way to express complicated concepts in OWL or RDF? (Is there even a single best way?)

  • Are there theoretical or practical limits to the concepts that can be expressed in a computer?

  • Are there better (existing) alternatives to OWL & RDF for representing concepts?

But I doubt that these questions are answerable.

Farmann answered 25/2, 2013 at 16:2 Comment(3)
I've heard that OWL is more expressive than RDF. In fact the answer by "loopasasm" states this "So OWL can express everything that RDF can, but RDF alone cannot capture some of the statements available within OWL".Evacuee
@Evacuee you should distinguish between what you can express and what can be interpreted. RDF can express anything OWL can, because utterances ("statements") use the same basic model. However, OWL adds vocabulary, or idiom, if you will, that allows you (or a reasoner) to interpret those utterances meaningfully.Tl
@Evacuee - expressiveness and expressibility are different things. For instance any algorithm you can write in Java is expressible as a Turing machine, but the language of Turing machines cannot be described as expressive, compared to Java.Farmann

© 2022 - 2024 — McMap. All rights reserved.