Re: ISSUE-24, ISSUE-21: Versioning language

On Jun 18, 2008, at 9:11 PM, Peter F. Patel-Schneider wrote:

> From: Alan Ruttenberg <alanruttenberg@gmail.com>
>> As I propose that these don't have logical semantics, perhaps the
>> syntactic category "things that are the subject or object of
>> owl:incompatibleWith". Allow them to be any URI, and only pay
>> attention to them if it happens that both of them are ou or vu of an
>> ontology in the imports closure. If that doesn't work, could you
>> explain how it would cause probems?
>
> Well, for starters, there would have to be new syntax for this in the
> functional syntax.

Yes.

> I wouldn't want to delay finishing imports waiting
> for an analysis of all the changes required to add a new kind of thing
> to OWL.

I'd rather get it right than get it sooner. I don't see that this  
analysis should be very difficult.

>>>> I found I had to navigate to a number of places to collect the
>>>> information I needed to understand what the policy is. In my
>>>> previous mail I suggested it say something direct, like:
>>>>
>>>> 1) Import(u) means access the ontology at u.
>>>> 2) If the accessed ontology has an ou, optional vu that one of them
>>>> should be u.
>>>
>>> Sure, but what does this have to do with current versions,  
>>> particularly
>>> with a "must" wording?
>>
>> In my reading I couldn't figure where it said that it wasn't cool for
>> a tool to access the current version of an ontology instead of the
>> specified version. I could have tried to rewrite the whole section
>> to be simpler and more direct. Instead I chose to patch the place I
>> though there was hole with some language that said you can't do
>> that.
>
> Well, why should the document say that if you want to access the  
> current
> version of an ontology then you must not use the version URI?  Isn't  
> it
> like saying that if you want an intersection then you must not use a
> union?

To be clear, the case you mention above isn't the one I'm worried  
about. It's the other way around - that if your import specifies a  
version URI then it shouldn't load the latest version.

In any case, I'm not sure how to say this any clearer: I don't see  
anything definitive that makes it clear that if you say import(u), u  
(and only u) is the document you need to access. If I'm missing this,  
then please show me the text I should read and how to interpret it.  
The current text is just not clear enough, in my view. For example, we  
still have this:

> An ontology O directly imports an ontology O' if O contains an  
> import construct whose value is the ontology URI of O'.

Does this mean that O doesn't directly import an ontology O' if O  
contains an import construct whose value is the version ontology URI  
of O', (if the version URI isn't the same as the ontology URI)?

Here's what  I see a reader having to do to figure out what should  
happen: First one reads 3.4, where it says:

> Figure 1 presents the logical view of the import relation, which  
> holds between two ontologies. In concrete syntaxes, however, the  
> importing ontology only contains a URI identifying the location of  
> the imported ontology. This location should be interpreted as  
> specified in Section 3.2 in order to access the imported ontology.

Then in 3.2

> The ontology and the version URI, if present, determine the physical  
> location of an ontology O according to the following rules:
> 	• If O does not contain an ontology URI (and, consequently, without  
> a version URI as well), then O may be physically located anywhere.
> 	• If O contains an ontology URI ou but no version URI, then O  
> should be physically located at the location ou.
> 	• If O contains an ontology URI ou and a version URI vu, then O  
> should be physically located at the location vu and may, in  
> addition, be physically located at the location ou.
>
> Thus, the most recent version of an ontology series with some URI ou  
> should be accessed from ou using a suitable (Internet) protocol. To  
> access a particular version of ou, one must know that version's  
> version URI vu; then, the ontology should be accessed from vu using  
> a suitable (Internet) protocol. If the document accessed from u  
> contains an ontology URI and optionally, if it contains a version  
> URI, and neither is u, then the importing ontology should be  
> considered syntactically invalid.

This is better than it was when I reviewed it last, but it still has  
two different sorts of descriptions of what to do: One having to do  
with physical locations, and one having to do with access. Rather than  
coming straight out and saying, in the figure 1 caption that import(u)  
means access u, end of story, it says: "You have import(u) that  
identifies the location of the imported ontology and that location  
should be interpreted in the following way, and that if O has both an  
ou and vu than it can be located at either place, ...

I would simply like to have this all cleaned up. I don't *think* we  
disagree about what is supposed to happen but I can't tell except by  
us both reading the spec and saying "yup, it says what I understand  
should be the case". If at the end of the cleanup things are clear  
without saying "must not" anywhere that will be perfectly fine with me.

-Alan

ps. A less essential, but desirable, cleanup is to remove the  
parenthesis around "internet". I don't know what the parentheses add,  
and because of that they distract.

Received on Friday, 20 June 2008 05:21:45 UTC