Re: Questions regarding best practice: Use fragments as entity identifiers

On 14 Aug 2013, at 23:39, Cody Burleson wrote:

> Team, 
> 
> I could use a little help fleshing out a spot in the LDP Best Practices and Guidelines.
> 
> One of the recommendations in the Deployment Guide was written in the wiki as follows:
> 
> ---
> Use fragments as entity identifiers
> 
> Fragments are nice because they can be expressed as relative URIs on the document describing them.
> ---
> 
> I'm not sure who first wrote that, but if you could provide me with more detail, it would be helpful. Or anybody, for that matter.

It may have been me.

Scenario:

- You want to describe a number of resources (say: foo, bar and baz)
- You need to mint URIs for these resources
- Putting all the descriptions into a single document (say: <http://example.com/stuff.ttl>) is acceptable

Then minting hash URIs is a very convenient approach. Simply use <#foo>, <#bar> and <#baz>. The result are nice dereferenceable URIs, <http://example.com/stuff.ttl#foo> and so on.

Thanks to the logic of URI resolution, the simple local identifier <#foo> gets turned into a globally unique ID. It becomes globally unique by being qualified with the URI of the document it is used in.

With other approaches, achieving the same result (three dereferenceable URIs) would probably be more involved, because you'd need to create and publish multiple documents, perhaps set up 303 redirects and whatnot.

The sweet spot for this approach is for a handful of resources that frequently are used together. That's why most RDFS vocabularies and OWL ontologies use this approach.

Relevant W3C references:
http://www.w3.org/TR/cooluris/#hashuri
http://www.w3.org/TR/cooluris/#choosing

Best,
Richard


> 
> I understand the use of fragments in RDF. It's how I define properties on an Instance in OWL, for example. If I have a representation of a Person (Instance of Person), the fragment #hasName represents the hasName property of that Person which may or may not be defined in the same RDF document.
> 
> But is it really a Best Practice? Or simply a Guideline? There is some somewhat confusing debate on the web.
> 
> Also, can you represent why it is a useful practice using an example representation of a resource?
> 
> What do you think we really need to say here to make this point a little more meaningful?
> 
> 
> 
> -- 
> Cody Burleson
> 

Received on Wednesday, 14 August 2013 23:48:02 UTC