- From: Dan Brickley <danbri@danbri.org>
- Date: Thu, 28 Jan 2010 21:36:52 +0100
- To: Ross Singer <rossfsinger@gmail.com>
- Cc: Linked Data community <public-lod@w3.org>
On Thu, Jan 28, 2010 at 7:56 PM, Ross Singer <rossfsinger@gmail.com> wrote: > Hi, I have a question about something I've run across when trying to > parse the RDF coming from the BBC. If you take a document like: > > http://www.bbc.co.uk/music/artists/72c536dc-7137-4477-a521-567eeb840fa8.rdf > > notice how all of the URIs are paths, but there's no xml:base to > declare where these actual paths may reside. > > If I point rapper at that URI, it brings me back fully qualified URIs: > <http://www.bbc.co.uk/music/artists/72c536dc-7137-4477-a521-567eeb840fa8#artist> > > but the only way I can figure it's able to do that is for the parser > and the HTTP agent to be in cahoots somehow, which seems like a > breakdown in the separation of concerns -- this document is useless, > except in the context of living on www.bbc.co.uk. The moment I cache > it to my local system, if I'm understanding it correctly, it's now > asserting these things about my filesystem (effectively). Rapper now > says: > <file:///music/artists/72c536dc-7137-4477-a521-567eeb840fa8#artist> > > So my questions would be: > 1) Is this "valid"? > 2) If so, is there an expectation of the parser being aware of the URI > of retrieval? (I have written my own set of parsers, so I'd need to > rethink this assumption, if so) > 3) How do other client libraries handle this? Hi Ross, The relevant specs are http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#section-Syntax-ID-xml-base "The XML Infoset provides a base URI attribute xml:base that sets the base URI for resolving relative RDF URI references, otherwise the base URI is that of the document. The base URI applies to all RDF/XML attributes that deal with RDF URI references which are rdf:about, rdf:resource, rdf:ID and rdf:datatype." http://www.faqs.org/rfcs/rfc2396.html which specifies relative URI processing given a base URI. I think most of what you need is in :5.1. Establishing a Base URI" there. cheers, Dan
Received on Thursday, 28 January 2010 20:37:25 UTC