Background and Motivation
This page presents a proposal for the resolution of ISSUE 134 -- the metamodel of OWL 2.
The current structural specification includes a number of UML diagrams. While this has so far not been made explicit, these diagrams are intended to be compliant with OMG's MOF (Meta Object Facility).
The specification of OWL 2 by means of a MOF metamodel has a number of benefits. It
- allows for a more precise formal specification,
- provides a machine readable format of the specification,
- enables the use of a range of MOF-based software tools,
- may be used to define UML profiles using the extensibility features of UML2 to allow a visual notation for the modeling of ontologies
The proposal is to make the use of MOF explicit in the structural specification. This is to be achieved by the following two changes to the [ Syntax ] document:
- It will be explciitly stated that the structural specification is a MOF specification.
- A link to the machine-readable metamodel will be provided.
Specifically, we propose to change the following sentences in the structural specification:
2.1 UML Notation and Structural Equivalence
The structural specification of OWL 2 is defined using the Unified Modeling Language (UML), and the used notation is compatible with the Meta-Object Facility (MOF). This document uses only a very simple form of UML class diagrams that are expected to be intuitively understandable to readers that are familiar with the basic concepts of object-oriented systems, even if they are not familiar with UML.
2.1 MOF-Metamodel, UML Notation and Structural Equivalence
The structural specification of OWL 2 is defined using a [MOF] metamodel. MOF uses the Unified Modeling Language (UML) as a visual notation. In particular, MOF uses a very simple form of UML class diagrams that are expected to be intuitively understandable to readers that are familiar with the basic concepts of object-oriented systems, even if they are not familiar with UML. The full metamodel is available in a machine-readable form [OWL 2 Metamodel].
The following references will be appended to the document:
- Meta Object Facility (MOF) Core Specification, version 2.0. Object Management Group, OMG Available Specification 1 January 2006.
- [OWL 2 Metamodel]
- Ecore Serialization of the OWL 2 Metamodel.
Finally, all diagrams will be updated to include the diagrams generated off of this metamodel.
Note: With the current proposal, we provide the metamodel in the Ecore format (as widely supported by open source tooling, like Eclipse EMF). We may also provide it in EMOF, the official format defined by the OMG. (see additional resources below). As this is only a matter of exporting to the different format, it has no impact on the resolution of this issue.
The previous section summarizes all the changes to the official specification. This section contains some additional resources that the members of the OWL WG might find useful in evaluating and experimenting with the metamodel. The resources and text mentioned here are not intended be included into the core documents.
The file located at [OWL 2 Metamodel] contains a description of the structure of the classes depicted in the diagrams in the structural specification. This file, however, does not contain the diagrams themselves. That is, the metamodel can be understood as a list containing a bunch of descriptions of classes, and as such does not contain the visual information such as the assignment of classes to diagrams or the information about the coordinates of various boxes within diagrams.
The metamodel and diagrams have been created by using IBM's Rational Software Architect (RSA). The RSA project is available here. This file contains both the metamodel and the diagrams. It is in a proprietary format and can be opened only with RSA. [OWL 2 Metamodel] has been generated from the RSA project by means of a simple export function.
[OWL 2 Metamodel] can be opened and processed by means of open source Eclipse EMF tooling. Since the metamodel file does not contain the diagrams themselves, please do not expect that you will see them when you open the file. When you open this file, you will see a list of classes used in the definition of OWL 2. You can then click on each class and see what attributes it contains and in what relationships it participates.
Alternatively, we also provide the metamodel in the EMOF format (available here). EMOF is the official format defined by the OMG. The EMF Eclipse tooling is also able to handle this format.
[OWL 2 Metamodel] can be used to automatically generate an XML Schema that can encode instances of the metamodel; this schema is available here. It is currently unclear how this schema relates to [ XML Serialization ]. Depending on the outcome of the discussions in the WG, the current XML Schema might be replaced by automatically generated one; however, this is not a requirement for the resolution of this issue.