- From: Mark Birbeck <mark.birbeck@x-port.net>
- Date: Sun, 16 Dec 2007 17:52:11 +0000
- To: "Ivan Herman" <ivan@w3.org>
- Cc: "W3C RDFa task force" <public-rdf-in-xhtml-tf@w3.org>
Hi Ivan, I'll come back to the third part of your post separately, but just on the first two parts, the syntax you suggest is already allowed. > just try to share some line of thoughts that (1) came to my mind related > to edge cases of the CURIE syntax and (2) gave me some new ideas related > to @instanceof. (I hope I could catch your attention:-) > > 1. At present, my reading of the CURIE syntax grammar is that the > following is illegal: > > @attribute="prefix:" > > Ie, what is called a "reference" in the syntax is _required_. My first > question is: why? Why can't we say that the value of "prefix:" is, well, > the URI that is defined for the prefix? Is there any fundamental reason > for that? Although the 'reference' part is required, it's a relative URI, and since an empty value is valid for a relative URI, you get exactly what you want. We tried to draw attention to this 'quirky' usage in the CURIEs spec [1], by giving the following example (see in section 5.1): joseki: Note that this kind of usage means that you could abbreviate complete URIs so as to make a document and its metadata easier to read and edit. For example: <div xmlns:ivan="http://ivans-profile" xmlns:mark="http://marks-profile"> <div about="[ivan:]" rel="foaf:knows" resource="[mark:]" /> <div about="[mark:]" rel="foaf:knows" resource="[ivan:]" /> </div> > 2. If moved along the line of #1 and if we accepted, for a moment, that > a "prefix:" is a legal CURIE, then the next problem is to define what > the meaning of "_:" is. Well, there seems to be a perfectly valid answer > for that: this is a unique identifier chosen by the implementation with > the restriction that _each_ occurrence of "_:" is a _different_ unique > identifier. In RDF terms this means that each occurrence of "_:" is a > _different_ blank node. It's an interesting idea, but unfortunately, given that the syntax already works, you might need to find a different way to express your idea. In CURIEs the prefix part was meant to be unique but consistent. So it wasn't that the syntax "_:a" and "_:b" was meant to indicate to a processor, "please generate bnode a and bnode b"; rather, all a CURIE processor has to do is to generate some globally unique value, and place it into the prefix mappings list under the name "_". Then all of the normal CURIE processing would 'just work'. I designed it that way so that we could get CURIEs to provide support for bnodes, without actually talking about bnodes, which seem to me to be out of scope for a URI abbreviation syntax. Which means that as things stand, although "_:" is a good idea for saying "give me a new bnode", in CURIE syntax it would always generate the same identifier, no matter how many times it was used in a document. (At least as things stand at the moment.) Regards, Mark [1] <http://www.w3.org/TR/curie/> -- Mark Birbeck, formsPlayer mark.birbeck@formsPlayer.com | +44 (0) 20 7689 9232 http://www.formsPlayer.com | http://internet-apps.blogspot.com standards. innovation.
Received on Sunday, 16 December 2007 17:52:19 UTC