There are multiple definitions for what is an “ontology”.
Schultz describes it as an abstraction of a field of interest, usable by programs http://dl.acm.org/citation.cfm?id=1566094. Bard defines ontologies in a more operational manner, by specifying they are “a formal way of representing knowledge in which concepts are described both by their meaning and their relationship to each other” http://www.nature.com/nrg/journal/v5/n3/full/nrg1295.html.
In practice, ontologies are mainly constituted of classes (also called “concepts” or “types”), relations (also called “properties”) and sometimes, reasoning rules. Classes are used to describe data through their ID (for example, ATOL:0001259 for weight). This ID is comprised of a prefix (ATOL, in this case) which designates the ontology and a unique component inside the ontology (e.g. 0001259). This allows for combinations of multiple ontologies to describe data more precisely and without ambiguity.
Thus, an ontology is a formal description of the knowledge of a domain. It is characterised by the notion of genericity (the tibia is a bone, the tibia is a part of the leg) which is to be opposed to the anecdotal extent of data (this tibia is 32cm long). To illustrate this, one could say ontologies represent absolute truth whereas data are made up of variations. Data are usually stored in databases and annotated by ontologies to be able to be automatically interpreted.