W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > April to June 2005

(wrong string) ‚€‹ss/issues#useMentionOp]

From: Dan Connolly <connolly@w3.org>
Date: Thu, 21 Apr 2005 16:03:27 -0500
To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Cc: Tim Berners-Lee <timbl@w3.org>
Message-Id: <1114117407.3004.269.camel@localhost>
typo in the To line...

Dan Connolly, W3C http://www.w3.org/People/Connolly/
D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E

attached mail follows:

In my opinion, it is a serious breach of sanity to coerce the
URI for something to its value using str().
All kinds of things can get URIs, and the actual URIs they
get is in general irrelevant.
Here is an example case.

# Data
@prefix† : <#>.
:ellen foaf:name† :n.
:n  =† † "Ellen".

We are working with a processor which knows that  :n and "Ellen"
are the same, and so concludes

:ellen foaf:name "Ellen".

so that is part of the data too.

#  Query:
#  Find people whose names begin with "h"

SELECT ?x WHERE  † ?x† :name† ?n† FILTER† FILTER† regex(str(?n), "^h"}

This works fine and as intended, except in the case when the base URI
of the document starts with "h", in which case suddenly it will
produce all the URIs used for names as well as the names themselves.
Yuk.  Bzzzt.  Not as intended.

Really, the relation between something and the string used as a
symbol for it is  a special and weird relationship.
It is rarely used, as it is a level-breaker, because the URI stringss 
generally irrelevant to the semantics. When used,
it is really important that the programmer and the machine
are both aware that it is happening. So it must be explicit.

Please use uri(?n)  to give a symbol by which ?n is known.

And be aware that using this is hairy  (as something may of course
by known by many URIs, some of which you find out later).

Received on Thursday, 21 April 2005 21:03:30 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:00:47 UTC