- From: Mark Birbeck <mark.birbeck@formsPlayer.com>
- Date: Mon, 1 Oct 2007 14:39:10 +0100
- To: "Ivan Herman" <ivan@w3.org>
- Cc: "W3C RDFa task force" <public-rdf-in-xhtml-tf@w3.org>
Hi Ivan, I'm not sure if I'm following you here, so my apologies. Tthe only thing left to resolve on @instanceof is what should happen if *both* @about and @resource are on the same element, along with @instanceof. And even then, the only thing to resolve is whether @instanceof takes its subject from @about or from @resource--the behaviour of chaining is clearly defined, and unaffected. So the question I believe I have stumbled upon is this; @instanceof appearing on its own on an element will generate a bnode (that's already agreed): <div instanceof="foaf:Person"> ... </div> yields: _:div1 a foaf:Person . However, if we take that behaviour to <head>, and add in some other metadata: <head instanceof="foaf:PersonalProfileDocument"> <link rel="foaf:maker" href="#me" /> </head> we get this: _:head1 a foaf:PersonalProfileDocument . _:head1 foaf:maker <#me> . Now you could say that it's the author's own fault, but in keeping with the idea of not 'messing with' the host language, I believe that this is undesirable, and changes the behaviour of @rel in a way that we should not be considering. Since we'd probably agree that it would be better to generate this: <> a foaf:PersonalProfileDocument . <> foaf:maker <#me> . I was simply suggesting that we take advantage of the fact that we already say that there is an 'implied' @about="" on <head>, and that what we needed to do was to draw that out a little more explicitly. (To put it a different way, I think it's quite easy to present this as *not* an exception; the rules for obtaining a 'unique element identifier' already say that @about takes precedence, so we need to be clear that this rule should include implied values for @about--such as the one on <head>--as well as 'real' values. It's not really very different to saying that there is a default attribute value in a schema.) If I've missed your disagreement then I apologise. :) Regards, Mark On 01/10/2007, Ivan Herman <ivan@w3.org> wrote: > (This is also an answer to Niklas' response and your response to Niklas' > response...) > > I am still not convinced:-( And the for the same reasons as before: I > would like to avoid the type of spaghetti specification that says: "this > is the general rule, but with these and these values the behaviour is > different...". > > However. Let us make one step back. AFAIK, the rules of @instanceof are > still _not_ cast in concrete. There were several alternatives in the > past but I have not seen any final resolution around those. I also > remember that the issue of what would happen with > > <div instanceof="bla:bla"> > > ie, when 'instanceof' was the only RDFa attribute. I know that the > current rule are aimed at what you say, ie, a blank node is generated as > a subject of instanceof and that should be chained down. But I also > remember another line of thought by Ben who, essentially, said: > > [[[ > @instanceof applies to the subject for all the children (ie, no special > treatment for @about, just as if @instanceof was part of a a child > element), _except_ when @instanceof is the only element, in which case > it applies to the [current element] > ]]] > > another way of defining @instanceof would be something like > > [[[ > if the attributes @rel/@rev/@resources are present on the element, then > @instanceof applies on [current object resource]; otherwise it applies > on [current element] > ]]] > > In both cases, your issue would become moot because, in both cases, > > <head instanceof="foaf:PersonalProfileDocument"> > > would yield exactly what you need. > > Bottomline: I would propose to postpone this issue until @instanceof is > 100% defined and cast into the syntax document. (My test cases might > help.) We can come back to this later. > > Ivan > > Mark Birbeck wrote: > > Hi Ivan, > > > > Thanks for forcing me to think it through more. :) I think that there > > is probably a neat way to write this using current mark-up, although > > working through it has highlighted something that I think we need to > > clarify. > > > > Sticking purely with trying to make the rdf:type use-case easier > > (i.e., rather than the general use of RDF/RDFS namespaces), there is > > nothing to stop us doing this: > > > > <html > > xmlns="http://www.w3.org/1999/xhtml" > > xmlns:foaf="http://xmlns.com/foaf/0.1/" > > > > > <head> > > <title>My profile</title> > > <link about="" instanceof="[foaf:PersonalProfileDocument]" /> > > </head> > > . > > . > > . > > </html> > > > > It looks odd, since there is no @rel or @rev, but it is allowed by the > > syntax. But once you go down that route, you might as well use the > > following, which is also allowed by the syntax, and is probably much > > clearer in terms of intent: > > > > <html > > xmlns="http://www.w3.org/1999/xhtml" > > xmlns:foaf="http://xmlns.com/foaf/0.1/" > > > > > <head about="" instanceof="[foaf:PersonalProfileDocument]"> > > <title>My profile</title> > > </head> > > . > > . > > . > > </html> > > > > Which brings us to the point that I think we need to clarify; what if > > I wrote this: > > > > <head instanceof="[foaf:PersonalProfileDocument]"> > > <title>My profile</title> > > <meta property="dc:creator" content="John Doe" /> > > </head> > > > > In our current rules this would generate a new bnode for <head>, and > > the dc:creator property would apply to that, which I don't think is > > desirable. But if we were to make it a little more explicit that the > > 'identity' of <head> is the current document, unless overridden > > *explicitly* by @about, then my rdf:type use-case falls out quite > > neatly to the following mark-up: > > > > <html > > xmlns="http://www.w3.org/1999/xhtml" > > xmlns:foaf="http://xmlns.com/foaf/0.1/" > > > > > <head instanceof="[foaf:PersonalProfileDocument]"> > > <title>My profile</title> > > </head> > > . > > . > > . > > </html> > > > > I think that's actually quite clear from the point of view of what an > > author is trying to do, and it has also exposed that we might need to > > say a little more about what happens with the <head> element. > > > > What do you think? > > > > Regards, > > > > Mark > > > > > > > > On 01/10/2007, Ivan Herman <ivan@w3.org> wrote: > >> Hm. You won't like me, but I am not sure I like it:-) > >> > >> Though is see the rationale, we create some sort of an odd case. At the > >> moment the agreement is that a @rel value without a CURIE prefix is > >> considered to be in > >> > >> http://www.w3.org/1999/xhtml/vocab# > >> > >> and that is it. This is a very clear and easy-to-follow rule. What you > >> propose is that, well, this is true, _except_ for the value of > >> instanceof that behaves differently. I am not sure it is good if we > >> begin to introduce such exceptions. > >> > >> Or did I misunderstand you? > >> > >> A possible way out is to say that the 'rdf:' prefix (and probably the > >> 'rdfs:' prefix) will always be added to the result of an RDFa processor > >> with the usual values. This is not very nice either, but I would prefer > >> to solve your problem that way... > >> > >> > >> Ivan > >> > >> Mark Birbeck wrote: > >>> Hello all, > >>> > >>> Whilst considering RDFa use in the wild, it occurred to me that > >>> constructs like the following would almost certainly become quite > >>> common: > >>> > >>> <html > >>> xmlns="http://www.w3.org/1999/xhtml" > >>> xmlns:foaf="http://xmlns.com/foaf/0.1/" > >>> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > >>> > > >>> <head> > >>> <title>My profile</title> > >>> <link rel="rdf:type" resource="[foaf:PersonalProfileDocument]" /> > >>> </head> > >>> . > >>> . > >>> . > >>> </html> > >>> > >>> If the author wants to avoid having to include the RDF namespace, they > >>> would have to change their mark-up to look something like this: > >>> > >>> <html > >>> xmlns="http://www.w3.org/1999/xhtml" > >>> xmlns:foaf="http://xmlns.com/foaf/0.1/" > >>> > > >>> <head> > >>> <title>My profile</title> > >>> </head> > >>> <body about="" instanceof="foaf:PersonalProfileDocument"> > >>> . > >>> . > >>> . > >>> </body> > >>> </html> > >>> > >>> However, if we added an additional link type, such as 'a' or > >>> 'instanceof', we could also allow the following mark-up: > >>> > >>> <html > >>> xmlns="http://www.w3.org/1999/xhtml" > >>> xmlns:foaf="http://xmlns.com/foaf/0.1/" > >>> > > >>> <head> > >>> <title>My profile</title> > >>> <link rel="instanceof" resource="[foaf:PersonalProfileDocument]" /> > >>> </head> > >>> . > >>> . > >>> . > >>> </html> > >>> > >>> This avoids the need to declare the RDF namespace, and keeps the > >>> metadata in the head of the document which seems more appropriate for > >>> this particular kind of statement. > >>> > >>> Regards, > >>> > >>> Mark > >>> > >>> > >> -- > >> > >> Ivan Herman, W3C Semantic Web Activity Lead > >> Home: http://www.w3.org/People/Ivan/ > >> PGP Key: http://www.ivan-herman.net/pgpkey.html > >> FOAF: http://www.ivan-herman.net/foaf.rdf > >> > >> > > > > > > -- > > Ivan Herman, W3C Semantic Web Activity Lead > Home: http://www.w3.org/People/Ivan/ > PGP Key: http://www.ivan-herman.net/pgpkey.html > FOAF: http://www.ivan-herman.net/foaf.rdf > > -- Mark Birbeck, formsPlayer mark.birbeck@formsPlayer.com | +44 (0) 20 7689 9232 http://www.formsPlayer.com | http://internet-apps.blogspot.com standards. innovation.
Received on Monday, 1 October 2007 13:39:27 UTC