Historically the term ontology originated in philosophy and metaphysics. Referring to the studies of the science of being. For example the observation that the world is made up specific objects. Objects that can be grouped into abstract classes. Based on shared properties, is a form of ontological study.
However, in the world of computer science ontology has a slightly different meaning.
“In the context of computer and information sciences, an ontology defines a set of representational primitives with which to model a domain of knowledge or discourse.” – Gruber, 2009
Ontologies serve a similar function as database schemas.
Providing machine-processable semantics of information sources. Doing this through collections of terms and their relationships. To integrate information from different sources, there needs to be a shared understanding of the domain. Knowledge representation provides structures for organising the knowledge. But provides no mechanisms for sharing it. To be able to provide a common format to the vocabulary, ontologies can be used. To support the sharing and reuse of the knowledge.
“For machines to perform useful automatic reasoning tasks on these documents. The language machines used must go beyond the basic semantics of XML Schema. They will require an ontology language, logic connectives, and rule systems.” – Alesso & Smith 2006, pp.38
It consists of statements that define concepts, relationships and constraints. These will form an information domain model. The purpose of ontology is to communicate a specification of a domain. Declare semantics and support information sharing. Although there are various definitions of the term ontology, we will use the definition given by Gruber. As it is the one that is most recognised in the field of computer science.
There is more information on what semantics are here in a separate article.