Re: [rq23 edits] Re: better names for r:IRI and r:Literal

On Sep 10, 2005, at 12:09 AM, Eric Prud'hommeaux wrote:

> On Mon, Aug 22, 2005 at 01:18:58PM -0500, Dan Connolly wrote:
>> On Aug 22, 2005, at 8:20 AM, Eric Prud'hommeaux wrote:
>>> SPARQL Query Operand Data Types refers to some mythic datatypes r:IRI
>>> and r:Literal. I would like to change them to rdfs:Resource
>>>  <>
>> er... changing IRI to Resource is a use/mention switch, no?
>> an IRI is a Term, right?
>> I suggest xsd:anyURI .
>> documented in
> done in 1.487
> I think you convinced me of this at some point, but I can't remember
> it. In order to show this off to the WG, I've followed your suggestion
> and used xsd:anyURI, however, I'm not convinced that the term provides
> sufficient distinction from run of the mill xsd types. For instance, I
> would like the following test to not be a cognitive stretch:
>   _:a  foaf:name       "Alice".
>   _:a  foaf:mbox       <mailto:alice@work.example> .
>   _:a  x:mboxStr       "mailto:alice@work.example" .
>  WHERE { ?x x:mboxStr  ?mstr ;
>             foaf:mbox  ?mbox .
>          FILTER (?mbox = xsd:anyURI(?mboxStr)) }

That's another use/mention confusion.

xsd:anyURI changes a string into a URI, but doesn't change a URI into
what the URI refers to. i.e. it changes "mailto:alice@work.example" into
"mailto:alice@work.example"^^xsd:anyURI. But <mailto:alice@work.example>
is a different term; it's a term that refers to a mailbox.
The input and output of xsd:anyURI are both literals; i.e. terms that 
themselves. It doesn't output a mailbox, or even a term that refers to 
a mailbox.
It's like scheme's symbol->string procedure, not like eval.

As a special case, we decided that str(<uri>) works like log:uri and 
levels of denotation going the other way. But we don't have an operator
that does what log:uri does in the direction from string to what that
URI denotes.

Dan Connolly, W3C

Received on Saturday, 10 September 2005 13:44:26 UTC