Ontologies Vs Taxonomies Vs Thesauri, and its place on the Semantic Web

Ontology :

An ontology formally defines a common set of terms that are used to describe and represent a domain. An ontology is domain specific, and it is used to describe and represent an area of knowledge. It contains terms and the relationships among these terms. There is another level of relationship expressed by using a special group of terms called property terms. These property terms describe various features and attributes of the concepts, and they can also be used to associate different classes together.

By having the terms and the relationships among these terms clearly defined, ontology encodes the knowledge of the domain in a way that the knowledge can be understood by a computer. This is the basic idea of ontology.

Taxonomy :

Taxonomy is the science of classification. Originally, it referred only to the classifying of organisms. Now, it is often used in a more general setting, referring to the classification of things or concepts, as well the schemes underlying such a classification. In addition, taxonomy normally has some hierarchical relationships embedded in its classifications.

Thesaurus : 

Thesaurus can be understood as an extension to taxonomy: It takes taxonomy as described above, allowing subjects to be arranged in a hierarchy and in addition, it adds the ability to allow other statements to be made about the subjects.

Knowledge Organization Scheme :

Knowledge Organization Schemes or KOS, is a general term that refers to a set of elements, often structured and controlled, that can be used for describing objects, indexing objects and browsing collections, etc. They are also used in many scientific areas, examples include biology and chemistry, where naming and classifying are important. Both Taxonomy and Thesaurus, are Knowledge Organization Schemes.

So finally, what is the difference between the KOSs and Ontologies?

The difference is that KOSs are used for knowledge organization, whilst ontologies are used for knowledge representation. KOSs are semantically much less rigorous than ontologies, and no formal reasoning can be conducted by just having KOSs. But KOS can make search more robust. Instead of simple keywords matching, related words, can also be considered. KOSs cannot match up with ontologies when it comes to fully representing the knowledge in the ways that the Semantic Web requires. However, there are cases when KOSs need to be ported to the Semantic Web

The key question is, how to port these existing KOSs to the Semantic Web so that the machines can understand them?

The Solution : SKOS

SKOS is one of the many Semantic Web Standards, such as OWL, RDF and SPARQL, etc. It stands for Simple Knowledge Organization System and it itself is an OWL ontology and it can be written out in any RDF syntax to represent KOSs.

It is used to port existing KOSs into the shared space of the Semantic Web; therefore, they can be published on the Web and they can be machine readable and exchanged between software applications.

Building a quick SKOS example

Let’s take an example using the concept of a Shirt. This is how the concept of a shirt would be represented in an RDF

ex:Shirt rdf:type skos:Concept;

The concept of a Shirt has a label. There are two types of labels: Preferred Labels and Alternative Labels. Here we have given the preferred label as "Shirt" and an alternative label as "Dress Shirt"

ex:Shirt rdf:type skos:Concept;
skos:prefLabel "Shirt"@en;
skos:altLabel "Dress Shirt"@en.

Now let’s add some relational data to the concept. We can add hierarchical, associative and mapping relationships. Here we are using the skos: broader to establish that the concept of a Shirt has a broader concept called "Clothing"

ex:Shirt rdf:type skos:Concept;
skos:prefLabel "Shirt"@en;
skos:altLabel "Dress Shirt"@en.
skos:broader ex:Clothing.

Likewise, clothing can have a narrower concept called "Shirt"

ex:Clothing rdf:type skos:Concept;
skos:prefLabel "Clothing"@en;
skos:altLabel "Clothes"@en;
skos:narrower ex:Shirt.

SKOS has one associative relationship, skos: related, which is used to assert a relationship between two concepts. Here we are relating the concept of a Shirt and Pants!

ex:Shirt rdf:type skos:Concept;
skos:prefLabel "Shirt"@en;
skos:altLabel "Dress Shirt"@en;
skos:broader ex:Clothing;
skos:related ex:Pants.

Here we have used only a limited vocabulary to show you a small example of how a concept would be expressed. The principle element categories are concepts, labels, notations, semantic relations, mapping properties, and collections. The associated concepts are listed in the table below.


SKOS helps creates representation of thesauri, classification schemes, taxonomies, subject-heading systems, or any other type of structured controlled vocabulary. This is an extremely small part of how it works. Hopefully this wets your appetite for learning more about it. The best place to read about SKOS would be the SKOS Primer.