W3C home > Mailing lists > Public > public-rdf-in-xhtml-tf@w3.org > December 2007

Re: CURIE syntax thoughts + @instanceof semantics

From: Ivan Herman <ivan@w3.org>
Date: Mon, 17 Dec 2007 13:58:11 +0100
Message-ID: <47667263.1030104@w3.org>
To: Mark Birbeck <mark.birbeck@x-port.net>
Cc: W3C RDFa task force <public-rdf-in-xhtml-tf@w3.org>
Mark,

I must say I do not fully agree with you. You said in one of your mail
that you are usually accused of being pedantic:-), well, it is my turn:-)...

The fundamental issue is: a bnode is _not_ a special URI, if one looks
at the RDF semantics. Yes, usually it is _used_ as a unique URI, but for
semantics people it is certainly different (Bnodes are existential
variables). Believe me, you would make lots of people very happy if you
were right:-)

That also means RDFa, in my view, _does_ impose an extra semantics on
top of CURIE. If, seeing the following code:

<span about="[_:a]" rel="a:b" resource="c:d"/>

an RDFa processor generated

<SOMEUNIQUEURI> a:b c:d.

instead of

[] a:b c:d.

this would be, strictly speaking, an error, because RDFa defines _:a as
a _blank node_. As long as RDFa is used for plain RDF, it does not
really matter in practice, but if it is used to encode statements that
are related to some complex OWL-DL ontology, it begins to matter in
theory (again, in 99% of the practical cases it does not...).

That is why I also said: we already define an extra semantics on top of
CURIE-s, ie, adding an extra semantics for "_:" is not a big step.

Having said that: my real goal, obviously, is to solve the @instanceof
issue which is still open for me:-(

Ivan

P.S. Regardless of the "_:" issue: this drew my attention on the fact
that the CURIE syntax description in the RDFa syntax carefully avoids
the usage of the term 'BNode'. I think it should not. This seems to be a
general CURIE term that has a very specific 'mapping' if used in a
specific context like RDFa...

Mark Birbeck wrote:
> Hi Ivan,
> 
>> 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).
> 
> The whole point of my post was to explain that we actually *don't* do
> anything special in RDFa with respect for CURIEs. :) Thanks for
> bringing this out though, because I realise now that the CURIE draft
> is not up-to-date in this regard.
> 
> As we know, CURIEs deals in mappings from one string to another. One
> way of creating a mapping is by using @xmlns, but there are other
> ways, and in fact, the CURIE spec is agnostic about how you get your
> mappings.
> 
> All the CURIE spec does is to say that if you have a mapping for
> "foaf", then the following CURIE:
> 
>   foaf:name
> 
> would become a URI that is the concatenation of the value in the map
> for "foaf", and the URI "name".
> 
> Now, bnodes are actually nothing special in the world of URIs. All
> they are is identifiers that are internally consistent, but not
> available globally. So if a CURIE processor were to initialise it's
> mapping tables with an entry for "_" which maps to
> "bnode:url-of-the-document#", or any other algorithm you can think of
> to get a unique identifier, then all is well. Then the CURIE:
> 
>   _:a
> 
> will map to:
> 
>   bnode:url-of-the-document#a
> 
> This means, by the way, that CURIEs will 'just work' in other
> languages such as SPARQL.
> 
> (I'm aware that the set of bnodes is supposed to be disjoint with the
> set of URIs, but since a URI can be just about anything, this is nigh
> on impossible to achieve in practice. So the next best thing is to
> devise a class of URIs that are so unlikely to ever occur in real life
> as to be for all intents and purpose, disjoint from the set of URIs.)
> 
> 
>> So I do not think why we
>> would not agree to add some special semantics to "_:" (at least in
>> RFDa).
> 
> Because, firstly, the idea of unique identifiers in CURIEs is not
> unique to RDFa, and secondly, there are no special semantics for
> CURIEs in RDFa.
> 
> 
>> It does sound like a good idea, it fills a 'hole' in usage...
> 
> I agree with you there. It's just that, as I tried to say before, the
> syntax you are proposing already means something and is consistent.
> It's not 'available', I'm afraid.
> 
> 
>> 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.
> 
> Yes, I agree. It's exactly the same problem with @id in XML. But we
> may not be able to fix this, in this version of RDFa, although I would
> hope that nothing we do now will prevent us from fixing it in the
> future.
> 
> 
>> With the usage of "_:' it is.
> 
> With the usage of some appropriate syntax, it is. ;) Not this one, though.
> 
> Regards,
> 
> Mark
> 

-- 

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 12:58:17 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:15:19 GMT