- From: Niklas Lindström <lindstream@gmail.com>
- Date: Thu, 20 Sep 2007 15:42:46 +0200
- To: "Ben Adida" <ben@adida.net>
- Cc: RDFa <public-rdf-in-xhtml-tf@w3.org>
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. 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. Just as @rel without @resource or equivalent has the effect of a bnode @resource... ] Best regards, Niklas On 9/20/07, Ben Adida <ben@adida.net> wrote: > > > Hi all, > > So we haven't yet resolved the issue of what @instanceof refers to when > there is both @about and @resource/@href on an element. We should take > it to a vote, but before we do, I was asked to clarify my point that > @resource overriding @about is actually based on logic, not just preference. > > Mark's point is that @instanceof applies to "the node that corresponds > to the element" on which @instance of is written. I actually agree with > that. At the same time, we agree that > > <div resource="#ben" instanceof="foaf:Person> > </div> > > yields > > <#ben> rdf:type foaf:Person . > > So, in this case, as per Mark's point, the node that corresponds to the > div is <#ben>, the value of @resource. It seems clear that @resource is > thus a valid candidate for the subject of @instanceof. Otherwise, we're > making a weird exception to Mark's rule about "the node that corresponds > to the element" for the above triple. > > Now, here's how one can logically think of @resource overriding @about. > Consider the following markup: > > <div about="photo.jpg" rel="foaf:depicts" resource="#ben"> > <span property="foaf:name">Ben Adida</span> > </div> > > The triples are: > > <photo.jpg> foaf:depicts <#ben> . > <#ben> foaf:name "Ben Adida" . > > Now if we take @resource away: > > <div about="photo.jpg" rel="foaf:depicts"> > <span property="foaf:name">Ben Adida</span> > </div> > > the chaining node becomes a blank node: > > <photo.jpg> foaf:depicts _:bnode0 . > _:bnode0 foaf:name "Ben Adida" . > > And if we take @rel away, chaining collapses, and foaf:name's subject > now goes "further up" the tree and finds the @about: > > <photo.jpg> foaf:name "Ben Adida" . > > Logically speaking, for contained elements, @rel creates a bnode that > overrides @about, and @resource overrides that bnode and, thus, > transitively, @about. > > Now, we already established that @resource *is* a valid subject for > @instanceof when no other attributes are present. And we even mentioned > that @instanceof is actually syntactic sugar for a child element. This > must mean that @instanceof should be considered "deeper down the tree" > than @resource. > > How, then, can we logically justify that @about overtakes @resource in > the case of @instanceof, when precisely the opposite happens for child > elements? > > In my mind, adding @rel and @resource squeezes the new chaining subject > between @about and child elements, and @instanceof is, in fact, > equivalent to a child element. > > There may well be a different reasoning that justifies the other point > of view, but the above is meant to show that there is very much a > logical approach to assuming that @resource overrides @about as the > subject of @instanceof, not the other way around. > > Now we can take an informed vote :) > > -Ben > >
Received on Thursday, 20 September 2007 13:42:54 UTC