- From: Ivan Herman <ivan@w3.org>
- Date: Thu, 24 Jan 2008 11:58:13 +0100
- To: Mark Birbeck <mark.birbeck@formsPlayer.com>
- Cc: W3C RDFa task force <public-rdf-in-xhtml-tf@w3.org>
- Message-ID: <47986F45.2080603@w3.org>
Mark, First of all, I have no problem with the proposed changes and the way you describe @rel/@rev. I have a number of other comments on the syntax document (nothing major), I will send them in a separate mail. My only comment here is: what is then the fate of @property? The current syntax document lists, in section 9.2.5, a number of reserved values for @property, too, which are clearly defined by the XHTML group. I see two alternatives: 1. we should treat @property exactly like @rel/@rev in this respect and add it to your description accordingly (ie, @property="description" generates an appropriate triple with a literal and @property="foobar" is ignored). 2. there should be no list of preserved terms listed in the document for @property. Personally, I think alternative #1 is the consistent one... Ivan Mark Birbeck wrote: > Hello all, > > I've just pushed up some more changes, the main ones being to deepen > further the explanation about how CURIEs and URIs are processed. I've > done this for a couple of reasons. > > The first is that in the processing section there was a lot of > repetition to explain some of the common requirements. For example, > all URIs need to be resolved relative to base, using the algorithm in > RFC 3986, and this was repeated at every point in the processing model > rules. Also, if an attribute can take a CURIE then that must be > converted to a URI, which was again repeated. > > So...I've changed the processing rules to simply say, for each > attribute 'obtain a URI according to section blah blah'. Then in that > section I look at how the URI is obtained; for example if it's @href > you just read the value straight, if it's @about you check for safe > CURIEs, and so on. > > That all keeps the processing model section a bit leaner, as well as > giving a bit more space to elaborate more fully on how URIs are used, > and how CURIEs get converted. It also means that some of the things > that seemed specific before, are now applied to all uses of CURIEs. > For example, I've now explained what happens with non-CURIEs, which > before was only being applied to @rel (i.e., that they are ignored) > but now applies to all attributes (e.g., @about="[foo]" will not set a > new subject). > > Having the extra space also allows us to draw implementers' attention > to key parts of the whole CURIE/URI set-up which were not drawn out > before. For example, I've taken the opportunity of having a separate > section to point out to implementers that they must take into account > that XML namespaces are locally scoped...obvious I know, but it's the > kind of thing that is important for smooth implementation. > > Anyway, I'm flagging this up mainly to draw attention to the fact that > although there have been a lot of changes, they shouldn't have > affected the processing. If anyone thinks that the processing has been > changed in any way, then please flag it up, because it was not > intentional. > > However, there is one place I have changed the meaning...and it is > intentional. :) > > (Takes deep breath...) > > I have slightly changed how @rel and @rev work. There should be no > difference in the _effect_ though, but the change is that the > algorithm converts tokens like "next" and "license" *directly* to > URLs. In other words, "license" is no longer a shorthand for > xh:license, it is a shorthand for "http://....vocab#license". > > It will no doubt sound to most people as if I'm discussing how many > angels can fit on the head of a pin; if it does, that's good, because > it probably means that no-one is bothered either way. > > But for anyone who is worrying, here is the rationale: the point of > the new section on "CURIE and URI Processing" is to explain how you > get URIs for creating triples. As far as the main processing model > section is concerned the world is only made up of URIs -- there is no > such thing as a CURIE, since they will have already been converted. > > Some attributes can take both a URI and a CURIE, and in that situation > the URI simply bypasses the CURIE algorithm and just remains a URI. > > It struck me that the same could be said of @rel and @rev; you could > say that @rel and @rev take EITHER a link-type OR a CURIE. If it's a > link-type (next, previous, license, etc.) then you might as well > convert it straight to a full URI. And if it's a CURIE...well, we know > what to do with CURIEs. > > The problem with the previous approach of saying that "next" is a > CURIE...is, well...it isn't. Now that we've said that an unprefixed > CURIE is invalid, then "next", "license", etc. are simply not CURIEs. > The only way to make them work is to have the preprocessing step that > we've all talked about, but then it gets very odd -- we've defined an > attribute that takes values of a certain type (CURIEs) and then listed > some values that don't conform to that type ("next", "prev", etc.) and > then we're relying on an external process to come tidy everything up > and make it work! > > However... > > If we take a different approach and say that the definition of > @rel/@rev is conceptually along these lines: > > linktype ::= "alternate" | ... | "next" | ... | "up" > rel ::= linktype | curie > > and then say 'link-types are processed by converting them to URIs', > then we're all done. We don't need a preprocessing step, since > everything is within the RDFa syntax itself. And we've kept the > mapping from linktype to URI outside of both CURIEs and the core RDFa > processing model > > Anyway...chew it over... > > And be warned that I am up against a tight deadline, so even if you > rant at me that this is a terrible change, I'll probably ignore you. > :) > > 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
Received on Thursday, 24 January 2008 10:58:20 UTC