RE: CURIEs: A proposal

[Updated in the light of the recent mails from Ivan, Dan and Shane]

This survey (see 7a-7h) has evolved from [3].  The data points 
presented reflect my incomplete understanding.  Please help by 
correcting the ones that are wrong and providing the missing (or 
additional) data points.  The character "~" has been used below to 
mean "approximately".

For context, see:
[1] RDFa Primer 1.0, 16 May 2006
    http://www.w3.org/TR/2006/WD-xhtml-rdfa-primer-20060516/
[2] News Taxonomies presentation to the W3C AC, given on 22 May 2006
    http://lists.w3.org/Archives/Public/www-archive/2006Jun/0013.html
[3] CURIEs: A proposal, 2 June 2006
    http://lists.w3.org/Archives/Public/www-tag/2006Jun/0007.html

1   We agree on a generic syntax and generic rules for Compact URIs 
    (CURIEs).

2   We agree that restricted syntaxes and rules will be (or have 
    been) defined for specific purposes.   One such purpose is XML 
    Namespaces and QNames.

3   Groups within the W3C and elsewhere will define other restricted 
    syntaxes and rules for their own purposes.

4   The generic syntax for a CURIE in an attribute value will be:
       <foo bar="prefix:suffix"/>

5   The generic syntax for multiple CURIEs in an attribute value 
    will (where permitted) be:
       <foo bar="prefix1:suffix1 ... prefixN:suffixN"/>

6   Both the prefix and the suffix may (in the generic case) be 
    numeric.

7   Each language must specify:

