If you’re talking about RDF, then you should know about OWL. Web Ontology Language (OWL) is also a knowledge representation language and is also part of the semantic web (“OWL” just sounded better than “WOL”). It is built on top of RDF and written in XML. We don’t hear much about OWL in the SEO arena but we have recently heard a lot about RDF. OWL is a really exciting and important part of the semantic web. Actually I should mention that we’re on to OWL 2 now
So…what is it?
It’s a way of processing information on the web in a way that makes it accessible to machines. Machines can intepret OWL, which means that they can work with the restrictions and the information in general about our world.
Most of you will have heard about RDF by now, well OWL does pretty much the same thing but it is better. It has stronger syntax and a much larger vocabulary.
What’s an “ontology”?
This is a nice example of where philosophy feeds into computing. In fact the whole concept comes from philosophy. The philosophers define it as “theory of existence”. Aristotle busied himself with this a fair bit in his “Metaphysics” and if you like, the main question is “What exists?” and also “How do things relate to each other?”.
We computing people are simple beings so we tend to say that it is “the exact description of things and their relationships”.
Do no confuse “ontology” with “taxonomy”. A taxonomy is just a classification of things. The onotolgy on the other hand is like a very meaningful world.
Robert Ruffin said: “The taxonomy of a tiger is that it is a subtype of cat (classification), but an ontological description may be that the tiger has a relationship to Asia, the continent on which it lives.” (via information-management)
What does OWL do?
OWL formally describes the semantics of classes and properties used in Web documents. This means that applications can access information and “understand” what it is and what to do with it. Pre-semantic web, machines just displayed information and did what users told them to do. With this new standard (w3c), they can make decisions and manipulate data as well.
We can all make OWL ontologies about our various specialist areas and then upload them all online and integrate them all. Because there is “meaning” we can have “reason”. In fact a lot of development environments like Protege for example have reasonsers in them, and their job is to check the validity of the ontologies. If something doesn’t make sense, it will flag it.
RDF is very useful because it allows us to organise a lot of information, but it doesn’t allow for booleans, enumeration, (in)equality, restrictions and so on.
OWL allows first order logic to be picked up by computers, for example:
- All SEOs are great surfers
- Samir is an SEO
- Therefore Samir is a great surfer
What is it made up of?
Most of the elements of an OWL ontology concern classes, properties, instances of classes, and relationships between these instances. Properties let us assert general facts about the members of classes and specific facts about individuals.
“An OWL ontology may include descriptions of classes, properties and their instances. Given such an ontology, the OWL formal semantics specifies how to derive its logical consequences, i.e. facts not literally present in the ontology, but entailed by the semantics. These entailments may be based on a single document or multiple distributed documents that have been combined using defined OWL mechanisms” (the OWL Web Ontology Language Guide).
OWL uses Open World Assumption (unlike SQL for example) which means that if a statement cannot be proved to be true using current knowledge, we cannot draw the conclusion that the statement is false.
There are 3 flavours of OWL:
OWL DL and OWL Lite which are both based on Description logic, and OWL Full. There is so much to say about these that I will keep it very high level just to ensure that the differences were at least mentioned so here are the w3c descriptions:
OWL Lite supports those users primarily needing a classification hierarchy and simple constraint features.
OWL DL supports those users who want the maximum expressiveness without losing computational completeness (all entailments are guaranteed to be computed) and decidability (all computations will finish in finite time) of reasoning systems.
OWL Full is meant for users who want maximum expressiveness and the syntactic freedom of RDF with no computational guarantees.
In OWL DL, classes simply refer to sets of individuals, and are not individuals themselves. In OWL Full, we can use owl:sameAs between two classes to indicate that they are identical in every way.
This is a cool presentation, nice and easy and clear. It should help you visualise how OWL works a little better: