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: properties. 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 such 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 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, 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 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, for example, can also be considered.  KOSs cannot match up with ontologies when it comes to fully represent the knowledge in the ways that the Semantic Web requires. However, there are needs to port KOSs 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 a one of the many Semantic Web Standard, such as OWL, RDF, and SPARQL etc.  It stands for Simple Knowledge Organization System and 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

Lets take an example of 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 lets 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 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.


Concept
Label& Notations
Documentation
Semantic Relations
Mapping Properties
Collections
Concept prefLabel note broader broadMatch Collection
ConceptScheme altLabel changeNote narrower narrowMatch orderedCollection
inScheme hiddenLabel definition related realtedMatch member
hasTopConcept notation editorialNote broaderTransitive closeMatch memberList
topConceptOf   example narrowerTransitive exactMatch  
    historyNote semanticRelation mappingRelation  
    scopeNote      

 

Conclusion

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 whet's your appetite for learning more about it. The best place to read about SKOS would be the SKOS Primer,

Write a comment
Cancel Reply