7a  the syntactic constraints (if any) on the prefix and suffix.

    XMLNS    : prefix = NCNAME (can be omitted); suffix = NCNAME
    XHTML    : prefix = NCNAME (can be omitted); suffix = IRI
    NewsML 2 : prefix = NCNameChar+            ; suffix = NCNameChar+
    RDF/XML  : Not applicable
    N3       : prefix = NCNAME (~)             ; suffix = NCNAME (~)
               The lexical details of N3 are a work in progress; the
               grammar that TimBL maintains says...
                 qname
                 (([a-zA-Z_][a-zA-Z0-9_]*)?:)?[a-zA-Z_][a-zA-Z0-9_]*
               http://www.w3.org/2000/10/swap/grammar/n3-report.html
               but [Dan thinks] the code and tests differ.  We seem 
               to have a test for a non-ascii character in a name, 
               but [Dan] can't find it in the log of the tests run 
               for the latest release, so [he's] not sure what it's 
               status is.
    Turtle   : prefix = NCNAME (~)             ; suffix = NCNAME (~)
               turtle seems to disallow "." in names altogether.
               And [Dan doesn't] see "_" there either:
               http://www.dajobe.org/2004/01/turtle/#nameChar
    SPARQL   : prefix = NCNAME (~)             ; suffix = NCNAME (~)
               In SPARQL, names of the form _:xyz are used for 
               something other than URI abbreviations.  The grammar 
               seems to prohibit prefixes from starting with "_".  
               And in both the prefix and the suffix, starting with 
               a "." seems to be prohibited.  For details, see 
               http://www.w3.org/TR/rdf-sparql-query/#rNCNAME_PREFIX

7b  how CURIEs and URIs are distinguished, eg through dedicated 
    attributes or through a special syntax.

    XMLNS    : Not applicable
    XHTML    : Mix of dedicated attributes and special syntax 
               ("[a:b]") for non-dedicated attributes
    NewsML 2 : Dedicated attributes
    RDF/XML  : Not applicable
    N3       : In SPARQL, N3, and turtle, URI references are written 
               <thusly>, and qnames can't have <>s in them
    Turtle   : See above
    SPARQL   : See above

7c  the mechanism for specifying the prefix-to-IRI mapping.  The 
    mechanism may use information provided out-of-band.

    XMLNS    : xmlns attribute
    XHTML    : xmlns attribute
    NewsML 2 : <scheme alias="enwiki" 
                 uri="http://en.wikipedia.org/wiki/" />
    RDF/XML  : xmlns attribute
    N3       : @prefix abc: <http://example/abc#>.
    Turtle   : @prefix abc: <http://example/abc#>.
    SPARQL   : PREFIX abc: <http://example/abc#>

7d  whether and, if so, how the prefix and suffix are combined to 
    form an IRI.

    XMLNS    : Left to each language to specify
    XHTML    : Plain concatenation, including cases such as:
               prefixIRI = http://www.example.com/partial_
               suffix    = folder/item
               fullIRI   = http://www.example.com/partial_folder/item
    NewsML 2 : For vocabularies managed by the IPTC, we're 
               considering:
                 <vocabIRI> & "#_" & <code>
               or plain concatenation, coupled with vocabIRIs ending 
               with "?" or "/" or "#_" 
               For vocabularies not managed by the IPTC:
                 Left to each vocabulary authority to specify
    RDF/XML  : Plain concatenation
    N3       : Plain concatenation
    Turtle   : Plain concatenation
    SPARQL   : Plain concatenation

7e  whether the prefix and suffix form a tuple (other than purely 
    syntactically) and/or whether they are a compact representation 
    for an IRI.

    XMLNS    : Tuple only
    XHTML    : Compact representation for an IRI only
    NewsML 2 : Tuple and compact representation for an IRI
    RDF/XML  : In RDF/XML, the tuple from XMLNS is used as an IRI 
               abbreviation.  There are lots of cases where it's 
               useful to round-trip back to the tuple, though that's 
               never strictly required.
    N3       : See above
    Turtle   : See above
    SPARQL   : See above

7f  whether the dereferencing of the IRI mapped to the prefix is 
    required to yield a useful and relevant information resource.

    XMLNS    : Not required, but the Architecture of the WWW states:
               "The owner of an XML namespace name SHOULD make 
               available material intended for people to read and 
               material optimized for software agents in order to 
               meet the needs of those who will use the namespace 
               vocabulary."
    XHTML    : Not required; note that the prefix may correspond to a
               partial, nonsensical IRI, without the suffix (see 7d)
    NewsML 2 : Required
    RDF/XML  : The URI mapped to the prefix isn't relevant at the RDF
               abstract syntax level.  It's handy to be able to look 
               it up for RDF/XML consumers that only know they're 
               looking at XML.
    N3       : See above
    Turtle   : See above
    SPARQL   : See above

7g  whether the dereferencing of the IRI built from the prefix and 
    suffix (and, possibly, also other building blocks) is required 
    to yield a useful and relevant information resource.

    XMLNS    : Left to each language to specify
    XHTML    : The role attribute specification requires that roles 
               be defined using RDF, and that the role QName (or 
               CURIE) dereference to that definition.
    NewsML 2 : For vocabularies managed by the IPTC: MUST
               For vocabularies not managed by the IPTC: SHOULD
    RDF/XML  : Is best practice
    N3       : See above
    Turtle   : See above
    SPARQL   : See above

7h  whether any fragment identifiers in these IRIs are required to 
    be legal XML names.

    XMLNS    : Outside the scope of the spec
    XHTML    : Outside the scope of the spec
    NewsML 2 : Yes
    RDF/XML  : Outside the scope of the spec
    N3       : See above
    Turtle   : See above
    SPARQL   : See above

8   To avoid confusion with XML Namespaces and QNames:

8a  The xmlns attribute is reserved for use with XML Namespaces and 
    QNames.

8b  If a prefix matches an xmlns declaration then the CURIE MUST be 
    interpreted as a QName.

Misha
------------------- NewsML 2 resources ------------------------------
http://www.iptc.org         | http://www.iptc.org/std-dev/NAR/1.0
http://www.iptc.org/std-dev | http://groups.yahoo.com/group/newsml-2


To find out more about Reuters visit www.about.reuters.com

Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Reuters Ltd.

Received on Tuesday, 27 June 2006 14:07:24 UTC