- From: Alex Hall <alexhall@revelytix.com>
- Date: Mon, 23 May 2011 11:22:15 -0400
- To: Andy Seaborne <andy.seaborne@epimorphics.com>
- Cc: public-rdf-wg@w3.org
- Message-ID: <BANLkTikJzYVD0ReVGMBR5+XZD4Zjb-uPsQ@mail.gmail.com>
On Mon, May 23, 2011 at 10:57 AM, Andy Seaborne < andy.seaborne@epimorphics.com> wrote: > > > On 23/05/11 14:53, David Wood wrote: > >> Hi all, >> >> The TAG (or rather, the AWWSW Task Group of the TAG) is (still | >> again) actively discussing http-range-14 and its relation to the >> definitions of URIs. [1] >> > > Thanks for pointing it out. > > > >> Section 5.2 of that document [2] states: >> >> [[ A null fragid precludes the use of qnames to abbreviate such URIs. >> (In particular it would not be possible to use them as predicate >> names in RDF/XML.) However, SPARQL, Turtle, and RDFa are being >> extended to admit CURIEs that include #, making this a newly >> attractive option. ]] >> > > I can read this in two ways: the IRI that the CURIE represents can include > a #, including null fragid, and so does not have the RDF/XML problem. > > prefix ex: <http://example/ns#> > ... > { ex: ex: ex: } > > Or that the syntax of CURIE can include a #. SPARQL is not being changed to > include these - this area has not changed since SPARQL 1.0. > > prefix ex: <http://example/> > > { ex:abc#def ex:ns# ex:#a } > > which is illegal. > > I was confused on this point as well. Since SPARQL and Turtle syntax both permit empty local parts in prefixed names, you can represent any arbitrary IRI as a pname by stuffing any illegal local-name characters into the namespace part, and so you avoid the RDF/XML problem. But, they seem to be suggesting a naming scheme where the local names 'a', 'b', 'c', ... become the IRIs <http://example.com/a#>, < http://example.com/b#>, <http://example.com/c#>, ... To make that legal Turtle, you have to allocate a new namespace for each local name, e.g.: @prefix a: <http://example.com/a#> @prefix b: <http://example.com/b#> @prefix c: <http://example.com/c#> { a: b: c: } That's just not feasible for documents with large numbers of local names. > > > # is the comment character in SPARQL and Turtle. (Could be changed to > "<WS>#".) > > > I have advised Jonathan Rees, the editor, that the RDF WG is leaning >> toward minimal changes in Turtle, but some form of Quartle may (or >> may not) follow. >> > > SPARQL 1.1 Last Call is unchanged from SPARQL 1.0 in this area. > > > If anyone thinks this changes their mind in relation to CURIE support >> in a standardized Turtle, this would be a good time to say so. >> > > A CURIE is: > > safe_curie := '[' curie ']' > curie := [ [ prefix ] ':' ] reference > prefix := NCName > reference := irelative-ref (as defined in IRI) > > so Turtle's 'a' would match as would '123' > > irelative-ref includes "?" and "@" and ":" (the last two via ipchar) > > And '[' ']' have been used. > > CURIE permits further restrictions - while Turtle may in spirit have > CURIEs, we need to restrict in some way anyway. > Seems the difficulty lies in the fact that CURIE allows a bare IRI (relative) reference to be used as a CURIE, which matches too many existing language elements in Turtle. A reasonable restriction might be to only accept CURIEs which contain a ':' character since those are already prefixed names, and relaxing the rules of the local-name part to allow relative IRI references there. A relative IRI reference by itself would still need to be enclosed in <> brackets. That would support the null fragid naming convention mentioned above. -Alex > > Andy > > > >> Regards, Dave >> >> [1] http://www.w3.org/2001/tag/awwsw/issue57/latest/ [2] >> http://www.w3.org/2001/tag/awwsw/issue57/latest/#suffix >> > > Andy > >
Received on Monday, 23 May 2011 15:22:43 UTC