RE: LANG: Proposal to close ontology versioning (ISSUE 5.14)

Here, extra-logical = good, so thumbs up.
As far as the specific wording is concerned, it's ok with me if we go with an rfc2119-MAY. If rfc2119-SHOULD is asked instead, then
I would be concerned.
(The alternative, is to just be fuzzy on the conformance issues lurking here).

Other editorial points to be clarified in the proposal are:
1) the meaning of <url> in priorVersion and backCompatWith (we started discussing
  this time ago....;), i.e. whether they refer to a file-based def or to a (onto-)logical-based def.
2) the general behavour of such extra-logical predicates (eg what happen when they are involved with other properties/subclassed
etc)

Finally, there could be some thought on the core set of primitives we need for this.
For example, do we need primitives to
a) signal INcompatibility?
b) deprecate ontologies as a whole (now this is quite heavy to do....)?
c) signal, in case of deprecation, what class/property/ontology should be used instead?
All these can be sustained by use cases, as it is easy to see.
What core primitives do we need among these + the other 4 proposed (now, in v1)?

-M

> -----Original Message-----
> From: www-webont-wg-request@w3.org
> [mailto:www-webont-wg-request@w3.org]On Behalf Of Jeff Heflin
> Sent: Tuesday, November 19, 2002 5:24 PM
> To: WebOnt
> Subject: LANG: Proposal to close ontology versioning (ISSUE 5.14)
>
>
>
> Hello everyone,
>
> Here's a new proposal for ISSUE 5.14 (Ontology Versioning) that I hope
> won't be too controversial. This issue has been dormant for almost two
> months now. If you want to refresh your memory about our previoius
> discussions on it, see the threads starting at [1]. A short summary is
> also contained in [2]
>
> I propose to add the following identifiers to the OWL namespace:
>
> priorVersion
> backCompatWith
> deprecatedClass
> deprecatedProperty
>
> In short, none of these identifier will have any impact on the
> semantics, they are all "extra-logical." I will now describe each of
> these in turn.
>
> priorVersion
> -------------
> Triple usage: <url> priorVersion <url>
>
> The second URL identifies an ontology that is an earlier version of the
> first. This has no meaning in the semantics, but could be used by
> software to organize ontologies by versions.
>
>
> backCompatWith
> ---------------
> Triple usage: <url> backCompatWith <url>
>
> The first URL is a later version of the second, and is backward
> compatible with it. In particular, it indicates that all identifiers
> from the previous version have the same intended interpretations in the
> new version. Thus it is a hint to document authors that they can safely
> change their documents to commit to the new version (by simply updating
> namespace declarations and imports statements to refer to the URL of the
> new version). Note that this feature has no impact on the semantics.
>
> This approach does not address the problem described in
> Section 3.2 of the Requirements Document (under RDF(S) Support). There,
> we gave an example where we wanted to "fix" an incorrect definition of
> Dolphin. Solving this problem would require versioning capabilities that
> woiuld affect the semantics, but at this time it is not clear what the
> correct approach would be. A later version of OWL may address this
> issue.
>
>
> deprecation:
> ---------------
> Triple Usage: 	<classId> rdf:type <owl:DeprecatedClass> or
> 		<propertyId> rdf:type <owl:DeprecatedProperty>
>
> Deprecation is a feature commonly used in versioning software (for
> example, see the Java programming language) to indicate that a
> particular feature is preserved for backward-compatibility purposes, but
> may be phased out in the future. Here, a specific identifer is said to
> be of type DeprecatedClass or DeprecatedProperty, where DeprecatedClass
> is a subclass of rdfs:Class and DeprecatedProperty is a subclass of
> rdf:Property. By deprecating the term, it means that the term should not
> be used in new documents that commit to the ontology. This allows an
> ontology to maintain backward-compatibility while phasing out an old
> vocabulary (thus, it only makes sense to use deprecation in combination
> with backward compatibility). As a result, it it easier for old data and
> applications to migrate to a new version, and thus can increase the
> level of adoption of the new version. Once again, this has no effect on
> the semantics, but authoring tools should use it to warn users when
> checking OWL markup.
>
>
> Example:
> --------
>
> <owl:Ontology rdf:about="">
>    <rdfs:label>Vehicle Ontology, v. 1.1</rdfs:label>
>    <owl:backCompatWith resource="http://www.example.org/vehicle-1.0">
>    <owl:priorVersion resource="http://www.example.org/vehicle-1.0">
> </owl:Ontology>
>
>
> <!-- assume Automobile is now the preferred term for Car -->
> <owl:DeprecatedClass rdf:ID="Car" />
>
> <owl:Class rdf:ID="Automobile" />
>    <owl:sameClassAs resource="#Car" />
> </owl:Class>
>
> <!-- assume a hasWheels property should no longer used (maybe because a
> more specific numWheels property is in favor) -->
> <owl:DeprecatedProperty ID="hasWheels" />
>
> <!-- other class and property definitions follow -->
>
>
> Additions to http://www.w3.org/2002/07/owl
> --------------------------------------------
>
> <rdf:Property rdf:ID="priorVersion">
>    <rdfs:domain rdf:resource="#Ontology" />
>    <rdfs:range rdf:resource="#Ontology" />
> </rdf:Property>
>
> <rdf:Property rdf:ID="backCompatWith">
>    <rdfs:domain rdf:resource="#Ontology" />
>    <rdfs:range rdf:resource="#Ontology" />
>    <rdfs:subPropertyOf rdf:resource="#priorVersion" />
> </rdf:Property>
>
> <rdfs:Class rdf:ID="DeprecatedClass">
>    <rdfs:subClassOf resource="Class" />
> </rdfs:Class>
>
> <rdfs:Class rdf:ID="DeprecatedProperty">
>    <rdfs:subClassOf resource="Property" />
> </rdfs:Class>
>
> [1] http://lists.w3.org/Archives/Public/www-webont-wg/2002Sep/0090.html
> [2] http://lists.w3.org/Archives/Public/www-webont-wg/2002Sep/0272.html
>

Received on Wednesday, 20 November 2002 12:17:03 UTC