A controlled vocabulary is an association between formal names (identifiers) and their definitions. An ontology is a controlled vocabulary augmented with logical constraints that describe their interrelationships.
We use ontologies to help make sure that when we capture a scientific finding in the form of RDF, the meaningof what we have said in RDF is as clear as it can be. Not only does such clarity increase a scientist's confidence in an RDF statement, it also permits the statement to be linked with other statements that use the same terms. Linking might be accomplished either through syntactic matching (e.g. SPARQL query) or automated inference (e.g. description logic reasoner).
Much of science attempts to extract general truths from specific experiments. These truths are not about particular things but rather are general over classes of things. For this reason, classes, and the relations between things in these classes, take center stage in any scientific ontology. Each class and relation gets a definition and its own formal name.
(We also define formal names for particular things, such as the contents of a culture dish, a particular patient's case of influenza, or a particular article in JAMA, but as a matter of convention the source of definitions of terms like these is more likely to be called by a "data source" than an "ontology".)
Examples of logical constraints that one might find in an ontology:
- Subclass - anything that is an X is also a Y
- Domain - anything related to something else via relation R is an X
- Range - if anything is related to something else via relation R, then the something else is a Y
- Part - anything that is an X is a part of something that's a Y