W3C home > Mailing lists > Public > semantic-web@w3.org > May 2013

Re: non opaque primary topics

From: Tim Berners-Lee <timbl@w3.org>
Date: Wed, 8 May 2013 20:28:16 -0400
Cc: Semantic Web <semantic-web@w3.org>
Message-Id: <21C39D50-8BC0-4CAB-BCCB-9B25B4152F6D@w3.org>
To: Melvin Carvalho <melvincarvalho@gmail.com>


On 2013-05 -07, at 17:08, Melvin Carvalho wrote:

> the standard model in sem web seems to be
> 
> <> foaf:primaryTopic <#relative-uri>
> 
> I've seen 4 relatively common relative URIs used here and there
> 
> 1. #me -- common in foafs
> 2. #i -- often used by timbl and tobyink
> 3. #this -- used by kingsley as per the 'this' keyword in OO
> 4. # -- used by facebook and others
> 
> It's a very common case that a document will contain one primary topic and I want to standarize all of my pages (mainly robots) into one of these 4.
> 
> It seems to me that (4) is the most sensible choice, after "it doesnt matter".
> 
> Does anyone have any preference here?

A URI takes the form 

	  <document identifier>  #  <local identifier>
or
	  <document identifier> 

The point about this is that all kinds of languages can talk
about the same thing in different ways.   To get interopabiliity,
though, you have to stick to a limited set of local identifiers which
will work in any language.

So having the empty string as a local identifier does
in fact work in RDF.  But it is a pain.

You can't use qnames with an empty localid:

> 1. :me -- common in foafs
> 2. :i -- often used by timbl and tobyink
> 3. :this -- used by kingsley as per the 'this' keyword in OO


Ooops! facebook's empty localid isn't allowed as a localid.

That means also when machines later re-serialize your data,
they won't be able to use the qname syntax.

Of course lots of other languages have restrictions that 
identifiers have length  > 0.

So, while for facebook I'm not complaining that they
are using turtle, I wouldn't advice anyone to use an empty localid.

Of the other 3 forms, take your pick.   I must say I  used
:i but I find it less easy to explain than :me. Another possibility
 for a FOAF file is #timbl  which might have
read better when explaining to a class.

But as someone else said the string you use does not
is opaque in the system and so :x or :it   is fine.  
I quite like :it if you are generating stuff automatically.



Tim
Received on Thursday, 9 May 2013 00:28:22 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:33 UTC