Re: about vs. ID

From: Frank van Harmelen (
Date: 01/07/01

On the issue of using about= everywhere, vs. using ID= in one place, and using about= everywhere else.

[1] I suggested to switch to about= everywhere. Since the semantics doesn't favour one place over another, why should the syntax? 

[2] The issue was discussed in the margin of the Washington meeting (between at least Dan, Ora, Ian and me). Ian claimed that someone (Ora? Dan?) said it would be better RDF style to have one ID= location. I'm fuzzy on the conclusion of this (and it's not in the minutes or the irc log).

[3] Tim strongly argued in favour of using about= everywhere.

I would really like to hear Ora and Dan on this before I go ahead and take the trouble of updating the walkthrough and the reference document. 

Dan, Ora: can you please comment on this before or during next Tuesday's teleconf? 


Tim Berners-Lee wrote:
> ----- Original Message -----
> From: "Ian Horrocks" <>
> To: "Frank van Harmelen" <>
> Cc: <>
> Sent: Tuesday, December 26, 2000 12:08 PM
> Subject: Re: about vs. ID
> > On December 25, Frank van Harmelen writes:
> > > Another point resulting from working on the DAML+OIL walkthrough:
> > >
> > > I have been told that for RDF, there is no difference between writing:
> > >   <rdfs:Class rdf:ID="Animal"/>
> > > and
> > >   <rdfs:Class rdf:about="#Animal/>
> > >
> > > However, I have the impression that we have been (silently?) exploiting
> this non-existent distinction to indicate that the first is the "initial"
> introduction/definition of the Class, and that the second is an "additional"
> statement about a previously defined class.
> > >
> > > I have the feeling that this is ill-conceived. After all, who is to say
> which of these statements is processed first? They might even live in
> different files (with a suitably amended URI for the value of the about
> attribute).
> > >
> > > I was told that a better way of thinking is that all such statements
> just add to what we know about the class Animal, without giving any one of
> them a special status. Is there a way to make the situation more
> symmetrical? How about replacing all use of ID="classname" by
> about="#classname", as a matter of style?
> I would agree with this.  There is no way of saying which in a file is
> a "defining" reference, as you say.  I would say "ID=" was bad style.
> > I seem to recall that we talked about this in Washington. As I
> > remember it, the "answer" was that:
> >
> > 1. Yes, we could use "about" everywhere, but that this would be
> > considered bad style. I think the explanation was that although the
> > URI associated with #classname is just a unique identifier that doesn't
> > really have to be declared, it is better style if we do declare it.
> This would be unfortunate IMHO.  When the architecture is that
> all occurences are equal, but you suggest a style which implies they
> are not, then people will get confused about the architecture.
> Then, later designs will build on these misconceptions.
> > 2. There can only be one "ID" statement for each name. (If this is
> > true then about and ID are clearly not quite the same.)
> >
> > When exporting RDFS from OilEd, we simply use the ID form the first
> > time we encounter a name and the "about" form thereafter.
> I suggest you use "about" uniformly.  If one is going to use XML tools
> for example to generate reports and so on, canonicaliizing out all the IDs
> makes it easier.  And more importantly the language is simpler when only one
> concept is used.
> Tim
> > Ian
> >

This archive was generated by hypermail 2.1.4 : 04/02/02 EST