- From: Ben Adida <ben@adida.net>
- Date: Thu, 13 Sep 2007 17:23:31 -0700
- To: public-rdf-in-xhtml-tf@w3.org
Ivan, Mark, and everyone, I had an action to explain my point of view on this thorny @instanceof issue. I was late in doing this, so of course the discussion began without me, which is healthy :) That said, I want to return to basic principles and explain why my point of view differs from Mark's on the complicated use case. I don't want to talk about parsing rules yet. I want to talk about what *should* happen in the simple cases, and then argue about what makes sense in the more complicated case. I think we agree that <div about="#mark" instanceof="foaf:Person"> </div> and <div href="#mark" instanceof="foaf:Person"> </div> both correspond to <#mark> rdf:type foaf:Person . We also agree that: <div instanceof="foaf:Person"> </div> corresponds to _:div0 rdf:type foaf:Person . We also agree that: <div about="#mark" rel="foaf:knows" href="#steven"> </div> corresponds to: <#mark> foaf:knows <#steven> So the question is, what happens when you add @instanceof to the above example? Does it apply to @about or @instanceof? By construction, you can go down two paths and come up with two different results. So I don't think the construction approach helps. Instead, I prefer to think about the meaning of @instanceof: The "@instanceof is a child element" argument: @instanceof is sugar for a child LINK element, back when we supported LINK (here I agree with Mark). Introducing @href (or @resource) overrides the subject for all child elements. Thus, @instanceof applies to @href. Mark is worried about how one would apply a type to the @about. I don't think that's too difficult: <div about="#mark" instanceof="foaf:Person"> <div rel="foaf:knows" href="#steven"> </div> </div> In fact, I don't think we should *ever* recommend the use of @about, @rel, @href, and @instanceof on the same element. We just need to *handle* it when authors write it. And by the "@instanceof is a child element" argument above, I think it has to apply to @src/@href/@resource. So the parsing rule for @instanceof is: The subject of @instanceof on an element is whatever the subject of a child element would be by normal inheritance. One last thing: how do we handle @instanceof by itself? We add an additional processing rule, which is that @instanceof triggers chaining as if there had been a @rel on the element, only there is no @rel so there is no "parent triple". -Ben
Received on Friday, 14 September 2007 00:23:39 UTC