3.3.1. Definition of Ontology

The term 'ontology' is originally introduced by the Greek philosopher Aristotle [70] as a theory about the nature of existence. Since the beginning of the 1990s, ontology has been adopted by information scientists in the field of artificial intelligence and web and system modeling [71]. In computer science, the ontology is defined as: "a formal, explicit specification of a shared conceptualization." [72]. This explicit formal specification is domain-specific [73]. Ontology provides a model to support the process in agreement with all parties that all parties commonly agree to refer to the 'specification' of a conceptualization [74]. Uschold [75] identified different categories of ontologies:


In the Artificial Intelligence community, ontologies describe entities and their properties, relationships, constraints and behavior that are not only machine-readable but also machine-understandable [14,24]. According to [13], the functions of ontology are:


• Knowledge acquisition and sharing: to construct the system based on knowledge, the available ontology can be used as origination and foundation to supervise the acquisition of knowledge, which can improve its velocity and reliability.

To build an ontology, knowledge engineers need to talk with domain experts to analyze the system and to make everything explicit, e.g., concept description with existing defined concepts and the knowledge rules (i.e., the decision-making rules) in these formalized concepts [76]. There are seven recommended steps to design an appropriate ontology. The developed ontologies provide the means to exchange information that can be interpreted by software agents, knowledge representation and sharing among the software agents [38]. Ontologies are also useful for sharing between modelers, domain, experts, and users [14]. Meanwhile, ontologies also enable to infer knowledge from the gathered information using a reasoner [38].

Many languages have been developed to build an ontology for different purposes. The Ontology Web Language (OWL)(https://www.w3.org/OWL/) by W3C is one of the most popular standard ontology languages. It possible to use OWL in a variety of applications such as knowledge sharing and representation [77], semantic web [78], information system [79], ontology-based reasoning [80], etc. An important requirement for the system interoperability is to reuse existing ontologies. There are some libraries of reusable ontologies available online, such as Ontolingua (http://www.ksl.stanford. edu/software/ontolingua/) and DAML ontology libraries (http://www.daml.org/ontologies/) [48].
