- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Wed, 21 Mar 2007 18:44:38 +0000
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: W3C RIF WG <public-rif-wg@w3.org>
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