A Review of Ontology Development Aspects

—Although it is widely recognized that ontology is the main approach towards semantic interoperability among information systems and services, the understanding of ontology aspects among researchers is limited. To provide a clear insight to this problem and support researchers, we need a background understanding of various aspects related to ontology. Consequently, in this paper, a comprehensive review is conducted to map the literature studies to a coherent taxonomy. These include the benefits of ontology, types of ontology, application domains, development platforms, languages, tools, and methodologies. The paper also discusses the concept of ontology, semantic Web, and its contribution to several research fields such as Artificial Intelligence, Library Science and shared knowledge. The fundamentals of ontology presented in this paper can benefit readers who wish to embark in ontology-based research and applications development.


I. INTRODUCTION
According to a book titled "Birth of a new science: the history of ontology from Suarez to Kant" [1], an Ontology is seen as an inter-discipline that involved two parts that are philosophy and science.Furthermore, the point of discipline is considered as the issue of foundations of science and not a discipline that exist separately.It is also considered as independent from other scientific discipline and branches of philosophy.Aside from science philosophy, the term is derived from general structure of the world [1].To understand more, the structure of ontology is obtained from the knowledge that has been embodied into other disciplines.However, based on an article [2], it is said that ontology is the most comprehensive of all sciences that covers everything that exists from philosophy"s perspectives.Similarly, it is also applied to information science"s point of view with difference in essential definition ontology.Meanwhile from psychology"s perspective, the ontology is uncommon to be used as the psychologists are more interested in studying on how people develop concepts and enhancing it from time to time.
Another article by N. Guarino, D. Oberle, and S. Staab [3] mentioned that ontology is mostly used with different meaning, depending on the communities that are utilizing the ontology.From a philosophy discipline, ontology deals with the nature and structure of "reality".Whereas in computer science discipline, it holds a unique kind of information of computational or object artifact as a mean to formal model of the system"s structure; for example, a system able to become a company with all the employees and their relationship with one another.
As the term getting more known towards communities, various definitions were developed.The word ontology was taken from Philosophy, where it means a systematic explanation of being.In the last decade, the word ontology began used in artificial intelligence in the 1980s, and is now frequently used by computing and information science audiences.A few years later, Gruber [4] defined ontology as "an explicit specification of a conceptualization".This definition became the most quoted in literature and by the ontology community.One other definition is from Diana Man [5], he defined ontology as "consists set of concepts within a domain including the relationship between the concepts that considered as a formal representation of knowledge in computer science".Another article [6] defined ontology as "common vocabulary for researchers who are in need to share information in a domain".
The fundamentals of ontology presented in this paper can benefit readers who wish to embark in ontology-based research and applications development.It maps the current literature studies to a coherent taxonomy as shown in Fig. 1. www.ijacsa.thesai.org

II. BENEFITS OF ONTOLOGY
One of the benefits is during the development of terminologies resources.Ontology could improve the content of built terminologies including its resources.According to Leonardi [7], the ambiguity of it able to be attributed to interdisciplinary and considered as most relevant way in expressing valuable resources in terminology aspect.
Author in [8] mentioned that ontology can assist in clarifying any structure of knowledge.The knowledge could be shared by using or through ontology that has been developed.To ensure the benefit is concrete, the author had done analysis by one satisfactory set of conceptualizations which includes respective terms from certain area of knowledge such as electronic-devices domain.In result, the ontology had captured specific knowledge bases by describing certain situation like various electronic devices manufacturers uses common vocabulary and syntax which product description"s catalog was build.
According to [9], the features of ontology that is known to have essential relationship between concepts built into them are considered as its benefits.The feature enables the ontology to automate reasoning about data.In addition, it is easier to implement into semantic graph databases.The website also mentioned that ontology supports a variety of data representations such as unstructured, semi-structured or structured data which include better data integration, textmining and data-driven analytics.

