W3C home > Mailing lists > Public > www-archive@w3.org > January 2003

Re: Disambiguating RDF Identifiers

From: Graham Klyne <GK-lists@ninebynine.org>
Date: Thu, 09 Jan 2003 12:19:33 +0000
Message-Id: <>
To: Sandro Hawke <sandro@w3.org>
Cc: jjc@hpl.hp.com, bwm@hplb.hpl.hp.com, www-archive <www-archive@w3.org>


It's taken me a while to find time to look into this.

I'm not entirely clear about where your comments are going:  on one hand 
they seem to be fairly closely in accord with what we already say, but on 
the other hand you seem to be asking for some significant change.  At 
heart, I suppose, it's not clear to me what problem it is you are trying to 
fix, so it's difficult to give a coherent big-picture answer.

So, in lieu, I'll respond to some points you make [1] and see if any bigger 
picture clarity may emerge:

To date, RDF has not been clear about whether a URI like 
"http://www.w3.org/Consortium" identifies the W3C or a web page about the W3C.
-- http://www.w3.org/2002/12/rdf-identifiers/

I think it's not RDF's role to be clear about this;  all RDF requires is 
that there is a denotation.  It seems that you are asking for a "theory of 
reference", which it was noted a long time is far too difficult for us to 
realistically tackle [2].

I agree with you that there is an ambiguity in the way that URIs are used, 
and that we need to live with this.  Where I don't follow is that there is 
anything that needs to be added to RDF to deal with it.  It's always going 
to be possible to write nonsense in RDF:  statements that treat a URI as 
(say) both a web page and a consortium are just one kind of such 
nonsense.  Experience with the FOAF vocabulary shows me that it's quite 
easy to deal with the dichotomy by using something like Guha;s 

    [ a wn:Person ;
      foaf:mbox <mailto:gk@ninebynine.org> ] .

