- From: Ben Adida <ben@adida.net>
- Date: Mon, 08 Mar 2010 15:33:40 -0800
- To: Shane McCarron <shane@aptest.com>
- CC: Ivan Herman <ivan@w3.org>, Mark Birbeck <mark.birbeck@webbackplane.com>, W3C RDFa WG <public-rdfa-wg@w3.org>
On 3/8/10 2:53 PM, Shane McCarron wrote: > Flame. Seriously. Wait, I think we had a communication error, almost certainly my fault. I'm not arguing against vocab bundles. I'm arguing against a vocab bundle defining a *prefix*. > This isn't a feature hundreds of people will use to create vocabs... > but millions will use those vocabs. And the easier it is the better. Totally agreed. > Manu and I proposed this years ago. Its important to be able to > define collections like this to ease the burden on authors. Totally agreed. Here's some RDFa 1.0: ========= <div about="sunset.jpg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/terms/"> <span property="dc:title">Sunset</span> licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">CC license</a>. Please provide attribution to <span propery="cc:attributionName">Ben Adida</span>. </div> ========= Now, CC wants to make that easier for authors, so here's the way I think we all agree is definitely good (modulo the attribute name): ========= <div about="sunset.jpg" profile="http://creativecommons.org/vocab/"> <span property="title">Sunset</span> licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">CC license</a>. Please provide attribution to <span propery="attributionName">Ben Adida</span>. </div> ========= Effectively, just adding @profile lets the author easily use 'title' and 'attributionName' as if they were keywords, just like 'license'. The @profile could even rename these, of course, so it's "attributeTo" instead of "attributionName", for example. Now, here's some alternative markup that is enabled by both proposals as they stand: ========= <div about="sunset.jpg" profile="http://creativecommons.org/vocab/"> <span property="dc:title">Sunset</span> licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">CC license</a>. Please provide attribution to <span propery="cc:attributionName">Ben Adida</span>. </div> ========= Notice how the CC vocab is effectively defining the "dc" and "cc" prefixes. I think that's (a) not very useful and (b) confusing to authors. So, maybe you disagree, but I don't think I'm cutting out the really good use case, right? And as I was writing this out, I just realized that, if we *do* let the vocab/profile define prefixes, then we have a big backwards compatibility problem: ========= <div xmlns:cc="FOO"> <div profile="BAR"> <span property="cc:attributionName">...</span> </div> </div> ========= How does one resolve the 'cc' prefix here? If we want to allow @profile to define prefixes, then we have to go one of the following routes: (1) RDFa 1.0 and RDFa 1.1 parsers may generate *different* triples for the same @property, since RDFa 1.0 will ignore @profile. (2) RDFa 1.1 must let @xmlns override @profile, even if @xmlns is higher up in the DOM tree. Significantly hurts cut-and-paste compatibility when @profile is used. Neither (1) nor (2) seems like a good idea, and I can't think of an alternative route if @profile can define prefixes. -Ben
Received on Monday, 8 March 2010 23:34:10 UTC