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?

But who said that RIF shouldn't tie into the web arch?
We are discussing whether to have local names or not.

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

I think I detected a shift in your position :-)

I actually don't know what it means to use URIs by default. If I use a URI
then I use a URI and when I feel that some name should be local then I
won't use a URI. What does it mean to have a default? Like a default namespace?

Frankly, I don't believe this is useful in an exchange language, whose
documents are supposed to be generated by compilers.

> > 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.

You are comparing predicates to classes, but I would rather compare them to
variables in Java. For instance, normally Java has 1 file per class.
In a logic language a file corresponds to a piece of a KB, which contains
many predicate definitions.


> [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.

I agree. If you and Jos feel strongly about this issue, you may want to
raise it at a F2F where it might be easier to come to a conclusion when
everyone id in one room.  However, I doubt that this particular issue can
be easily resolved.


	--michael  


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

Received on Wednesday, 21 March 2007 22:16:36 UTC