- From: Toby A Inkster <tai@g5n.co.uk>
- Date: Wed, 10 Dec 2008 10:13:09 +0000
- To: public-rdfa@w3.org, Richard Cyganiak <richard@cyganiak.de>
Richard Cyganiak wrote:
> 2. Behaviour of datatype="" when the content includes *RDFa* markup.
> Let's say I have this in my HTML:
>
> <p about="#me" property="bio:olb">
> I work at
> <a rel="foaf:workplaceHomepage" href="http://www.deri.ie/">DERI
> Galway</a>.
> </p>
>
> This works as expected, it creates two triples, a bio:olb triple whose
> value is an rdf:XMLLiteral, and a foaf:workplaceHomepage triple whose
> value is the DERI URL.
Someone butt in and correct me if I'm wrong, which I may very well
be, but actually the *opposite* behaviour should be expected. With
your initial HTML sample, only one triple should be created - the
XMLLiteral. The foaf:workplaceHomepage should be *ignored*!
Take a look at the RDFa syntax specification and search it for the
string "[recurse]" - you'll find it crops up four times in the
processing sequence. The key bits are:
"1. First, the local values are initialized, as follows: the
[recurse] flag is set to 'true' {...}"
"9. {...} Once the triple has been created, if the [datatype] of the
[current object literal] is rdf:XMLLiteral, then the [recurse] flag
is set to false."
"11. If the [recurse] flag is 'true', all elements that are children
of the [current element] are processed using the rules described here
{...}"
So RDFa Distiller does seem to have a bug, but a different bug from
the one you thought it did.
--
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>
Received on Wednesday, 10 December 2008 10:13:44 UTC