Ontology vs Taxonomy vs Metamodel vs Vocabulary
Often the terms 'ontology', 'taxonomy' and 'metamodel' are used interchangeably as though they have the same meaning and comprise the same set of things - they don't.
It's worth spending a little time briefly looking at what a metamodel is before then examining the differences
- a metamodel
- an ontology
- a taxonomy
- a vocabulary
before summarising what we've found.
A Metamodel
The TRAK metamodel consists of:-
- triples, each formed from
- one or two node elements
- and a connector element
- properties of node and connector elements
- enumerated values for some of the node and connector element properties
It is the set of triples that fundamentally defines a metamodel - isolated node and connector elements do not constitute a metamodel .
An Individual Element Describes Nothing - Only Triples Form Sentences or Assertions
The triples are formed from combinations of node and connector elements - usually 2 node elements and 1 connector element e.g. 'Argument supports Claim' or 1 node element and 1 connector element for a reflexive triple e.g. 'Physical has part Physical'.
A metamodel is defined by the set of triples that form the metamodel
The metamodel fragment shown consists of three contiguous
An ontology or a taxonomy does not form triples from the elements - they define specific types of relationships between individual elements. This is explained below.
A metamodel is comprised of triples. A metamodel is not an ontology. A metamodel is also not a taxonomy.
Metamodel vs Ontology vs Taxonomy vs Vocabulary
The TRAK Metamodel, like most metamodels contains a vocabulary and a taxonomy.
A Vocabulary
In its most simple form a vocabulary is simply a set of terms with a defined meaning. If we write this down we are describing that vocabulary i.e. we have produced a vocabulary description. This might form part of a dictionary.
The defined meaning of each metamodel element with the metamodel element identifier forms a vocabulary. The tables of metamodel node elements, connector elements and property elements in the TRAK specification documents therefore represent a vocabulary description of individual elements.
Consider the TRAK metamodel Organisation element, defined as:
OED:"organization (n.), sense 4.a" https://doi.org/10.1093/OED/1930376110
An organised body of people, associated for a particular purpose.
A Textual Vocabulary Description Defining an Vocabulary Element (Organisation) with respect to Another Vocabulary Element (OED: Organisation)
This defines TRAK 'Organisation' by reference to 'organization' within the Oxford English Dictionary - a recognized vocabulary description
In TRAK each atomic or individual metamodel element as an vocabulary element is defined with respect to an vocabulary element in a third party accepted vocabulary. For example the Vulnerability element:
TRAK Vulnerability vocabulary element Defined with Respect to 'Vulnerability' in the Oxford English Dictionary
This vocabulary definition does not define any triple within the TRAK metamodel - it defines a single Vulnerability (metamodel node) element with respect to a single Vulnerability element in an external vocabulary description - the OED. The vocabulary definition of a metamodel connector element can be similarly made with reference to a single external vocabulary element.
Metamodels are defined by their triples. Vocabularies are defined by the meaning of individual elements. It is possible to define 2 different metamodels - with 2 different sets of triples but sharing the same single vocabulary.
Two Metamodels (Different Triples) May Share a Common Vocabulary
A metamodel is defined by its triples not just isolated node or connector elements.
An vocabulary is not a metamodel. A metamodel usually contains an vocabulary.
Vocabulary vs Vocabulary Description
An Architecture and its description in an Architecture Description are distinct concepts.
ISO/IEC/IEEE 42010 Conceptual Model - http://www.iso-architecture.org/42010/cm/![]()
In ISO/IEC/IEEE 42010 the System of Interest, its Architecture and Architecture Description Are Distinct Concepts
An Architecture Description (AD) using text, or the UML or any typical notation may be stored on a computer. The architecture itself is conceptual and hence cannot be stored on a computer.
Similarly an vocabulary and its description are distinct concepts. In fact we can say that a Vocabulary is a particular form of Achitecture and the Vocabulary Description is an Architecture Description.so substituting 'Metamodel' for 'System of Interest', 'Vocabulary' for 'Architecture' and 'Vocabulary Description' for 'Architecture Description' we have:
Equivalent Conceptual Model for an Vocabulary and Vocabulary Description - A Vocabulary is Not A Vocabulary Description
An Ontology...?
Usually what you find in files on the World Wide Web are vocabulary descriptions (not 'ontologies') - described using languages such as OWL (Web Ontology Language) or RDF (Resource Description Framework). We might refer to these as "OWL + RDF - described ontologies" to separate the ontology from its description. In ISO/IEC/IEEE 42010 these Ontology Description Languages (ODLs) are also Architecture Description Languages:
"architecture description language" ISO/IEC/IEEE 42010:2011, International Standards Organisation.An ADL is any form of expression for use in Architecture Descriptions.
An ADL provides one or more model kinds as a means to frame some concerns for its audience of stakeholders. An ADL can be narrowly focused, defining a single model kind, or widely focused to provide several model kinds, optionally organized into viewpoints. Often an ADL is supported by automated tools to aid the creation, use and analysis of its models.
EXAMPLES Rapide [25], Wright [43], SysML [31], ArchiMate [40] and the viewpoint languages of RM-ODP [ISO 10746] are ADLs in the terms of this International Standard
The vocabulary description using RDF + OWL Ontology Description Languages describes the individual elements - nodes, relationships, properties and property values in the TRAK metamodel with respect to other vocabularies (ontologies) so that TRAK architecture descriptions can be machine-read as knowledge graphs. The web pages provide some of the ontology description of TRAK metamodel elements in a human-readable form.
The W3C refer to such an artifact as an 'ontology document':
‘OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax (Second Edition).’ 11-Dec-2012.An OWL 2 ontology is an abstract notion defined in terms of the structural specification. Each ontology is associated with an ontology document, which physically contains the ontology stored in a particular way.
This definition starts off well - it clearly defines that the 'ontology' is not the 'ontology document' (the description). However, it falls apart at the next sentence -
‘OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax (Second Edition).’ 11-Dec-2012.The name "ontology document" reflects the expectation that a large number of ontologies will be stored in physical text documents ...
This is incorrect since the W3C defines 'ontology' as abstract and hence cannot be 'stored'. It is not the 'ontology' that is held within the 'ontology document' but the description of the 'ontology' - what we're calling 'vocabulary description'.
An 'ontology document' using OWL, Turtle or RDF or any other ODL , however, is not a description of a metamodel - it doesn't describe or define the combinations of the metamodel elements - the triples - that form the basis of the content of TRAK architecture views. An 'ontology document' defines the relationship(s) between a pair of vocabulary elements - for example class structure (subClass) or set membership (isDisjointWith). A vocabulary description only considers the definition of an individual class, property or property value.
An 'ontology' is not an 'ontology document' - an 'ontology' is described in an 'ontology document'.
An ontology description language (ODL) e.g. OWL is not an ontology description, 'ontology document' nor an 'ontology' - an vocabulary description is produced using an ontology description language.
A Taxonomy
The TRAK metamodel contains a taxonomy - a parent / child or class structure through which element properties and participation in triples are inherited. For example the TRAK Resource element:-
A taxonomy defines parent / child Relationships Between Individual Vocabulary Elements
A taxonomy is a particular type or restricted set of vocabulary architecture limited to a class hierarchy. In fact we can say that a taxonomy is a restricted form of an vocabulary.
Summary Statements
We can say the following about a metamodel, an ontology and a taxonomy:
- A metamodel is defined by triples - a metamodel is not an ontology or a taxonomy
- a metamodel contains a vocabulary
- a metamodel usually contains a taxonomy e.g. in the TRAK metamodel - Resource
- An vocabulary description defines the meaning of an individual element with respect to another ontology element - an ontology is not therefore a metamodel
- A taxonomy is a restricted form of an ontology limited to class / subclass relationships between 2 vocabulary elements.
Hence if you find something that only defines an 'ontology' this is not a metamodel - defining an 'ontology' is not sufficient to define a metamodel.
If you can store something on a computer it is a description (of an architecture) - an architecture description - not the architecture itself. More specifically it is an vocabulary description.
The TRAK metamodel is subject to the terms of open source license: GNU Free Documentation License (Version 1.3, November 2008) at https://www.gnu.org/licenses/fdl-1.3.html.