RE: [Imports Task Force] revised imports spec

Hello,

In light of our pending discussion tomorrow, I would like perhaps elaborate slightly on how we might what to change the existing
Syntax document to implement Peter's suggestion.

1. We should change Figure 1 to allow an OWL 2 ontology to contain an optional version URI. We would also change the syntax as
follows:

versionSpec := 'Version(' URI ')'
Ontology := 'Ontology' '(' [ ontologyURI ] [ versionSpec ] { import } { Annotation } { Axiom } ')'

2. We would rename section 3.1 into "Ontology and Version URIs". There, we would say the following:

- If an ontology has no ontology URI, then it has no version URI.
- An ontology can have an ontology URI without a version URI.

We would also describe intuitively what these mean.

3. We would add a new section between 3.2 and 3.3 called "Ontology Publishing". In this section, we would describe how to assign
ontologies to their physical locations. In particular, we would say that, in the Semantic Web, an ontology can be published at a
location that is accessible through Web protocols from a URI that is equal to either the ontology or the version URI (if neither URI
is present, the ontology can be anywhere).

We would also say that implementations can provide a location redirection mechanism. That is, when someone tries to open an ontology
from some location U, an implementation is allowed to substitute the location with some other URI. The ontology should still "think"
that came from the original location; that is, if it has the ontology or a version URI, this URI should match U and not the
redirected location.

4. We would modify the imports section to say that imports are by location, which are resolved as I outlined in my previous item. 

5. At the end of Section 3, we would add a section about ontology versioning. At this point, all the ingredients should be defined,
so this section should merely present several examples of "best practices" for achieving versioning.


Let me know how you feel about it.

Regards,

	Boris

> -----Original Message-----
> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of Peter F. Patel-
> Schneider
> Sent: 18 April 2008 16:51
> To: public-owl-wg@w3.org
> Subject: [Imports Task Force] revised imports spec
> 
> 
> I modified http://www.w3.org/2007/OWL/wiki/Imports a bit in light of the
> discussion at the F2F.  On Monday, we could determine whether this
> proposal is acceptable as a proposed resolution for ISSUE-21 and
> ISSUE-24.  For easy reference, I have included the relevant part of the
> Wiki page here.
> 
> Peter F. Patel-Schneider
> Bell Labs Research
> 
> 
> 
> Basic idea:
> 
> Imports in OWL 2 are "by location": if an ontology O contains a
> statement "Import( someURI )", then "someURI" specifies the location of
> the imported ontology---that is, an OWL 2 implementation SHOULD access
> the ontology at the location "someURI" using the standard Internet
> protocols. In some cases, however, an application might want to retrieve
> the imported ontology from some other location; this can be the case,
> for example, in order to implement off-line caching or a staging
> mechanism for ontologies prior to their publishing on the web. In this
> case, an OWL 2 implementation MAY choose to replace or augment the
> above described resolution mechanism with a mechanism that from
> "someURI" determines how to find the ontology. In any case, the ontology
> so found SHOULD have its ontologyURI equal to "someURI".
> 
> Versioning:
> 
> Versioning is handled by a publishing methodology. The ontology with
> ontology URI "someURI" is published at "someURI" *and* at another
> location, which SHOULD be the value of an ontology annotation for
> owl:versionInfo. When a new version of the ontology with ontology URI
> "someURI" is created, it is published at "someURI" and also at a
> version-specific location. Other ontologies can import from "someURI" if
> the current version is wanted, or from the version-specific location if
> a particular version is required. This has the side effect of loosening
> name-location matching so that the ontology so found SHOULD have its
> ontologyURI or an owl:versionInfo annotation value equal to
> "someURI".
> 
> So the ontology
> 
>  Ontology(<http://example.com/ontology/family>
>    Annotation(owl:versionInfo <http://example.com/ontology/v1/family>) ... )
> 
> would be published at both http://example.com/ontology/family and
> http://example.com/ontology/v1/family. A new version
> 
>  Ontology(<http://example.com/ontology/family>
>    Annotation(owl:versionInfo <http://example.com/ontology/v2/family>) ... )
> 
> would be published at http://example.com/ontology/family, replacing the
> version previously there, and also at
> http://example.com/ontology/v1/family
> 
> An ontology SHOULD NOT import multiple versions of the same ontology,
> i.e., different ontology documents with the same ontology URI but that
> do not share an owl:versionInfo annotation value.

Received on Tuesday, 6 May 2008 17:09:47 UTC