- From: Mark Birbeck <mark.birbeck@webbackplane.com>
- Date: Fri, 27 Nov 2009 17:59:10 +0000
- To: Ivan Herman <ivan@w3.org>
- Cc: Toby Inkster <tai@g5n.co.uk>, W3C RDFa task force <public-rdf-in-xhtml-tf@w3.org>
Wow...great work Ivan and Toby. :) The algorithm I outlined is actually ever so slightly different to what you have described Ivan. Obviously it's all up for debate, but just so that we can have that discussion, I'll clarify what I was proposing. We've agreed that we're now saying that this is not a CURIE: a:b but this is: @prefix a: <http://example.com/> a:b I.e., if a mapping is defined, then we have a CURIE, if not, we have a URI. However... I believe it would be useful to say that the following will *never* become a URI: [a:b] My feeling is that in this situation the author is saying that they explicitly want to use the CURIE 'a:b' with the mapping 'a'. And if the mapping 'a' doesn't exist, then something has gone wrong, and they would prefer it to be ignored altogether. I'm seeing this as a useful 'strict' mode, that automated systems might want to use, but hand-coders would almost certainly avoid. Any thoughts? Regards Mark -- Mark Birbeck, webBackplane mark.birbeck@webBackplane.com http://webBackplane.com/mark-birbeck webBackplane is a trading name of Backplane Ltd. (company number 05972288, registered office: 2nd Floor, 69/85 Tabernacle Street, London, EC2A 4RR) On Fri, Nov 27, 2009 at 5:18 PM, Ivan Herman <ivan@w3.org> wrote: > I redid the relevant part of my distiller, too, and it is much nicer and > simpler. It is one single method that has some internal branches, but > can still handle @rel/@rev/@about/@resource/@typeof in one place. An > this is nice. What it does with 'value': > > 1. Get the possible safe curie signs out of the way at the start, ie, if > the value is of the form '[...]' then remove the [ and ] signs. Ie, the > safe curie is there for backward compatibility only. (And yes, that > means that I do allow unsafe curies for @about and @resource) > > 2. Get the possible blank node management out of the way, ie return the > right blank node for things like '_:a'. Note that if this is called for > a @rel/@property/@ref, then return None (with possible error message) > because you cannot have a blank node for a predicate > > 3. If it is called on @rel/@rev and the value is a keyword then return > the corresponding URI > > 4. Try to match the value against a CURIE definition (ie, see if it is > of the form a:b and 'a' is defined as a namespace, oops, local name). If > yes, return the corresponding URI > > 5. If we get here, this is a real URI (absolute or relative), and fall > back to the usual URI management to get the final URI (there are python > tools to do that with all the quirks of relative uris and the like). > > I think this is in line with what Mark describes. I have written it down > here to see if it is what Mark had in mind (until we have relevant test > cases...) > > I plan to test a bit more and put up a test version of the distiller > service on line with an extra "1.1" flag to trigger this behaviour. > Hopefully on the week end or early next week. > > Ivan > > > Toby Inkster wrote: >> On Wed, 2009-11-25 at 22:06 +0000, Mark Birbeck wrote: >>> Anyway, below you'll find a series of minor changes that I feel would >>> need to be made to various parts of the syntax document, in order to >>> support URIs and CURIEs in all RDFa-related attributes (except @src >>> and @href). >> >> The following describes the behaviour of the unreleased >> RDF::RDFa::Parser 0.21 package for Perl. (Latest released version is >> 0.20.) >> >> If the parser is instantiated with the option "full_uris" set to true, >> then, it uses the following behaviour for these attributes: >> >> @about/@resource: Safe CURIE, falling back to URIs. >> @src/@href: URIs only. >> @rel/@rev: Keywords, falling back to safe CURIEs, CURIEs then URIs. >> @property/@typeof/@datatype: Safe CURIEs, CURIEs then URIs. >> >> I think this is more or less the same as your proposal, except that >> unsafe CURIEs are disallowed in @about/@resource. >> >> By default, i.e. when "full_uris" is not true, it uses: >> >> @about/@resource: Safe CURIE, falling back to URIs. >> @src/@href: URIs only. >> @rel/@rev: Keywords, falling back to safe CURIEs, then CURIEs. >> @property/@typeof/@datatype: Safe CURIEs, falling back to CURIEs. >> >> And as of 0.21 it's now passing all 107 approved tests in the XHTML+RDFa >> test suite. (Yay!) >> > > -- > > Ivan Herman, W3C Semantic Web Activity Lead > Home: http://www.w3.org/People/Ivan/ > mobile: +31-641044153 > PGP Key: http://www.ivan-herman.net/pgpkey.html > FOAF: http://www.ivan-herman.net/foaf.rdf >
Received on Friday, 27 November 2009 17:59:52 UTC