- From: Mark Birbeck <Mark.Birbeck@ePolitix.com>
- Date: Tue, 4 Dec 2001 10:32:35 -0000
- To: "'Jeremy Carroll'" <jjc@hplb.hpl.hp.com>, www-rdf-interest@w3.org
Jeremy Carroll wrote: > [A] (consistent correction) > <http://example.org/#test1> <rdf:value> <http://example.org/test2> . > <http://example.org/> <rdf:value> <http://example.org/#test1> . > > [B] (minimalist correction) > <http://example.org/#test1> <rdf:value> <http://example.orgtest2> . > <http://example.org> <rdf:value> <http://example.org/#test1> . > > [C] (not my job) > error I think all three are wrong! I don't understand the notion of 'correction' here. As far as I can see the URI you use in xml:base is valid as a URI (the path part is optional, after all, and the trailing slash is part of the path, not part of the authority). The only thing I can see that needs correcting is the algorithm in RFC2396 for creating an absolute path from a relative path. (5.2.6.a should have something like - if the base URI has no path, then the buffer is set to "/".) Following the steps in 5.2.6, as you rightly say gives us: http://example.orgtest2 rather than: http://example.org/test2 but that is not due to an incorrectly specified base URL, but an incorrect algorithm. So, I would see the triples generated as: <http://example.org#test1> <rdf:value> <http://example.org/test2> . <http://example.org#> <rdf:value> <http://example.org#test1> . The reasoning being: rdf:ID="test1" -> <http://example.org#test1> The base URI is valid, so needs no correction. The fragment is simply appended to the base URL. rdf:resource="test2" -> http://example.org/test2 "test2" is a relative path "/test2", which is also then appended to the base URL. This is actually the only one of your examples that causes a problem since RFC2396 doesn't actually cope very well with the situation of a base URI with no trailing slash, which then has a relative URI appended. rdf:about="" -> http://example.org# An empty rdf:about attribute means that it refers to *the start* of the document (as defined in both RDFMS and RFC2396). This means it has a fragment identifier of '#'. rdf:resource="#test1" -> http://example.org#test1 The resource refers to an ID, so the fragment is simply added to the base URL. Regards, Mark Mark Birbeck Managing Director, x-port.net Co-author Professional XML, and Professional XML Meta Data, both by Wrox Press E: Mark.Birbeck@x-port.net T: +44 20 7878 1509 M: +44 7774 102 413 W: http://www.x-port.net/
Received on Tuesday, 4 December 2001 05:30:59 UTC