- From: Nathan <nathan@webr3.org>
- Date: Tue, 26 Jul 2011 12:19:13 +0100
- To: Niklas Lindström <lindstream@gmail.com>
- CC: Gregg Kellogg <gregg@kellogg-assoc.com>, Manu Sporny <msporny@digitalbazaar.com>, RDFa WG <public-rdfa-wg@w3.org>
Niklas Lindström wrote: > On Tue, Jul 19, 2011 at 5:26 AM, Gregg Kellogg <gregg@kellogg-assoc.com> wrote: >> I think I actually suggested this, but on further thought, it limits some important use cases. > > I fully agree. > >> In the structured-data linter, the snippet output is generates with RDFa markup within a div inside the document. Having to declare @prefix definitions in the head is a little problematic, and doesn't keep all the example RDFa in one place; it actually introduces a different copy/paste problem. > > Indeeed. Both @prefix and @vocab should be allowed anywhere, to make > it easy to embed such snippets and work in templated/restricted > publishing environments of various kinds. I furthermore expect that > using @vocab and the occasional full URI will cover many small, simple > use cases (e.g. provenance data in the head or a header; some > licensing and attribution in a footer). I'm going to disagree, whilst I fully agree that these are important use cases, I also think that the ability to redefine prefixes throughout a document creates a large amount of unexpected functionality, especially when working with the DOM. That said, I do think @vocab should be allowed anywhere. To throw in a few simple use cases.. 1: CSS CSS selectors operate by the string token value contained in an attribute, for example: [property="foaf:name"] { color:red; } If the foaf prefix is mapped to different URIs throughout, this leads to unexpected results. 2: DOM APIs As with the above, if we consider that in a document a single prefix is mapped to two different URIs throughout the document, then again we get unexpected functionality / confusing results. In order to limit this (and I don't personally think it's a fringe case), it would be good to limit, wherever possible, the ability to redefine a prefix mappings throughout a document. Ultimately I feel a slightly different approach is needed from us, where we endeavour to ensure that prefixed terms like "foaf:name" are used as simple string tokens wherever possible, whilst still retaining the ability to map them back to a URI (by whatever means). As a user, I'd certainly find this useful, and more in line with the rest of HTML/CSS and the DOM. disclaimer: obviously I fully understand the value of the copy paste scenarios, and where people can't modify the head of a document; and for these cases it would be nice to encourage the use of @vocab - since copy paste actions are generally going to be quite well defined and used frequently; for instance when copying a rich snippet of structured data from a help page, tutorial, or vocab homepage. Best, Nathan
Received on Tuesday, 26 July 2011 11:19:51 UTC