- 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