seems quite clear and unambiguous to me.  Or:

    [ a ex:Organization ;
      ex:homePage <http://www.w3.org> ] .

This doesn't mean that one can't use an HTTP URI to directly identify an 
abstraction, as in:

    <http://id.ninebynine.org/Organization/W3C> a ex:Organization ;
        ex:homePage <http://www.w3.org> .

Now it's up to me to be clear what I mean by the URI used.  But that's no 
different than the requirement to be clear when one is talking about cats 
or dogs.  And if I should put a web page at that address, Roy Fielding has 
argued convincingly to my view that it's simply a *representation* [3].

Some RDF users (including me) have been using the URI/URI-Ref distinction 
to help disambiguate between page- mode and subject-mode identification. 
Essentially, we used "#" as a flag to show when we were talking about 
arbitrary things instead of web pages.
-- http://www.w3.org/2002/12/rdf-identifiers/

Note, although I have subscribed to the suggestion that '#' can sometimes 
be helpful when minting identifiers for non-web-data resources, nothing 
I've said *requires* the distinction you are claiming.  The RDF concepts 
document does say that *when used in an RDF document*, the relationship 
between URI and that identified by the fragment is presumed to be mediated 
by a notional RDF document.  This is really just establishing that there is 
no predefined relationship between a URI and URI#fragment;  previously, I 
had erroneously assumed that BookURI#chap1 must identify some part of the 
thing identified by BookURI.

Perhaps this manifests most clearly when thinking about providing both HTML 
and RDF data at the same web address. This seems like an obvious thing to 
do to speed acceptance of the semantic web: let's keep using URIs to name 
things like meetings, issues, decisions, languages, software packages, 
airports, etc, and let's have the URI do something useful for everyone. A 
person using a legacy browser will get some HTML, perhaps a table of 
properties and values, or a circles-and-arrows diagram, letting them know 
some basic facts about the named thing. Meanwhile, RDF-capable software 
will read the RDF (perhaps using content negotiation, or RDF embedded in 
the HTML) and do its own processing with the data. Using the same URI for 
both kinds of access allows all the links to the meeting/issue/decision/etc 
to be used in both the legacy and semantic webs.
-- http://www.w3.org/2002/12/rdf-identifiers/

The meaning of some RDF is clearly (and rightly IMO) quite independent of 
anything an RDF processor may find on the web.  The existence of RDF and 
HTML documents is a separate issue, part of the background against which 
people may achieve a common understanding about what a URI means.  RDF 
itself doesn't care -- all that RDF in isolation can define is entailment.

The Rule: In RDF, each occurrence of a URI is either a subject-mode 
identifier or a page-mode identifier. It is subject-mode identifier if and 
only if (1) it has a "#" in it, (2) it is in the predicate role, or (3) it 
is in the object role of a triple where the predicate is rdf:type.
-- http://www.w3.org/2002/12/rdf-identifiers/

I have two problems with this:

(1) I don't believe that "subject mode" and "page mode" will cover all 
eventualities;  I have no evidence for this, I just don't think it will fly.

(2) The rules themselves seem at once too simple and too ad-hoc.

At best, I think something like this may form a recommended usage, and has 
no place in the core RDF specification.

I have no particular problem with the introduction of new predicates to 
indicate what a URI denotes (though rdf:type already seems to do that), but 
I see no reason to add anything like this to the RDF core.

    <http://www.w3.org/> rdf:type ex:webPage .

Seems like a perfectly reasonable thing to say (or infer).

4. Should we really slow down RDF Core over this?

For at least four years now, RDF has been dogged by this controversy, with 
every move slowed by it. Accepting this proposal will resolve a major 
stumbling block and actually allow RDF to be correctly deployed faster. 
Depending on how the larger community reacts to the Last Call, adopting 
this change ASAP might well speed the passage to REC.
-- http://www.w3.org/2002/12/rdf-identifiers/

I really must take exception with this.  As far as I've been aware, RDFcore 
has spent hardly any time on this issue.  (FWIW, from my perspective, the 
issue that has dogged us has been the choice between two incompatible ways 
of treating literals.)  Maybe there has been recurring public debate on 
RDF-IG, but my observation is that it's far less of an issue for people who 
are actually doing things with RDF than for those who are simply talking 
about it (of which I've done my share).  Also, with the advent of the RDF 
formal semantics, I think it has become far less of a concern because 
matters of URI denotation are clearly separated from other aspects of the 
meaning of some piece of RDF.


[1] http://www.w3.org/2002/12/rdf-identifiers/

[2] http://lists.w3.org/Archives/Public/www-rdf-logic/2001Aug/0130.html

[3] http://lists.w3.org/Archives/Public/www-tag/2002Jul/0090.html

At 03:00 PM 1/3/03 -0500, Sandro Hawke wrote:

>I've been developing an idea the past few weeks to clear up the mess
>in RDF identifiers. [1] I've talked it over with various folks (Tim,
>Ralph, em) who seem to agree "Yeah, that would probably work..."  It's
>about as simple and trivial a fix as you could imagine to a problem
>this deep in RDF.  Some people, like DanC and DanBri have (IMHO)
>gotten so tired of the problem they've defined it away, but I think if
>you try to look at it with fresh eyes, you'll see the current URI-Ref
>approach is kind of lousy.
>Eric Miller tells me you plan to go to Last Call in a week, so even if
>you totally agreed with my proposal, and I somehow wrote new text
>which dropped right into place, there's no real chance for the WG to
>approve it.
>So mostly I guess you should consider this a heads-up on an upcoming
>Last Call comment.  If you think this approach has merit, there may be
>some chance in the next week to lay groundwork which allows this to be
>the kind of Last Call change which does not require a second Last
>If there is anything I can do to help with this process, please let me
>(I'm sending this just to you guys, because I think it's a change to
>and I really don't want to distract the whole WG.   But feel free to
>redistribute it as you like.)
>      -- sandro
>[1] http://www.w3.org/2002/12/rdf-identifiers/

Graham Klyne
Received on Thursday, 9 January 2003 11:15:25 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:42:18 UTC