CURIE syntax: prefix separator required or not?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

CURIE syntax: prefix separator required or not?

Dan Connolly
My quick-n-dirty implementation of CURIEs failed test 0091,
so now I'm looking in detail, but I'm getting different
signals from different parts of the spec:

In 5.4.3.
http://www.w3.org/TR/rdfa-syntax/#s_convertingcurietouri

we see:

[[
Since non-CURIE values MUST be ignored, the following value in @about
would not set a new subject, since the CURIE has no prefix separator.

<div about="[Albert_Einstein]">
  ...
</div>
]]

but section 7. CURIE Syntax Definition
http://www.w3.org/TR/rdfa-syntax/#s_curies

specifies that "Albert_Einstein" *is* a CURIE:

  curie       :=   [ [ prefix ] ':' ] reference

It even gives an example with no prefix separator:

 * a mapping to use with the default prefix (for example, :p);
 * a mapping to use when there is no prefix (for example, p);


Meanwhile, there's this text just above the CURIE grammar
and those two examples, which contradicts them:

  A CURIE is comprised of two components, a prefix and a reference.
  The prefix is separated from the reference by a colon (:).


Which parts of the spec are right? ;-)

--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
gpg D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E


Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: CURIE syntax: prefix separator required or not?

Shane McCarron
Both.  The CURIE spec is generic.  However, if you look just SLIGHTLY
further in section 7 you will see:

In RDFa these values are defined as follows:

    * the *set of mappings from prefixes to URIs* is provided by the
      current in-scope prefix declarations of the [current element
      <http://www.w3.org/TR/rdfa-syntax/#T_current_element>] during parsing;
    * the *mapping to use with the default prefix* is the current
      default prefix mapping;
    * the *mapping to use when there is no prefix* is not defined, which
      effectively prohibits the use of CURIEs that do not contain a colon;
    * the *mapping to use with the '_' prefix*, is not explicitly
      stated, but since it is used to generate [bnode
      <http://www.w3.org/TR/rdfa-syntax/#T_bnode>]s, its implementation
      needs to be compatible with the RDF definition.

In other words, while the generic CURIE syntax permits no prefix, in
RDFa that is not permitted.

Hope this helps.


Dan Connolly wrote:

> My quick-n-dirty implementation of CURIEs failed test 0091,
> so now I'm looking in detail, but I'm getting different
> signals from different parts of the spec:
>
> In 5.4.3.
> http://www.w3.org/TR/rdfa-syntax/#s_convertingcurietouri
>
> we see:
>
> [[
> Since non-CURIE values MUST be ignored, the following value in @about
> would not set a new subject, since the CURIE has no prefix separator.
>
> <div about="[Albert_Einstein]">
>   ...
> </div>
> ]]
>
> but section 7. CURIE Syntax Definition
> http://www.w3.org/TR/rdfa-syntax/#s_curies
>
> specifies that "Albert_Einstein" *is* a CURIE:
>
>   curie       :=   [ [ prefix ] ':' ] reference
>
> It even gives an example with no prefix separator:
>
>  * a mapping to use with the default prefix (for example, :p);
>  * a mapping to use when there is no prefix (for example, p);
>
>
> Meanwhile, there's this text just above the CURIE grammar
> and those two examples, which contradicts them:
>
>   A CURIE is comprised of two components, a prefix and a reference.
>   The prefix is separated from the reference by a colon (:).
>
>
> Which parts of the spec are right? ;-)
>
>  

--
Shane P. McCarron                          Phone: +1 763 786-8160 x120
Managing Director                            Fax: +1 763 786-8180
ApTest Minnesota                            Inet: [hidden email]



Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: CURIE syntax: prefix separator required or not?

Dan Connolly
On Mon, 2010-02-08 at 15:43 -0600, Shane McCarron wrote:

> Both.  The CURIE spec is generic.  However, if you look just SLIGHTLY
> further in section 7 you will see:
>
> In RDFa these values are defined as follows:
>
>     * the *set of mappings from prefixes to URIs* is provided by the
>       current in-scope prefix declarations of the [current element
>       <http://www.w3.org/TR/rdfa-syntax/#T_current_element>] during parsing;
>     * the *mapping to use with the default prefix* is the current
>       default prefix mapping;
>     * the *mapping to use when there is no prefix* is not defined, which
>       effectively prohibits the use of CURIEs that do not contain a colon;
>     * the *mapping to use with the '_' prefix*, is not explicitly
>       stated, but since it is used to generate [bnode
>       <http://www.w3.org/TR/rdfa-syntax/#T_bnode>]s, its implementation
>       needs to be compatible with the RDF definition.
>
> In other words, while the generic CURIE syntax permits no prefix, in
> RDFa that is not permitted.

Still, the wording "Since non-CURIE values MUST be ignored" is broken,
right? "Albert_Einstein" is not a non-CURIE value; it's a CURIE
value with no prefix.

Also, in the generic case, this text is broken, right?

   A CURIE is comprised of two components, a prefix and a reference.
   The prefix is separated from the reference by a colon (:).


>
> Hope this helps.
>
>
> Dan Connolly wrote:
> > My quick-n-dirty implementation of CURIEs failed test 0091,
> > so now I'm looking in detail, but I'm getting different
> > signals from different parts of the spec:
> >
> > In 5.4.3.
> > http://www.w3.org/TR/rdfa-syntax/#s_convertingcurietouri
> >
> > we see:
> >
> > [[
> > Since non-CURIE values MUST be ignored, the following value in @about
> > would not set a new subject, since the CURIE has no prefix separator.
> >
> > <div about="[Albert_Einstein]">
> >   ...
> > </div>
> > ]]
> >
> > but section 7. CURIE Syntax Definition
> > http://www.w3.org/TR/rdfa-syntax/#s_curies
> >
> > specifies that "Albert_Einstein" *is* a CURIE:
> >
> >   curie       :=   [ [ prefix ] ':' ] reference
> >
> > It even gives an example with no prefix separator:
> >
> >  * a mapping to use with the default prefix (for example, :p);
> >  * a mapping to use when there is no prefix (for example, p);
> >
> >
> > Meanwhile, there's this text just above the CURIE grammar
> > and those two examples, which contradicts them:
> >
> >   A CURIE is comprised of two components, a prefix and a reference.
> >   The prefix is separated from the reference by a colon (:).
> >
> >
> > Which parts of the spec are right? ;-)
> >
> >  
>


--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
gpg D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E


Loading...