Re: Markup questions: html/body, datatype="", double predicates

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