# Ontology * An **ontology** is a representation of the types of *entities* in a given domain and of the *relations* between them. * The goal is to have a *common representation* so that that common representation can be used to the tag the data in databases. * For instance, imagine two separate databases in which we are describing people. In one database people are described with the letter "P" and in the other people are described with "PN137", then the ontology would simply have one word "Person" and it would tag both columns with "Person". This would allow us to *merge* the databases because they had been tagged with a common ontology. * So, we can say that the goal of an ontology is: > To promote the *interoperability* across heterogeneous data systems. * Note that this is accomplished by exploiting the relative stability and ubiquity of natural language vs. changeability of computer hardware and *ad hockery* of data engineering software * Ontologies work only when aggressively used by influential constituencies > Often an ontology of the domain is not a goal in itself. Developing an ontology is akin to defining a set of data and their structure for other programs to use. Problem-solving methods, domain-independent applications, and software agents use ontologies and knowledge bases built from ontologies as data. --- References * [Ontology vs Knowledge Graph](https://enterprise-knowledge.com/whats-the-difference-between-an-ontology-and-a-knowledge-graph/) * [Ontology Development 101: A Guide to Creating Your First Ontology](https://protege.stanford.edu/publications/ontology_development/ontology101-noy-mcguinness.html)