Re: Tentative contribution to the "URI issue"

Michael Kifer wrote:

>>> There is also an issue of signatures when we will start allowing or
>>> disallowing certain individuals to play roles of predicates, functions,
>>> etc.  We cannot assign a signature to any given constant, so sorts could be
>>> one of the grouping mechanisms here. For instance, if a dialect (like, say,
>>> WSML) allows only URIs to be concepts then only the constants of the sort
>>> rif:uri will have Boolean signatures.

>> What I was asking for in the meeting and my earlier message was what's 
>> the use case where we would allow something *other* than symbolic 
>> constants identified by a URI to be used as concepts?  The point being 
>> that I'm not convinced there is one.
> 
> RIF is an exchange language for rule sets that are not necessarily web-related.
> There are tons of such sets.

RIF is a *web language* for rule exchange.

The fact that many rule sets to be exchanged may not be web-related is 
irrelevant. Using URIs to identify functions, predicates and individuals 
doesn't mean that the things talked about are necessarily "on the web" 
or web-related. The point of using URIs is in order to have globally 
unique identifiers to facilitate interchange.

We've already agreed all this at F2F4 where we also started to talk 
about the round tripping issues for how rules vendors can ensure that 
their current naming schemes are not lost when mapping to URIs and back.

> Second, in a complex KB, you always have internal predicates that shouldn't
> be visible outside. Why should they be given a URI?

Scoping is a different and largely orthogonal (though important) issue.

I agree that there is no particular benefit in forcing purely internal 
locally-scoped predicates to have globally unique names.

Nor is there any particular problem. Again, the scope for an identifier 
is different from it's name. Remember also that the URIs can be relative 
to the document base so a translator doesn't have to invent a URI for 
each identifier separately it can simply assign a base URI to identify 
the document and the relative URIs can look just like the existing local 
names[*].

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? Are you suggesting that we might want 
to use that to, for example, allow globally named symbols as predicates 
but not locally named symbols?

Dave

[*] OK that's a slight over simplification, in practice you would need 
to normalize the local name to avoid illegal URI characters (spaces in 
identifiers for example) but that is easily addressed.

Received on Wednesday, 21 March 2007 14:57:59 UTC