III. TYPES OF ONTOLOGY
There are four types of ontologies, namely, Upper Ontology, Domain Ontology, Interface Ontology and Process Ontology [10].
Upper Ontology is an ontology defined as general concept to serve as common ground for communication specifically across different domains [12].This raises questions of existing upper ontologies whether it could deal either as in part or as whole with social concepts.For example, "follower" in microblogging platform Twitter.Moreover, it consists of features like collaboration, federation and organization in a way to express the social policies and structures that could only be understood by others.[11] Nevertheless, upper ontology consists various types that are known as Descriptive Ontology for Linguistic and Cognitive Engineering (DOLCE), Basic Formal Ontology (BFO), General Formal Ontology (GFO), Yet Another More Advanced Top-level Ontology (YOMATO), Unified Foundational Ontology (UFO), PROTo Ontology (PROTON), Suggested Upper Merged Ontology (SUMO), Cyc and WordNet [13].
The second ontology is Domain Ontology.Unlike upper ontology, this ontology is a concept that belongs to a certain part of the world such as politics.Each domain ontology is modeled with specific definitions of terms [13].Besides that, domain ontology consists of a collection of vocabularies and specifications of conceptualization of a given domain [14].According to an article [15], the concepts and relationship between concepts within certain subject can be specified.The researcher emphasized that the model should closely be matched with the level of information found in a textbook of that subject.
Process Ontology is understood as a description of components and relationship that able to make up a process [13].Moreover, this ontology known as specification of entities and its relationship that represents information including process and formal representation of domain processes.By this, it is able to incorporate a comprehensive and formal knowledge of an organization"s processes, activities, roles, application systems and much more.Nevertheless, it requires the hand of time and effort to extract information like roles, documents and so on from unstructured text that contains any process information [17].
The last type of ontologies is known as Interface Ontology.It is an explicit statement of patterns that provide valuable opportunity on reflecting current methods.Besides, it utilizes the basic categories of physical existence that could explain any less understandable and experiences to ensure the ontology is able to do it.Physical metaphors are presented in a pattern form [18].

IV. APPLICATION DOMAINS
Ontology consists of multiple types.Widely known is Semantic Web.Based on a research done by M.M. Taye [19], Semantic Web is a heterogeneous and distributed that brought the evolution of web into high level.Whereby the ontology plays an important role in semantic web.Another research [20] mentioned that semantic web is to enhance human and machine interaction by representing data in understandable way for machine to mediate data and services.Nonetheless, without the help of ontology, domain schemas could not be represented formally.[56].Ontology is widely used in multi-agent communication protocol [57] [58] [59] [60].It provides a concise description of exchanged messages between different agents [61] [62] [63] [64] [65].

Another application is ontology in agent communication language (ACL) [51] [52] [53] [54] [55]
Apart from that, System Engineering is an engineering discipline that responsible for creating and executing interdisciplinary processes to ensure stakeholders and customers are satisfied with the system throughout the system"s life cycle [21].Additionally, the role of ontology in system engineering is to become an intermediary between organizations and people by assisting them in the process of maintaining and building systems that could become as an inter-operability among systems.[22].
Another ontology application is Biomedical Informatics.It provides support of common vocabulary of biomedical concepts, definitions, relationships, axioms and rules that could control the knowledge flow into the knowledge base.[23].Researcher Rishi Kanth Saripalle said that the ontology is used to partially solve data management issue in medical.Prior to that, GALEN ontology provides terminology for building blocks of terminology description also combination of concepts description.[23].
Ontology also plays a role in Library Science.In this regard, it supports easy accessibility and re-use of existing www.ijacsa.thesai.orgontologies [24].Similarly with others, the ontology provides a formal conceptualization of data that able to be shared, aligned and reused in this application.As a result, a well-established and number of ontology development increases [25].
In Artificial Intelligence applications, the ontology helps to eliminate problems that are semantic and machineunderstandable representation of knowledge.The ontology facilitates knowledge by reusing and sharing knowledge, thus becoming a potential solution.With that, it acts as a link between information and users through logical abstracting information.[26].
Finally, in Enterprise Booking ontology, according to [27], the ontology presents a dynamic engineering design process while it constantly evolves, a collaborative ontology engineering tools is expected.

V. DEVELOPMENT PLATFORMS
There are many platforms to support ontology design and development.One of those is Protégé.Protégé is an open source with free tool that supports huge community of active users.[29] Fig. 2 shows the interface of Protégé.Protégé provides an intuitive editor for ontology development with the help of tool extensions for ontology visualization, software engineering and other modelling tasks [30].In addition, it provides a comprehensive Java-API to ensure it works with OWL and RDF models [31].
Meanwhile OntoEdit enables browsing, creating, maintaining and managing ontologies.However, a plugin architecture is required to be installed to ensure it is extensible and flexible for its purpose [29] With the plugin installed, OntoEdit not only ensure flexibility and extensibility but also able to export or import any ontologies that are in different formats such as RDF(s), XML and many more.The interface of OntoEdit is very similar to protégé, as shown in Fig. 3.
Although the interface layout is similar but the tools that are provided is different.While Protégé consists of "SQL Query" tab, "OntoGraf", "Classess" tab and so on, OntoEdit offers tabs that are nearly the same as Microsoft Words like fonts, size of fonts, color of fonts and much more [29].
Next is Differential Ontology Editor (DOE).The main advantage of this platoform is that it allows users to attach a lexical definition to relations, concepts, and justfiy the hieararchy.Despite having close name to OntoEdit, the interface of this platform is different as presented in Fig. 4.
The platform provides an import functionality.The ontology could be in form of XSLT, RDF(s), OIL, DAML+OIL and much more.This goes the same as the export function.DOE offers other features such as detection of cycles in hierarchices and ontology loading via URL [34].
Finally, Ontolingua is known to have a purpose of writing ontologies in canonical format.This is because it can be turned into a reasoning system with variety of representation.In addition to that, it allows one to maintain ontology into a machine-readable form while using different syntax and reasoning capabilities.Ontolingua is a public domain tool to define any common ontology.The syntax of ontolingua is based on standard notation and semantics for predicate calculus.With that, the platform is able to translate and implement into a representation systems and also captures common representational conventions such as inheritance hierarchies and inverse relation maintenance.Ontolingua enable renaming of non-logical symbols from multiple components of ontology.Thus, this platform supports cyclic graphs and extends ontologies in many ways [35,36].XML language is well-known.This language is a metalanguage that facilitates the development of specialized tag languages.XML is strongly used in web specially to exchange data between applications [37].Based on a study [37], the language was purposely designed to markup documents with arbitrary structures in opposed to HTML.The researcher also highlighted that this language creates a balance tree of nested sets of open and close tags.With that, each of the attribute value pairs without fixed vocabulary or set of permitted combinations can easily be defined.The syntax of this language is understandable by both platforms and human.Fig. 5 presents the syntax of the XML language.
The purpose of syntax is used to access the structure of documents.Any relevant information such as path expressions or templates for navigating are easier to locate within the document tree [38].
Next is Web Ontology Language (OWL).As mentioned by Techpedia, OWL was built upon standard with World Wide Web Consortium called Resource Description Framework (RDF) and have been evolved to many syntaxes and specifications.OWL has attracted great deals of interests from different fields such as medicine and academia [39].This language was built on top of RDF and written XML.Based on a study, it is considered as part of the semantic web vision with the designed to be interpreted by computers.In result of the development, the purpose of OWL is to instantiate and define web ontologies with the description of properties, classes and instances of ontology [39] Although OWL is related to RDF and XML, the syntax or axioms however is entirely different than those two languages.Fig. 6 shows a sample of the OWL axioms.The basic OWL construction is axioms.Based on Fig. 5, the author explained that Axioms (1) and ( 2) is the Author and Paper concepts that are presented in OWL Class.Meanwhile, Axioms (3) and (4) stated that hasAuthor is an object property and hasName is a data property.While, Axioms ( 5) and ( 6) are two different methods to assert the individual Bob that is an instance of class Author [40].
Another popular language is Resource Description Framework Shema (RDF).According to the study [41], RDF offers a distinguished vocabulary to model class and property hierarchies and other basic schemas from RDF models.This language also defines and permits modelling of objects with clear definition of semantics.RDF is usually companied by RDFS language.Based on a study [42], RDFS is known as an extension for RDF that consists of ability to give vocabularies, taxonomies and ontologies.Although both were written in XML syntax and used in Protégé tool, there are few differences between these two languages.Table I shows the comparison of RDFS and RDF.
The similarities of these languages are class, data, objects, domain and range, annotation and individual properties.While the contrast of the languages is the inverse properties, RDF does not contain it but RDFS does.Moreover, RDFS is better in inferencing, indexing and searching.Finally, SPARQL query and DL query, RDF does not consist any of those two queries while RDFS has them [41].
Next is OIL language.This language is the production of OnTo-Knowledge plan.It can unify three crucial aspects.These aspects are Description Logic, frame-based system supplied modelling language and web standard based on syntax of XML and RDF(s).[42].Prior to that, OIL was specially designed to present the exact machine-accessible semantics of information of the web [43].The architecture of OIL language makes it unique compared to others.There are three architectures.First is Standard OIL, whereby it is aimed to capture important mainstream modelling primitives to ensure adequate expressive power.Second, is Instance OIL.This layer includes individual integration with a modelling that could construct and specify individual fillers in terms of definition.Last architecture, Heavy OIL includes additional representational and reasoning capabilities [44].Fig. 7 shows a sample code of OIL language [45].To elaborate, the OIL expression defines "Herbivore" as a class and a subclass for "Animal" and a disjunct to "Carnivores".

VII. DEVELOPMENT TOOLS FOR SEMANTIC WEB
There are two well-known platforms for building Semantic Web.The first platform is JENA.It is a Java-based language platform with the purpose of creating applications for semantic web.This platform provides interfaces and classes for the manipulation and creation of RDF repositories.It also includes the capability of creating and manipulating RDF graphs.Furthermore, the semantic data can interact with the libraries contain inside JENA [46].
According to a study [47], JENA supports many description languages like DAML+OIL, RDFS, OWL and much more.Fig. 8 shows some part of the JENA codes that is used to create ontology.In Fig. 8, the codes consist of all necessary import to supporting Semantic Web applications.GetStartedSemWeb class is created for next default namespace and model.This class is to hold semantic data that have been declared while getsemweb in the main method.It is an object created and call made to loadontology method.Meanwhile, loadontology is another ontology created by calling ModelFactory.Create OntologyModel().Aside from that they will call up another method to show the result of the ontology.JENA is not the only platform used for building Semantic Web, there is another one named "CLIPS".In an article explained that CLIPS is a RETE-based production rule engine that was written in C language.One interesting fact of this tool is that it able to integrate the production rule paradigm with OO model that can be defined by using COOL language (CLIPS Object-Oriented Language).CLIPS provide the necessary constructs to define classes with attributes and corresponding data model.Fig. 9 shows the basic syntax of defining classes using COOL language.The attributes in COOL can take either a single value called slots or more than one called multi slots.COOL regarded classes as type of objects and may also define it as attributes.Whereby, the classes of domain are usually organized in terms of class hierarchy by using subclass relationships that may have more than one direct super classes.This tool is suitable for applications whereby ontologies are used as static models for sharing knowledge in heterogeneous environments.For example, the domain of Software Antipatterns [48].

VIII. ONTOLOGY DEVELOPMENT METHODOLOGY
This section discusses three popular methodologies for ontology development.First is Uschold and King"s methodology.This methodology has been developed based on Enterprise Ontology experience.Hence, able to provide guidelines for developing ontology [16].Nevertheless, this methodology provides three phases for users to easily understand and follow the flow of a development process.Table II shows the summary of the three phases.
Meanwhile for Methontology, it was developed by an Ontological Engineering group at Universidad Politécnica de Madrid.Different with the previous methodology, Methontology enables the construction of ontologies at knowledge level which includes the root of the main activities that was identified by IEEE software development process and other knowledge engineering methodologies.Nevertheless, this methodology consists of six more steps than Uschold and King"s methodology.All the steps are presented in Table III.
Methontology could identify management activities such as schedule, quality assurance, control and support activities [49].Finally, this methodology also uses user-friendly approach in acquisition knowledge by non-knowledge engineer.This shows that the approach is an effective yet applicable method especially for domain-knowledge-model construction [50].www.ijacsa.thesai.org

Formulation of informal competency questions
All form of questions is based on previous scenarios and considered as expressiveness requirements.Most of the questions are stratified and can be used to answer general questions from another ontology.

3.
Specification of the terminology of the ontology All informal terminologies are obtained.Whereby set of terms are extracted from the questions.

Formulation of formal competency questions by using terminology
The competency of questions and the terminology of the ontology are formally defined

Specification of definitions and axioms
Axioms and definition are arranged into a first-order sentences and are used to define the constraints and terms for the objects inside the ontology.

6.
Establish conditions for characterizing the completeness of the ontology All questions and conditions have been formally stated and defined.
The third methodology is by Grüninger and Fox [16].This methodology was created according to an experience of developing the TOVE project ontology.There are six steps in this methodology, as summarized in Table III.

