- From: Ivan Herman <ivan@w3.org>
- Date: Mon, 01 Oct 2007 15:19:16 +0200
- To: Mark Birbeck <mark.birbeck@formsPlayer.com>
- CC: W3C RDFa task force <public-rdf-in-xhtml-tf@w3.org>
- Message-ID: <4700F3D4.4080604@w3.org>
(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
Received on Monday, 1 October 2007 13:19:25 UTC