Ontology vs vocabulary

Both vocabulary and ontology refers to a thing. Although they have differences.

Vocabulary

Vocabulary is an understanding of what a thing is.

Example:

Apple is a fruit. Apple is also a shortname for the company Apple Inc.

Ontology

Ontology is the overall understanding of a thing with regards to its relationships, similarities & differences to other things.

Example:

Apple -> is a fruit -> produced by an apple tree -> which has a scientific name -> Malus domestica -> Of which, Apple Inc. -> got its name

As to which is preferable, since you are working with semantic web and linked data technologies, ontology will make more sense to you.

Vocabulary was what machine learning laboratories derived from processing information on the web. Machine learning on that direction is not going to cut it. People from W3C realized it and that to understand things further, Semantic Web and Linked Data were some of their solutions. Which gave rise to this complicated notion of ontology.

Vocabulary is much more easier for human beings to comprehend while ontology is easier for the machines.


In the driest sense, a "vocabulary" is a context-less list of terms, with no defined interrelationships. "Ontology" is meatier, implying the presence of interrelationships, axioms, classes, etc.

Nevertheless, the term "vocabulary" is almost never used to mean ONLY "list of terms", unless it's under the umbrella of an ontology you're talking about. The two terms overlap quite a great deal, and IMO using the term "vocabulary" generally means an ontology which doesn't claim a rigidly formal philosophical backing.


I hold it like the W3C does in their description about "Ontologies":

There is no clear division between what is referred to as “vocabularies” and “ontologies”. The trend is to use the word “ontology” for more complex, and possibly quite formal collection of terms, whereas “vocabulary” is used when such strict formalism is not necessarily used or only in a very loose sense. Vocabularies are the basic building blocks > for inference techniques on the Semantic Web.

[1] http://www.w3.org/standards/semanticweb/ontology


From the docs:

A controlled vocabulary is a list of terms that have been enumerated explicitly. This list is controlled by and is available from a controlled vocabulary registration authority. All terms in a controlled vocabulary should have an unambiguous, non-redundant definition. A controlled vocabulary may have no meaning specified (it could be just a set of terms that people agree to use, and their meaning is understood), or it may have very detailed definitions for each term.

A formal ontology is a controlled vocabulary expressed in an ontology representation language. This language has a grammar for using vocabulary terms to express something meaningful within a specified domain of interest. The grammar contains formal constraints (e.g., specifies what it means to be a well-formed statement, assertion, query, etc.) on how terms in the ontology’s controlled vocabulary can be used together.