- From: Mark Birbeck <mark.birbeck@formsPlayer.com>
- Date: Thu, 20 Sep 2007 15:07:10 +0100
- To: "Niklas Lindström" <lindstream@gmail.com>
- Cc: "Ben Adida" <ben@adida.net>, RDFa <public-rdf-in-xhtml-tf@w3.org>
Niklas,
I will reply to Ben as well, but I'd like to reply to you first
because you put the issue in such a compact way! The problem is that
what started out meaning one thing (@class, then @role, then
@instanceof) has been co-opted to behave in a different way, due to
the re-introduction of chaining.
The argument is therefore *not* what is the 'correct' interpretation
of @instanceof, but rather should the re-introduction of chaining back
into RDFa affect the behaviour of rdf:type? In other words, we're
looking for a change here.
Regards,
Mark
On 20/09/2007, Niklas Lindström <lindstream@gmail.com> wrote:
>
> Hi Ben!
>
> +1. I fully agree with your reasoning.
>
> You've actually formulated my exact opinion. I began scribbling a
> draft about this a couple of days ago, but time eluded me. You made
> the point much more clearly though. I think the key is that the
> presence of @rel is so significant.
>
> [ A note though: while we view @instanceof as sugar for a child
> element, it may also generate a bnode by itself, so it isn't exactly
> equivalent.
It is!
The way that <link> and <meta> on a child element were defined was
that they created a bnode if no @about was present. Historically, this
originated from the idea that this:
<div>
<link rel="my:property" href="http://resource.com" />
...
</div>
was equivalent to this:
<div my:property="http://resource.com">
...
</div>
In other words, the <link> and <meta> values 'attached' themselves to
the item identified by the parent element, and *not* to the current
in-scope resource (for example, that last @about) up the tree).
By extension, therefore these are equivalent:
<div>
<link rel="rdf:type" href="http://resource.com" />
...
</div>
<div rdf:type="http://resource.com">
...
</div>
and of course, all that is being proposed with @instanceof is that this:
<div rdf:type="http://resource.com">
...
</div>
can be abbreviated to this:
<div instanceof="http://resource.com">
...
</div>
A while ago we were forced to drop this 'link and meta anywhere'
feature because different browsers did different things with the
mark-up--most notably, Firefox moved the elements from the body to the
head, so the parser would have no context information.
But I don't think that means that we should abandon all of the
'logical' work that went into arriving at this syntax; I think it's a
key part of the general 'approach', and there is no reason that it
cannot be incorporated into future versions of XHTML+RDFa.
> The further effect of it (in my interpretation) is that
> when both @about and @rel are absent, *the effect of* an @about with a
> bnode is also implied.
As described above, that has always been there.
> Just as @rel without @resource or equivalent
> has the effect of a bnode @resource... ]
@rel is unique in this respect though. I personally don't like it,
since it creates an intermediate object between the current element
and all child elements, and in that it is a little odd. (I.e., there
is no correspondence with the DOM.) But since other people seem to
think this is useful I've kept quiet about it, although I've not found
a situation where it is so useful that it warrants making the mark-up
less clear.
But although I can live with @rel doing these things--creating these
ghostly child bnodes--I'm having trouble going along with the same
thing for @instanceof.
Regards,
Mark
--
Mark Birbeck, formsPlayer
mark.birbeck@formsPlayer.com | +44 (0) 20 7689 9232
http://www.formsPlayer.com | http://internet-apps.blogspot.com
standards. innovation.
Received on Thursday, 20 September 2007 14:07:18 UTC