An Agile and Modular Approach for Developing Ontologies

An Agile and Modular Approach for Developing Ontologies

Baby A. Gobin (University of Mauritius, Mauritius)
DOI: 10.4018/978-1-4666-4900-2.ch007
OnDemand PDF Download:
No Current Special Offers


Ontologies are used to represent human knowledge in a machine-understandable format. Knowledge exists in all domains and the proper capture and utilization of the knowledge is very important. Many ontology engineering methodologies are available for the development of ontologies. However, they suffer from their heavy weight nature and make the development process tedious. In addition, the resulting ontologies are monolithic ontologies and are not easy to reuse. Therefore, an agile and modular method is proposed to develop ontologies. The ease of use of the method is tested by a group of 68 inexperienced ontology engineers who compare it with Ontology 101 by developing ontologies in the e-Government domain using both methods.
Chapter Preview


With knowledge being considered as a key asset, knowledge management principles are now being adopted by many countries. Knowledge management research focuses on developing concepts, methods and tools to support human knowledge (Jurisdisca et al., 2004). With respect to this, ontologies have been developed in the field of computer science to be able to represent the human knowledge so that machines can be used to interpret this knowledge. Computer systems, which use this knowledge for decision making, can then be developed. Ontology is a term borrowed from philosophy where ontology means a doctrine about existence in which general foundations, principles of existence, its structure and laws are studied. Gruber (1999) defines ‘ontology’ as ‘a formal, explicit specification of a shared conceptualization’, and definitions in Gruberian spirit are still accepted by most ontological engineers. This definition is based on the idea of conceptualization i.e. a simplified version of the real world that we want to represent. They provide a shared and common understanding of a domain that can be communicated across people and application systems.

In these recent years, much work has been done with regards to the development of ontologies for e-Government (Salhofer et al., 2009; Hinkelmann et al., 2010; Dombeu et al., 2011). Different projects have been initiated in many countries and e-Government ontologies have been developed. However, small island developing states (SIDS) still lag behind in this field, Mauritius being one of them. In Mauritius, the field of Knowledge Management and Engineering is still in its infancy and the IT industry is more geared towards software development. However, to cope with this situation, a module in ontology development is being proposed in the IT curriculum at University of Mauritius. However, while working on ontology projects, it has been seen that final year students, face a lot of difficulty when they are requested to use ontology engineering methodologies or ontology development methods like Ontology Development 101. Some of the reasons were as follows: the heavy-weight nature of the ontology engineering methodologies, high learning curve associated to the development methodologies and the method and the reluctance of Domain Experts to participate. Therefore, these problems motivated the need for a new approach to the development of ontologies and this is how the Agile and Modular Method for Ontology Development (AMOD) was developed. This method is based on two concepts namely agile software development and ontology modules.

Agile methodologies (Vijayasarathy & Turk, 2008) use iterative and incremental approach to software development which is performed by a group of people with different functional expertise working towards a common goal. These methodologies have been proposed as an alternative to traditional heavyweight software development methodologies. They are particularly helpful when requirements are not very well defined at the beginning of the project. Through the different iterations and releases, high quality software which also meets the client's requirements are developed in a cost effective and timely manner. Extreme Programming (Beck, 2000) is perhaps the best known and most widely used agile method. It takes an ‘extreme’ approach to iterative development. Here, the developer prioritizes what to do first on the basis of client requirements. This approach can be used to develop domain ontologies, whereby the Domain Expert becomes part of the development team and with the Knowledge Engineerboth embark on the development process. The ontology is developed into phases based on the different user stories.

The second concept is, modular ontologies, which is inspired by software modules. Ontology modularisation is the process of defining a module which is the subset of the main ontology (Doran, 2009). The aim of developing a module is to make the ontology smaller so that it can be used for a particular application. A large ontology is not easy to understand and use and as such the use of module simplifies the task of those developing intelligent systems. Ontology modules being smaller also promote re-use and increases understandability. The concept of modules is used in the proposed development ontology, with the difference that instead of extracting modules, different modules are merged together to form the final domain ontology. Each module is developed bearing in mind the different applications that can be developed using these ontologies.

Complete Chapter List

Search this Book: