Show Menu
Cheatography

Ontology Engineering Cheat Sheet (DRAFT) by

Notes on developing ontologies that cover the following four topics: - Main tasks in ontology development - Overview of how these tasks can be approached - Main features of foundational ontologies (that is, their nature and purpose) - Overview of bottom-up ontology development for overcoming the knowledge acquisition bottleneck

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Main Tasks in Ontology Develo­pment

Ontology develo­pment has similar tasks to the software develo­pment life cycle (SDLC) and can be grouped into three overla­pping sections. Note these sections define types of activities and are not necess­arily done in a linear fashion.
1. Requir­ements and Knowledge Acquis­ition
2. Ontology Constr­uction
3. Testing and Mainte­nance
These tasks gather the requir­­­e­ments that the output ontology should fulfill, identify who will use it and why and document them for use in the constr­­uction and testing of the ontology.
These tasks design, formalise and construct the ontology into a formal­ised, shareable, computer readable format.
These tasks make sure the ontology satisfies the specif­ica­tions outlined and adapt the ontology to any further changes.
1.1. Identi­­fi­c­ation: List all accessible resources to obtain key concepts, relati­­on­s­hips, termin­­ol­ogies and ontolo­­gical requir­­em­ents, why the ontology is needed and who will use it. These are sourced from from domain docume­­nt­a­tion, glossa­­ries, online resources, existing databases and ontolo­­gies, and interviews with domain experts.
2.1. Concep­­tu­a­l­iz­­ation: Define the main concepts and their relati­­on­ships within the domain. This task involves identi­­fying classes, subcla­­sses, proper­­ties, attrib­­utes, and their hierar­­chical structure.
3.1. Verifi­cation: Assess the quality of an ontology based on certain criteria and metrics, which includes CQ verifi­cation (a test against the specif­ica­tions made) and metric­-based evaluation (a quanti­tative evaluation of the ontology quality).
Output: Domain Descri­­ption Document.
Outputs: Concept hierarchy or taxonomy
Outputs: Test reports
1.2. Domain Analysis: Analyse and turn the user requir­­ements in the DDD into distinct and well-d­­efined functions that illustrate diagra­­mm­a­t­ically and textually the key concepts and their relati­­on­s­hips.
2.2. Formal­ization: Express the ontology using a formal language to ensure precise semantics and enable automated reasoning. This involves specifying logical axioms, constr­aints, and rules that govern the behavior and consis­tency of the ontology.
3.2. Mainte­nance: Make updates or correc­tions to the ontology, as necessary. After evaluation or publishing the online version of the ontology may have possible errors or missing domain knowledge.
Output: UML use case diagram.
Outputs: An OWL/RDF or other computer readable file repres­enting an empty ontology.
Outputs: An updated OWL/RDF or other computer readable file with a populated ontology.
1.3. Specif­­ic­ation: Transf­orm the refined requir­­ements list into a list of competency questions (CQs) which are used as ontology functional requir­­em­ents. The final ontology can be tested against these CQs.
2.3. Implem­ent­ation: Populate the ontology with new data properties and indivi­duals and assigns them to the approp­riate classes, relati­onship mapping etc using an ontology editor (such as protege).
 
Output: Competency Questions (CQs).
Outputs: An OWL/RDF or other computer readable file with a populated ontology.
 
4. Docume­ntation
Docume­ntation is done throughout each of the above tasks. Why decisions are made, all the artefacts created and other management docume­ntation is done throughout the life cycle of the ontology.

Overview of Method­olo­gical Approach

There are many method­olo­gical approaches to completing the tasks of ontology develo­pment. These can be broken down into macro-­level method­olo­gies, which outline the entire develo­pment process in a structured fashion, and micro-­level method­olo­gies, which focus on the formal­ization aspects of ontology authoring.
1. Macro-­level method­ologies
2. Micro-­level method­ologies
1.1. Waterfall: a sequential design process which follows a linear, step-b­y-step approach where each phase must be completed before moving on to the next. Specif­ica­tion, concep­tua­liz­ation, formal­iza­tion, implem­ent­ation, mainte­nance are all done one after the other (though NeON has many different routes and sub-st­eps).
These method­ologies focus on the guidelines to formalize the subject domain. Specif­ically moving from an informal repres­ent­ation to a formal, logic based repres­ent­ation. Though these share many of the steps of the macro-­level method­olo­gies, their focus/­vie­wpoint is on implem­ent­ation specific choices. i.e. distri­buted or or not, logic framework choice, design archit­ecture, expres­siv­eness, founda­tional ontology choice, ontology language choice etc. Their focus is on detail rather than overview which the macro-­level focusses on.
Examples: Methon­tology, NeON
Examples: OntoSpec, OD101, DiDOn
1.2. Lifecycle: a framework for the develo­pment and management of ontologies throughout their entire lifecycle, from inception to retire­ment. The phases identified (requi­rements develo­pment, ontolo­gical analysis, ontology design, system design, ontology develo­pment & reuse, system develo­pment & integr­ation, deployment and operation & mainte­nance) outline common abstracted activities and are either done in parallel or sequen­tially and are repeated or only done once, depending on the management of the develo­pment process.
 
Examples: Ontology Life Cycle Model
 
1.2. Agile: an approach that emphasizes flexib­ility, collab­ora­tion, and iterative progress. These ontologies are developed increm­entally through short iterations where each iteration focusses on a specific aspect of the ontology. In this way it is easier to be adaptable to changes, to be able to respond to stake holder feedback, to collab­orate in smaller bursts and to be able to have working prototypes earlier in develo­pment.
 
Examples: OntoMaven
 

Main Features of Founda­tional Ontologies

Founda­tional ontologies are high-level abstra­ctions of common ontolo­gical patterns.