Ontology design and development

What is an ontology?

The term “ontology” has its origins in metaphysics and philosophical sciences. In its most general meaning, an ontology is used to explain the nature of the reality. There are at least a dozen of definitions of ontologies in the computer science literature, but the most widely cited is that provided by Gruber (1993). For Gruber an ontology is a highlevel formal specification of knowledge domain: it is a formal and explicit specification of a shared conceptualisation.

Firstly, a conceptualisation is an abstract view of particular real-world entities, events and the relationships between them.

Formal refers to the fact that an ontology is a form of knowledge representation and has a formal software specification to represent such conceptualisations, for example, an ontology has to be machine-readable.

Explicit means that all types of primitives, concepts and constraints used in the ontology specification must be explicitly defined.

Finally, shared means that the knowledge embedded in ontologies is a form of consensual knowledge, that is, it is not related to an individual, but accepted by a group.

Ontology semantics

Ontologies provide syntactic and semantic terms for describing knowledge about a domain.Although differences exist within ontologies, general agreement exists about several issues relatedwith the structure and behaviour of real world objects:

  • There are objects in the world
  • Objects have properties or attributes that can take values, they can be represented as triplets
  • (Object –> Attribute –> Value)
  • Objects can exist in various relations with each other
  • Properties and relations can change over time
  • Events occur at different time instants
  • There are processes that occur over time in which objects participate
  • The world and its objects can be in different states
  • Events can cause other events or states as effects
  • Objects can have parts

Ontologies and Semantic Networks

An ontology can be seen as a domain representation in the form of a semantic network. The nodesare concepts or entities, and the arcs represent relationships or associations among the concepts. This ontological network can be augmented by logic axioms, which represent a set of attributes,functions, relations, constraints and rules that specify the structure of the concepts and the representation of their behaviour. In this ontological network, the concepts are categorised andclassified in taxonomies through which inheritance mechanisms can be applied.

Ontology development methodology

Ontology design and development can be approached from several different perspectives: inspirational, inductive, deductive, synthetic and collaborative [hol 02]. In recent years, there has been a move towards the integration of these different styles [edg 04]. The underlying ontology-driven software design method also attempts to integrate of these different styles by focusing on a collaborative approach, and building on existing ontology research, such as the Enterprise Ontology [usc 97].

An approach for ontology construction

Ontology purpose and scope

The aim of this stage is the definition of the purpose and scope of the ontology. It includes an informal description of its use, the users, the degree of formality required, and the scope of the ontology. A first approach to define the domain terminology including an informal description of the entities, related terms, their properties and relationships are described at this stage. The output of this phase is a natural language ontology specification document.

Knowledge acquisition and conceptualisation

This stage concerns the process of acquiring knowledge from a given domain. It applies traditional methods, such as analyses of domain texts, expert interviews, and the application of structured and semi-structured questionnaires. Other knowledge elicitation and acquisition methods can be applied, such as the techniques to build knowledge-based systems.

The knowledge acquisition process leads to a domain conceptualisation: the identification and representation of the domain entities or concepts, instances, relations, properties, and associates them with domain terms. Each of the terms and their relationships are represented with an informal language. This stage intends to define the terminology used by the domain experts. This is always an iterative task between the domain engineer and the domain experts in order to result in a comprehensive definition of all the different terms used by the domain actors, their meanings and their relationships.

Ontology integration

This stage promotes the process of building a new ontology by reusing other ontologies. In order to obtain some uniformity across ontologies, definitions from other ontologies can be reused. The conceptual idea is to reuse and adapt ontological terms from published and consensual ontologies. Examples of such ontologies are the Time Ontology, the Bibliographic Ontology, the Document Ontology, the Product Ontology, the Enterprise Ontology, among many others.

Concept description and formal specification

This stage proposes that ontologies should be formally represented using a formal representation language, such as Ontolingua or OWL. The ontology formalisation can be created, edited and specified with Protégé or another ontology development environment. This stage involves the formalisation of each term and their constraints used by the ontology. Such terms are represented through classes, relations, functions, and instances. Formal axioms using first-order logic predicates can be added to represent specific (more complex) domain constraints.

Evaluation and documentation

A key criteria used to develop an ontology are clarity, coherence, completeness, and extensibility. Ontology validation and verification is made through the application of a set of guidelines that look for incompleteness, inconsistencies and redundancies. The terms in the ontology should be clearly defined, the terminology should be coherent, and the relationships between the terms logically consistent. A set of documents that result from the execution of each of the other activities identified above must be explicitly written.

Select bibliography and recommended reading

Wilson, M. and Matthews, B. The Semantic Web: Propects and Challenges, IEEE, 2006.

Edgington, T., Choi, B., Henson, K., Raghu, T. and Vinze, A. (2004). Adopting  Ontology to Facilitate Knowledge Sharing, Communications of ACM 47, 11 (Nov. 2004), 85 – 90.

Wang et al., Ontology-based Web Knowledge Management, IEEE 2003.

Holsaple, C. and Joshi, K. (2002). A collaborative approach to ontology design, Communications of ACM 45, 2 (Feb. 2002), 42 – 65.

Swartout, W. and Tate, A. (1999). Ontologies, IEEE Intelligent Systems, Jan-Feb 99, pp.18-19.

Uschold, M., King M., Moralee S. and Zorgios Y. (1997). Enterprise Ontology, Artificial Intelligence Applications Institute (AIAI), University of Edinburgh, Technical Report AIAI-TR-195.

Vasconcelos, J, Kimble, C., Gouveia, F., Kudenko, D. (2001) Reasoning in corporate memory systems: a case study of group competencies, Procedures of ISMICK 2001, Proceedings of the 8th International Symposium on the Management of Industrial and Corporate Knowledge (ISMICK01), Compiègne, France, 2001, pp. 243 – 253.

Gruber, T. (1993). Toward Principles for the Design of Ontologies Used for Knowledge Sharing, Technical Report, Knowledge Systems Laboratory, Stanford University.

Ontology web resources

What is an Ontology? (Stanford University)

Why develop an ontology?

Ontology definition by Tom Gruber

The Enterprise Ontology

Ontology Engineering (wiki)

Protégé open source ontology editor

          Getting Started with Protege 4.x OWL


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: