Ontologies: An Overview

What is an ontology?

Selen Parlar
Analytics Vidhya
4 min readNov 13, 2019

--

In my previous post, we made a brief introduction to ontologies and mostly talked about one of the editors to examine an existing ontology to see the big picture. In this post, we will go into detail of ontologies and understand why we use and how we use them.

What is an ontology?

Ontologies are the set of concepts that include explicit formal specification of concepts and the relationships among them. The development of ontologies is mostly done by domain experts and the usage of ontologies becomes more common with the development of the World-Wide Web.

The World Wide Web Consortium (W3C), which is an international community that develops open standards to ensure the long-term growth of the Web, has developed the Resource Description Framework (RDF). RDF is a language that is used to encode the knowledge on Web pages in order to make it machine-interpretable. On the other hand, W3C and The Defense Advanced Research Projects Agency (DARPA) have developed DARPA Agent Markup Language (DAML). DAML is an agent markup language based on RDF that aims to facilitate agent interaction on the Web. With the usage of these languages, many disciplines are now able to develop standardized ontologies that can be used to share and annotate information in their domains.

Why we need an ontology?

An ontology defines a common vocabulary for a specific domain and includes machine-interpretable definitions of concepts with the relations among them. Ontologies were first defined as explicit formal specifications of the terms in the domain and relations among them (Gruber 1993) and, more specifically, a formal, explicit specification of a shared conceptualization (Studer et al. 1998). So, why we need to develop an ontology? Here are some of the reasons:

  • Sharing a common understanding of the structure of information among people or software agents (Musen 1992; Gruber 1993). For instance, several Web sites might provide similar services and if these Web sites use common ontologies, then computer agents can extract and aggregate information from these sites in order to answer user queries.
  • Enabling the reuse of domain knowledge. Suppose a large ontology needs to develop and one should simply integrate the existing small ontologies for the corresponding portions of the large domain.
  • Analyzing domain knowledge. Formal analysis of terms is extremely valuable when both attempting to reuse existing ontologies and extending them (McGuinness et al. 2000).

Therefore, developing an ontology is not the actual goal. The actual goal is to define a set of data and the structure behind them in order to make this data to be used by other programs.

How does an ontology look like?

As we said before, an ontology is a formal explicit description of concepts belong to a domain of discourse which is based on classes/concepts. A class can have subclasses in which more concepts are represented.

A class has slots/roles/properties that describe various features and attributes.

Slots might have restrictions which are called facets/role restrictions.

The image below shows an example hierarchy. The superclass Books has two distinct subclasses, namely Children’s Books and Novels. There are also instances of these subclasses like The Little Black Fish and Brave New World. Moreover, each instance has two different slots; Genre and Author. Apparently, the restrictions of slots are; they have to be strings and there must be at most one value for each slot.

An example hierarchy of the Books class.

A knowledge base is created when a set of individual instances of classes constitutes come together. To develop an ontology we need to:

One should note that an ontology is actually a graph. Thus, ontology’s components might have multidirectional relationships amongst them. For instance, there might be various types of relations such as is-a or part-of between classes. Or, a class may have several parents. For more information about graphs, you can refer to my previous post; Introduction to Graphs.

All in all…

In this post, we described what ontologies are and how they may be used. Now, you can make a more detailed examination about an ontology or you can start to create one of your own ontology on Protegé.

References

  • RDF — Brickley and Guha 1999
  • DAML — Hendler and McGuinness 2000
  • Ontology Development 101: protege.stanford.edu
  • Gruber, T.R. (1993). A Translation Approach to Portable Ontology Specification. Knowledge Acquisition 5: 199­–220.
  • Noy, N. F., and McGuinness, D. L. (2001). Ontology development 101: A guide to creating your first ontology. Technical report, KSL-01–05, Stanford Knowledge Systems Laboratory. Available from https://protege.stanford.edu/publications/ontology_development/ontology101.pdf.
  • Studer, R., Benjamins, R., and Fensel, D. (1998). Knowledge engineering: Principles and methods. Data & Knowledge Engineering, 25(1–2):161–198.
  • Drawings are created using Sketch.io.

--

--