- From: Simon Spero <sesuncedu@gmail.com>
- Date: Mon, 17 Mar 2014 14:01:07 -0400
- To: public-owl-dev@w3.org, public-owl-comments@w3.org
- Message-ID: <CADE8KM5qLFSW-oNCQjkkxUf9vcbtXLYNuweh_oypvOinw8CB9A@mail.gmail.com>
I am a little confused about some parts of the AS/FSS specification as they apply to Ontology versions. §3.1 introduces the concepts of Ontology IRI, Version IRI, Ontology Series, and [the current ontology of a series]. An Ontology Series is defined to be the set of all Ontologies sharing the same Ontology IRI. One ontology is stated to be "regarded as the current one". The meaning of "current" seems to be only defined, in §§3.2--3.3, in an ostensive fashion; it is the version that is accessible via an IRI at a precise moment in time. In an offline situation, this is not well defined. It does not seem safe to use an Ontology IRI in an import statement, since there is no guarantee that the ontology denoted by that IRI at the time of creation is compatible with "current version". It also seems dangerous to add a Version IRI to a new version of an Ontology whose where the first version in the Series did not have one, despite the latter case being explicitly authorized in §3.1. If there was no VersionIRI specified, the OntologyIRI would be the only IRI available for specifying as an import. There are a few ontology annotations that seem like they almost address the problem, but which have restrictions specified which make them unsuitable for the purpose. §3.5 specified properties to indicate version compatibility; however, the properties are defined only between different versions of the containing ontology: > > - The owl:backwardCompatibleWith annotation property specifies the IRI > of a prior version of the containing ontology that is compatible with the > current version of the containing ontology. > > > - The owl:incompatibleWith annotation property specifies the IRI of a > prior version of the containing ontology that is incompatible with the > current version of the containing ontology. > > These definitions make reference to "the current version of the containing ontology"; this does not seem easy to work with, given that the current version may change subsequent to the publication of an ontology containing this assertion. It would make more sense to specify (in)compatibility with version recorded in the containing ontology. These definitions seem incompatible with parts of §3.4: The import closure of an ontology O is a set containing O and all the > ontologies that O imports. The import closure of O should not contain > ontologies O1 and O2 such that > > - O1 and O2 are different ontology versions from the same ontology > series, or > - O1 contains an ontology annotation owl:incompatibleWith with the > value equal to either the ontology IRI or the version IRI of O2. > > If owl:incompatibleWith may only be used to specify the IRI of prior versions of an ontology in a series then it would not seem possible to use the ontology IRI of O2 (it would also appear to be asserting that an Ontology is incompatible with itself). It would seem more useful to define owl:incompatibleWith to specify that an ontology identified by the subject IRI is not compatible with an ontology identified by the value IRI, regardless of whether or not they are in the same ontology series. It would also seem useful to define another annotation, owl:compatibleWith, which would indicate that two IRIs denote compatible ontologies. This annotation could be added by ontology tools to record the version of an ontology import used during development or testing, and could be used during import processing to detect or resolve version clashes for indirect imports (e.g. stepping forwards to more recent backwards compatible versions). Also, if versioning ontology annotations were allowed to make statements about arbitrary IRIs denoting ontologies, it would be easy to provide the full chain of prior versions, and identify whether a version that satisfies multiple indirect imports exists. Simon
Received on Monday, 17 March 2014 18:01:35 UTC