Previous Page Table of Contents Next Page


2. Ontologies in RDFS


While in thesauri only terms are related, RDFS introduces the notions of concepts and instances. A concept describes an entity on an abstract level with generic properties, whereas an instance is an actual representation of this concept with specific values of these properties. Figure 3 shows a screenshot of a conceptual ontology modelled in RDFS using the OIModeler, one of the KAON[2] tools.

Figure 3: Mini example of a conceptual model of an RDFS ontology on Food Safety modelled in KAON

In an RDFS ontology, concepts are basically ordered in a sub-concept / super-concept hierarchy, similar to a broader term / narrower term hierarchy in thesauri. The top of the hierarchy is given by the Root node (here kaon:Root). In our example there are basically three upper level concepts “Country”, “Food” and “Contamination”. “Food Contamination” is a sub-concept of “Contamination”. A sub-concept is, however, much more specific than a narrower term relationship mainly due to the important paradigm of inheritance. A sub-concept inherits all properties and relationships from its super-concept. In our example, the concept “Contamination” has the property “level”, meaning that “Contamination” of something is determined by its level of contamination. We don’t have to reapply this property on the level of “Food Contamination”. It simply gets inherited, because “Food Contamination” is a sub-concept of “Contamination”.

Besides this attribute-like property “level” our little example shows two properties that connect concepts: “fromCountry”, meaning that a particular food comes from a particular country and “isContaminatedBy”, meaning that a particular food is contaminated by a food contamination. As opposed to thesauri, where we are limited to the simple ‘broader term’, ‘narrower term’ and ‘related term’ relationships, these relationship/property[3] types are limitless in ontologies. I can therefore more specifically describe the relationship that holds between two concepts.

In ontologies, such a conceptual model is now accompanied by a lexicon, binding terms to entities (concepts, properties, etc.). In Figure 3 you can see that the concept food has three labels in three different languages. Other lexical information that can be attached to a concept consists of synonyms, word stems or definitions and descriptions. Whereas in thesauri the notions of terms and concepts are not well defined, in an ontology conceptual and lexical information is clearly separated, rendering it less ambiguous.

Figure 4: Instances in an RDFS ontology modelled in KAON

Another important difference is the introduction of instances in ontologies. If you would like to express in a thesaurus for example that a specific food, let’s say a ‘Hamburger’ comes from ‘England’, you could only create these two new terms as narrower terms of country and food respectively and then relate them using a ‘related term’ relationship. However, this does not give you any further information or meaning. Figure 4 shows the two new items as instances, interrelated with an instance of the ‘fromCountry’ property. The specific instance ‘Hamburger’ of the concept “Food” ‘comesFrom’ the country England and is contaminated by a ‘MediumFoodContamination’, which in fact is an instance of the concept “Food Contamination” with the level of contamination 4 (assuming that there might be levels of contamination on a range from 1 to 5 for example). In a thesaurus, this level of specificity would not be achievable with the modelling principles it offers.

The example has shown, that an RDFS ontology offers considerably more powerful modelling principles than a thesaurus does, the main ones are:

- The notion of Concepts vs. instances
- Separation of entities and terms
- Specification of concepts via properties and attributes
- The ability to create infinite, more specific and semantically richer properties
- The inheritance paradigm.

However, RDFS has restrictions. Imagine in the example you want to express that a Food Contamination is a Contamination with level > 3. RDFS does not give you the opportunity to do so. In fact you could create any instance of “Food Contamination” and assign any level and there would be no mechanism to check or restrict this on the class level. Furthermore, there is no cardinality constraint in RDFS, making it impossible to restrict the number of instances that a certain concept can have. These and other issues are resolved in the new OWL (Web Ontology Language), a recent recommendation released by the W3C[4].


[2] KAON is an ontology tool environment developed at the University of Karlsruhe, Germany. The model is based on RDFS with some proprietary extensions. The software is freely available at: http://kaon.semanticweb.org
[3] In this document we use property and relationship synonymously.
[4] http://www.w3.org/TR/owl-features/.

Previous Page Top of Page Next Page