You are on page 1of 1

Ontology What is Ontology? Gruber defined ontology as a specification of conceptualization.

For example you have conception of a cricket match (we will take a very simplified concept for our purpose). It is played between 2 teams each consisting of 11 players over a period of 20 overs (assuming T-20 format) and the team scoring maximum runs wins. So mentally you define the terms team, players, overs etc. Now how to specify this? If you use plain English hopefully many will be understand. You can draw a diagram and more people will understand. But will the machine understand? Even with great advances of natural language processing techniques the machine will find it difficult to understand this. So you have to use some specific structures to make the machine understand. And this whole process comprises what we call ontology. More formally, to someone who wants to discuss topics in a domain *D *using a language *L*, an ontology provides a catalog of the types of things assumed to exist in *D*; the types in the ontology are represented in terms of the concepts, relations, and predicates of *L*. [Source: Model Driven Architecture and Ontology Development from Springer]. So ontology provides a description of concepts and relationships (through hierarchies, logical statements etc.) that can exist in a domain (here cricket match) that can be interpreted by intelligent non-human agents (read applications). The languages used to do so are called ontology representation languages. Ontology finds its application in Semantic Web. What is Semantic Web? Heflin & Hendler defines it as making the Web more understandable by machines. It is also about building an appropriate infrastructure for intelligent agents to run around the Web performing complex actions for their users [Hendler, 2001]. For example consider checking the reviews for any portable music players on different sites. When you read the technical specifications you probably know what the terms used in those means and mentally can relate those terms to form an idea about the product. But those specs and terms used there will not make any sense to a program. Currently you can write a program to decipher any web resource at the syntactic level but not at the semantic level. Semantic Web, as proposed by Tim Berners-Lee himself, enables the non-human agent to work at the semantic level. But how will that be possible? Obviously the only way to do it is to represent the semantic of the web data on the web itself (one way to do this is to use annotations) and thats precisely where the ontology comes into play. Another use of ontology is in Model Driven Architecture (MDA). MDA is an approach which, in a nutshell, deals with converting domain specific model to platform specific model and ultimately to platform specific code. The idea is to provide agility to the business when the business process changes the corresponding domain model changes and automatically the executable code changes. This will keep the manual intervention during the code changes to a minimum and hence the errors that creep in during such changes. Now the models used in this whole process must be machine readable otherwise it doesnt make sense at all. So a meta-model is required a model that can describe these models drawn by the users. More formally, a meta-model is an explicit model of the constructs and rules needed to build specific models within a domain of interest. Hence by definition (specification of conceptualization) a meta-model can claim the status of ontology.

You might also like