Ontology vs Taxonomy vs Metamodel
Often the terms 'ontology', 'taxonomy' and 'metamodel' are used interchangeably as thought they have the same meaning and comprise the same set of things - they don't.
So it's worth spending a little time briefly looking at what a metamodel is before then examining the differences
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. The triples use the node and connector elements.
An ontology or a taxonomy does not form triples from the elements - they define specific types of relationships between individual elements.
A metamodel is comprised of triples. A metamodel is not an ontology. A metamodel is also not a taxonomy.
Metamodel vs Ontology vs Taxonomy
The TRAK Metamodel, like most metamodels contains an ontology and a taxonomy.
An Ontology
Consider the 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.
This defines 'Organisation' by reference to 'organization' within the Oxford English Dictionary - a recognized vocabulary or ontology
In TRAK each atomic or individual metamodel element as an ontology element is defined with respect to an ontology element in a third party accepted ontology or vocabulary. For example the Vulnerability element:
This ontology definition does not form any triple using the TRAK ontology element - it defines a single element.
Note that just as an Architecture and its description in an Architecture Description are separate concepts so is an Ontology and its Ontology Description. In fact we can say that an Ontology is a particular form of Achitecture and the Ontology Description is an Architecture Description.
ISO/IEC/IEEE 42010 Conceptual Model - http://www.iso-architecture.org/42010/cm/
so substituting 'Metamodel' for 'System of Interest', 'Ontology' for 'Architecture' and 'Ontology Description' for 'Architecture Description' we have:
Usually what you find in files on the World Wide Web are ontology descriptions (not ontologies) - described using languages such as OWL (Web Ontology Language) or RDF (Resource Description Framework). 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 ontology 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.
An ontology description 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 description defines the relationship between a pair of ontology elements - for example class structure (subClass) or set membership (isDisjointWith). An ontology only considers the definition of an individual class, property or property value.
An ontology is not a metamodel. A metamodel usually contains an ontology.
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 is a particular type or restricted set of ontology limited to a class hierarchy. In fact we can say that a taxonomy is a restricted form of an ontology.
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 an ontology
- a metamodel usually contains a taxonomy e.g. in the TRAK metamodel - Resource
- An ontology defines the meaning of an individual element with respect to another ontology element - an ontology is not a metamodel
- A taxonomy is a restricted form of an ontology limited to class / subclass relationships between 2 ontology 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.