W3C home > Mailing lists > Public > public-lod@w3.org > May 2010

Re: [Virtuoso-users] [Fwd: How to serve hash URIs from a (Virtuoso) SPARQL endpoint?]

From: Kingsley Idehen <kidehen@openlinksw.com>
Date: Wed, 19 May 2010 10:02:07 -0400
Message-ID: <4BF3EF5F.1010909@openlinksw.com>
To: Christoph LANGE <ch.lange@jacobs-university.de>
CC: Hugh Williams <hwilliams@openlinksw.com>, Virtuoso Users List <virtuoso-users@lists.sourceforge.net>, "public-lod@w3.org" <public-lod@w3.org>, "nikita.zhiltsov@gmail.com" <nikita.zhiltsov@gmail.com>, "Zholudev, Vyacheslav V." <v.zholudev@jacobs-university.de>
Christoph LANGE wrote:
> Hi Hugh,
> [@Nathan, thanks for forwarding it to the Virtuoso list; I subscribed there
> now, but I thought the question might also be of a more general interest
> w.r.t.  deploying hash URIs.]
> 2010-05-19 14:51 Hugh Williams <hwilliams@openlinksw.com>:
>> The following Virtuoso Linked Data Deployment Guide details how hash URIs can be handled by the server using transparent content negotiation:
>> 	http://www.openlinksw.com/virtuoso/Whitepapers/html/vdld_html/VirtDeployingLinkedDataGuide.html
>> Which would also apply to the data you are attempting to publish ...
> Thanks, I had looked there before, but got the impression that that guide only
> deals with the very special case of the "this" pseudo fragment ID, i.e. a
> workaround of introducing hash URIs to facilitate content negotiation.  I got
> that impression because the guide talks about http://.../ALFKI#this, where
> "ALFKI" is the entity of interest.  Please let me know if I got something
> wrong.
> In our situation, we have many entities of interest, with the following URIs:
> http://.../document (without fragment)
> http://.../document#fragment1
> http://.../document#fragment2
> ...
> and when a client requests RDF/XML from http://.../document, the client should
> get a document that contains all triples for http://.../document,
> http://.../document#fragment1, http://.../document#fragment2, etc.
> (Note that we were not free to choose this URI format; it was given before we
> went "linked data".)
> Cheers, and thanks,
> Christoph

Linked Data Deployment via Virtuoso is just about URL rewrite rules that 
map to SPARQL DESCRIBE or CONSTRUCTs plus the ability to leverage 
Transparent Content Negotiation (TCN) Quality of Service (QoS) algorithms.

I am going to revisit the docs examples to double check why you may have 
been confused.

As we've done with SQL to RDF Views, there will soon be a Linked Data 
Deployment Wizard. It will make you fill in the blanks en route to 
performing the following (since the current UI is still somewhat 

1. Set URL {PATH} and {QUERY} patterns via regex
2. Identify Named Graph associated with target triples
3. Determine the scheme of your Entity identifier (here there will be 
options for  default or 3rd party custom resolvers since Virtuoso isn't 
HTTP scheme specific)
4. If Identifier is HTTP scheme based, determine type (# or slash 
terminated); if slash then it will automatically handle the requisite 
303 identifier disambiguation via redirect (since the Entity and its 
Descriptor Doc are both slash terminated HTTP URIs)
3. Set your SPARQL CONSTRUCT or DESCRIBE patterns via templates with 
{Rule-Result-URI Pattern} FROM {GRAPH-IRI}
4. Associate #3 with TCN QoS algorithms to handle the different 
representation formats
5. Done!



Kingsley Idehen	      
President & CEO 
OpenLink Software     
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen 
Received on Wednesday, 19 May 2010 14:03:10 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:29:48 UTC