A formal, explicit specification of a shared conceptualization 
In computer and information science, an ontology formally represents knowledge as a hierarchy of concepts (classes) within a domain, using a shared vocabulary to denote the types, properties and interrelationships of those concepts. Ontologies are commonly encoded using ontology languages (e.g. the Web Ontology Language OWL). Ontologies are extensively used to model knowledge domains on the Semantic Web (e.g. the Knowledge Graph of Google), in systems engineering and software engineering, for biomedical and pharmaceutical information systems, and specific knowledge intensive custom applications.
 T. R. Gruber. A translation approach to portable ontologies. Knowledge Acquisition, 5(2):199-220, 1993. Available on line.