Re: CURIE syntax thoughts + @instanceof semantics

Hi Mark,

Mark Birbeck wrote:
> 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.
> 

Ah. Maybe it is worth putting an example into the RDFa document, too. It
was a bit misleading to me at least...
[snip]
> 
>> 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.
> 

I understand (and I agree!)

> 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.)
> 

Well... We already add some extra semantics (including in the pure CURIE
syntax) to "_:a"; we talk about globally unique value, which is
something special (let alone in RDFa term). So I do not think why we
would not agree to add some special semantics to "_:" (at least in
RFDa). It does sound like a good idea, it fills a 'hole' in usage...

Regardless of the @instanceof: at the moment, if we use "_:a" to
generate a BNode, that portion of the code, as we all know, is not
necessarily copy-pastable. With the usage of "_:' it is.

Ivan


> Regards,
> 
> Mark
> 
> [1] <http://www.w3.org/TR/curie/>
> 

-- 

Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Monday, 17 December 2007 08:43:18 UTC