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?
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.
It should not be difficult to prove the following
Anything you can express in OWL can also be expressed in RDF, since you can express any OWL utterance as triples.
Anything you could express in RDF triples could be expressed in OWL by simply modelling the RDF triples in OWL.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With