- From: Dan Connolly <connolly@w3.org>
- Date: Sat, 10 Sep 2005 08:44:28 -0500
- To: Eric Prud'hommeaux <eric@w3.org>
- Cc: public-rdf-dawg@w3.org
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
>>> <http://www.w3.org/TR/2004/REC-rdf-schema-20040210/#ch_resource>
>>
>> er... changing IRI to Resource is a use/mention switch, no?
>>
>> an IRI is a Term, right?
>>
>> I suggest xsd:anyURI .
>>
>> http://www.w3.org/2001/XMLSchema#anyURI
>>
>> documented in http://www.w3.org/TR/xmlschema-2/#anyURI
>
> 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
denote
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.
http://www.cs.indiana.edu/scheme-repository/R4RS/r4rs_8.html#SEC49
As a special case, we decided that str(<uri>) works like log:uri and
changes
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 http://www.w3.org/People/Connolly/
Received on Saturday, 10 September 2005 13:44:26 UTC