Search code examples
rdfowlsemantic-web

About semantic web, RDF and OWL


what is the relationship between RDF and OWL?

It seems like RDF is used to describe web resources, does OWL can do the same thing? Or OWL only can describe the web ontologies? I am so confused about the relationship between them and what's the role of each in semantic web.


Solution

  • Some good answers already. One point I would highlight is that OWL gives you a vocabulary for making logical assertions about the resources you want to describe. For example, in RDF you can say "this resource, :r is a car, because it is a member of the class of all cars which I've named :Car". You can also say "this resource :r is a bacterium, because it is a member of the class :Bacteria". What you can't do in RDF is say "hang on, that's not consistent: no one thing can be both a car and a bacterium" because RDF has no way of expressing that. Using OWL, you could also say "the classes :Car and :Bacteria are disjoint: by definition they have no members in common". Being disjoint is example of one of the logical assertions you can state in OWL that you can't state in RDF.

    Whether that matters to you is entirely dependent on your application. The logical assertions defined by OWL come with a formal, mathematical semantics which allows them to be processed by a reasoning engine. This could, for example, be used to notice that a user has accidentally asserted :r to be an impossible car/bug, and notify them. Or it could be used to conclude new information that's implicit in your set of descriptions, but isn't explicitly stated. For some applications, this kind of formal reasoning is essential, for others it's irrelevant.