an issue we need to address - bad @rel in the middle of a chain.

Hi all,

In a discussion today, Shane and I uncovered an edge case for which we 
have no test case. I think the spec says something about this edge case, 
and that the outcome is wrong. Shane thinks the spec is ambiguous. So, 
in either case, we need to clarify the situation.

Here's the markup that we believe is ambiguous:

<div about="" rel="dc:creator">
    <img rel="myfoobarrel" href="ben.jpg" />
</div>

The question here is: does <ben.jpg> complete dc:creator, because 
myfoobarrel is neither a CURIE nor a link type? In other words, do we 
get the following triple:

   <> dc:creator <ben.jpg> .

?

My interpretation of the spec is that rel="myfoobarrel" is completely 
ignored, meaning that the triple completion behaves as if there was no 
@rel on the img, which means that <ben.jpg> indeed completes dc:creator. 
And I think that's a bad outcome.

Instead, I think the *presence* of @rel, no matter what it contains, 
should cause completion of the incomplete triples. Then, once the 
triples are completed, the *contents* of the @rel are considered for new 
triple creation.

Consider what would happen if you had a different @rel:

<div about="" rel="dc:creator">
    <img rel="foaf:img" href="ben.jpg" />
</div>

which would then yield:

   <> dc:creator _:bnode1 .
   _:bnode1 foaf:img <ben.jpg> .

Changing the @rel value on img should certainly kill the second triple, 
but I don't see why it should change the first triple at all.

Thoughts?

-Ben

PS: adding this as an issue as soon as the email shows up in the archive.

Received on Friday, 9 May 2008 00:37:00 UTC