IX. DISCUSSION AND RECOMMENDATION
Based on review, each of the ontology types has their own purpose.For example, domain ontology can be used to describe concepts, relationship, definitions with specific definition of a term.With that, domain ontology could assist any field such as Artificial Intelligence, Library Science, Biomedical Informatics and much more as these sectors are dealing a lot with definitions, terms and so on.However, for Upper Ontology, this particular serves as common ground for communication across different domains such as twitter or any organization that is required to communicate from different domains.Meanwhile, for process ontology is used to express the components and relationship that can make up as a process.With its capability to represent information of process and domain processes, an organization can apply this ontology to describe their role, processes, activities and much more of the organization.Nevertheless, to reflect any explicit patterns that could possibility provide valuable opportunity on current methods, it is best to use Interface Ontology as it uses basic categories of physical existence.
In order to develop the ontology, it is required to have a platform for development.As mentioned in this paper, there many tools that can be used to develop an ontology, though it depends on the developer"s preference and needs.One of the most known platform among developers is protégé.As it is a free tool software included with tools extension to assist in visualization, software engineering and other modelling tasks.However, if a developer is requiring to manage or maintain an ontology, OntoEdit is the suitable platform to do so as it has the capability to manage and maintain but a plugin architecture is required to ensure the platform is flexible and extensible for the purpose.Another platform is Differential Ontology Editor (DOE), this tool can assist developers to create a lexical definition to relations, concepts, and justify the hierarchy.In addition to that, if developers need to import any ontology in any format, this tool can provide an import function for the purpose.Next, for ontology that is need to be written in a canonical format, Ontonlingua is the tool to use as it allows maintain an ontology into a machine-readable form by using reasoning capabilities and different syntaxes.
In connecting with the developing platform, there are also various languages that can be used by the developers, according to their preference.To facilitate data exchange between applications, common language to use is XML language.This language specialized in tag languages and also creates a balance tree of nested sets of close and open tags.With that users are not bound to define every attribute pairs with fixed vocabularies.Furthermore, another language that can be use is Web Ontology Language (OWL) with the combination of RDF and XML, users able to define and instantiate web ontologies by describing the instances, properties and classes of a particular ontology.Now, given that OWL is combination of RDF and XML, RDF can also be used as stand-alone.For RDF, the language able to define and allow www.ijacsa.thesai.orgmodelling objects with clear definition of semantics.Normally, when developers used this language, they will be accompanied by an extension that provide an ability to give taxonomies, ontologies and vocabularies called RDFS.Besides, this language can be used in Protégé software.If users are dealing with machine-accessible semantics information of the web, the language that has the functionality to do so is OIL language.Unlike the other languages, OIL consist three architecture known as Standard OIL, Instance OIL and Heavy OIL.Each of the architecture has their own role in this language to carry out the task.
In any case if the developer is interested to build an ontology in semantic web, there are two softwares can be used.One is a Java-based platform known as JENA that can handle multiple description language (ie: RDFS, OWL etc).Second is CLIPS, a C-language tool that able to integrate a production rule paradigm with COOL language suitable for static model ontology in sharing knowledge in a heterogeneous environment.As we known that ontology is a development process.
Therefore, to assist developers in building ontology, there are three methodologies to use.The common methodology is Uschold and King"s methodology that provide a guideline of each phases in developing ontology.In comparison with Methontology, this method able to identify management activities and it is said to be an effective yet applicable approach for domain-knowledge model construction.Lastly, similar to both methodologies, the Grüninger and Fox Methodology was created based on the experience of TOVE project ontology that has six steps, begin with capturing motives and ending with established condition.To conclude, ontology can be developed through various ways according to the suitability and preference of a certain project and developers.Unlike any other development projects, ontology is dynamic and flexible that is not bound to a certain development process or progress to be created.

X. CONCLUSION
An overview of the ontology development aspects has been presented in this paper.The definition of ontology was discussed from different perspectives.Additionally, various types of ontology are available to be known as Upper Ontology, Domain Ontology, Interface Ontology and Process Ontology was mentioned.Moreover, all types of ontology discussed have applied in various domain such as Semantic Web, System Engineering and Biomedical Informatics.Furthermore, three common development platform and designing ontology which are Protégé, OntoEdit, Differential Ontology Editor (DOE) and Ontolingua are also presented in this paper.Besides that, basic languages are also discussed.Finally, from various development tools to languages, both are used together to build an ontology by several methods which are Methontology, Uschold and King"s and Gruninger and Fox.

Fig. 1 .
Fig. 1.The Taxonomy of Literature on Ontology Development Aspects.

TABLE .
II. SUMMARY OF THE PHASES USED IN USCHOLD AND KING METHODOLOGY Phase SummaryIdentifying purpose To clarify the reason why the ontology is built and what is the purpose of use of the ontology.To identify all the key concepts and relationships between a domain. Precise unambiguous text definitions and identifying terms to refer to concepts and relationships in first phase.

TABLE .
III. SUMMARY OF GRÜNINGER AND FOX METHODOLOGY