Re: Determination of subjects/objects

Hi Ben,

> The treatment of @id has not changed recently :)

But it seems to have...since it was always ignored before!! :)

I noticed that @id was being included during the course of a recent
discussion about something else, but I didn't want to divert from the
issue being debated--so apologies for not flagging this up before.

Anyway, we actually dropped @id way, way, back, for the simple reason
that we thought it unwise to have behaviour such that the addition of
simple, non-semantic, mark-up to a document should have the
consequence of completely changing what triples are produced.

If an author adds to their document something like @about or @resource
then they are dealing with triples anyway. Similarly, if they add @rel
they are adding something that has semantics in HTML, independent of
RDFa. But with @id, an author might be adding the attribute so that
they can better style an element, or to provide some navigation. In
either case they are not really changing the semantics of their
document, and it doesn't seem to be enough to justify changing the
subject for generated triples.

To illustrate, imagine you have written this:

  <a href="http://cc/license">license</a>

You then place a predicate on this to make a triple with the current
document as the subject:

  <a rel="license" href="http://cc/license">license</a>

Now, as far as HTML is concerned, our interpretation of this in RDFa
as being a statement about the current document having a 'license'
predicate seems perfectly acceptable. Similarly, although some might
not like this breaking the connection between the current document and
the license:

  <a about="http://other/doc" rel="license" href="http://cc/license">license</a>

you can at least argue that if the author put @about there, they must
have done it consciously. So we haven't got HTML to back us up, but we
can say that RDFa is moving on.

But if the author does this:

  <a id="xyz" rel="license" href="http://cc/license">license</a>

where is the HTML justification that this is no longer a statement
about the current document? In HTML the @rel and @href still establish
a relationship between the current document and the license.

And as I said, the author will almost certainly have only added the
@id for non-semantic reasons, such as making CSS rules easier, or to
provide some navigation:

  <a id="footer" rel="license" href="http://cc/license">license</a>


Unfortunately, I have found a couple of examples in the syntax
document that do use @id to name nodes, so I realise this could be one
of those debates that takes on a life of its own. After all, if the
tablets passed down to us have it in. :)

But it's worth pointing out that there are no references to this
approach in the Primer, and in many places we actually use syntax like
this (ignoring the out-dated use of @class, of course):

  <p class="cal:Vevent" id="xtech_conference_talk"
about="#xtech_conference_talk">
    ...
  </p>

which illustrates clearly that @id doesn't set the subject.

Note that in these examples the @id attribute is not needed, since it
makes no difference whether the resource used for the subject actually
'exists' or not. So all the following are fine, and generate the same
triples:

  <p class="cal:Vevent" about="#xtech_conference_talk">
    ...
  </p>

  <p class="cal:Vevent" id="somethingelse" about="#xtech_conference_talk">
    ...
  </p>

My guess is that what happened was that at some point we _did_ agree
to drop @id for the reasons I gave at the top, but that we
inadvertently left one or two examples in the syntax document. If you
look at this old draft of RDFa (I think it's the last one produced by
myself and Steven before we started working on it within the joint
group):

  <http://www.formsplayer.com/notes/rdf-a.html>

you'll see that references to rules for @id are included, and are very
explicit. See for example:

  4.2.3 Using an attribute of type xml:id
    http://www.formsplayer.com/notes/rdf-a.html#div360738032

and:

  4.2.4.3 Using the [context statement]'s id attribute
    http://www.formsplayer.com/notes/rdf-a.html#div360738032

The lack of parallel sections in the first syntax document that we
produced together in the task force makes me certain that we dropped
the use of @id, and we did it on purpose.

Regards,

Mark

-- 
  Mark Birbeck, formsPlayer

  mark.birbeck@x-port.net | +44 (0) 20 7689 9232
  http://www.formsPlayer.com | http://internet-apps.blogspot.com

  standards. innovation.

Received on Friday, 20 July 2007 16:42:07 UTC