Re: Tentative contribution to the "URI issue"

Michael Kifer wrote:

> The difference between you and me here is that you want to force me into
> using unique Ids, which I resist. And I don't force you to do anything.
> If you want to exchange stuff and use unique id's for that -- all the power
> to you! I just don't want you to force me to exchange rules this way.

A ruleset that's is worth exchanging is going to have predicates (and 
functions and individuals) which need to tie up to external things (data 
sources, queries, access functions, whatever). I want to force you use 
URIs for all of these.

Isn't it kind of the point of having RIF in W3C to tie it into web 
architecture in this sort of way? Otherwise why not do this in some 
lower-overhead standards body?

I don't preclude also having some local naming scheme as well but I want 
you to use URIs by default.

> There is a difference between scoping/hiding and authorization.
> If you tell me that the global name of an object is foobar213 then
> it has global scope. If all names are like that then there is no scoping.
> You can still prevent me from doing business with foobar213, but this is
> called authorization, not scoping.

I agree scoping is different from authorization but both of these are 
different from global uniqueness of names.

Going back to the Java example.

Fully qualified java class names (FQCNs) are generally globally unique 
in well-written java (and indeed usually formed by taking a URL that you 
control and spelling it backwards :-)).

If I define a private inner class Foo in a class Bar in package 
com.hp.jena.example then it has a globally unique FQCN 
com.hp.jena.example.Bar.Foo and yet that class is not visible outside 
the package com.hp.jena.example (it is hidden not just unauthorized).

Yet that global name for the locally scoped class is still useful for 
disambiguation. If I import some other Foo class so that it is visible 
in the scope of Bar then I can use that alongside my private Foo and use 
the FQCNs for both to help future code maintainers be clear which one is 
meant.

[N.B. I'm not in any way claiming Java has it "right" simply using it to 
illustrate the distinction.]

>> However, I don't see how this addresses my question about the use of 
>> sorts as a grouping mechanism for signature assignment.  Are you 
>> suggesting that there be a sort for locally-named symbols separate from 
>> a sort for globally-named symbols?
> 
> There might be such a sort. It is also possible to allow other symbols,
> like strings or even numbers, to be used as predicate names locally. I am
> sure you don't believe that you can foresee all the useful ways people might
> find for RIF and rule out anything else.

Clearly I can't rule out such possibilities though they seem of somewhat 
low priority.


At this point I feel this thread has got too far off topic to be of 
general interest. Apologies for the noise level, I'll try shutting up 
for bit.

Dave

-- 
Hewlett-Packard Limited
registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England

Received on Wednesday, 21 March 2007 18:56:11 UTC