W3C home > Mailing lists > Public > www-tag@w3.org > October 2003

Re: New RDDL draft

From: Jonathan Borden <jonathan@openhealth.org>
Date: Wed, 01 Oct 2003 18:07:18 -0400
Message-ID: <3F7B5016.9030201@openhealth.org>
To: Dan Connolly <connolly@w3.org>
Cc: Tim Bray <tbray@textuality.com>, WWW-Tag <www-tag@w3.org>, "Sean B. Palmer" <sean@mysterylights.com>

Dan Connolly wrote:

>I didn't grok this when I initiall scanned it.
>Tonight I read it slowly and I still don't grok;
>hence some clarifying questions...
Below is a simple example.

Suppose an XML namespace "http://example.org/foo#"

>>Assume a RDDL fragment (from Tim's most recent draft):
>><a rddl:nature="http://www.rddl.org/"
>>   rddl:purpose="http://www.rddl.org/purposes#directory"
>>   href="http://www.rddl.org/natures">http://www.rddl.org/natures</a>
This namespace URIref is resolved to the URI: http://example.org/foo 
which is the base URI for the RDDL document:

<html xmlns:rddl="http://www.rddl.org/"
       <title>http://example.org/foo# namespace document</title>
          <p>A directory of natures for the namespace 
http://example.org/foo# is located
            <a  id="natures"
            >here</a>. And
            >here</a> is an XSLT that converts "foo" to "bar".

>>1. The subject of an RDF statement is derived in the following fashion:
>>2. If the there is an _id_ attribute e.g. <a id="foo" ...> this should 
>>be the fragment identifier of the RDF subject URI.
i.e. the above <a id="natures"> has  an RDF  subject: 

>>3. The URI part of the RDF subject URI should be the current base URI 
>current... you're starting to lose me there.
Just base URI, now let's look at the subject for the second statement 
(no id attribute)

Well it's supposed to be the namespace name -- that seems to make the 
most sense, that the RDF subject of things said in a namespace document 
would be the namespace name, but there is no way to "access" the 
namespace name from the RDDL document, the closest we can get is the 
_base URI_ e.g.

1) <http://example.org/foo> <http://example.org/bar> 
<http://www.example.org/foo/foo2bar.xslt> .

Here I am suggesting that the *rddl:purpose* becomes the *RDF 
predicate*. Whatever is the rddl:purpose is the RDF predicate, and 
whatever is the RDDL href is the RDF object -- this is all according to 
original XLink2RDF W3C Note by Ron Daniel, and according to the original 
RDDL XLink version.
 From this we also get a second triple (corresponding to the rddl:nature):

2) <http://www.example.org/foo/foo2bar.xslt> rdf:type 
<http://www.w3.org/1999/XSL/Transform> .

You see the problem is that for the statement 1) the subject is 
<http://example.org/foo> not the namespace name 
<http://example.org/foo#> because both URIs resolve to the same _base 
URI_ (unless the base URI is made explicit in the RDDL document ??) i.e. 
should we mandate the namespace name be specified as:

<html xml:base="http://example.org/foo#">


>>4. The predicate is the value of the _rddl:purpose_ attribute.
>>5. The object is the value of the _href_ attribute.
>>6. If a rddl:nature attribute is present, this generates a second triple 
>>of the form:
>>[value of href] rdf:type [value of rddl:nature]
>>This generally works but stumbles when a namespace name is not simply an 
>>absolute URI, rather contains a '#' either an ending '#' or a fragment 
>>identifier part.
>Which of the things above corresponds to the namespace name here?
That is the problem Dan, there is no specification for where the 
namespace name is to be embedded in the RDDL document. I am pointing 
this out and explaining that the base URI (not explicitly specified) 
doesn't work because the trailing "#" and fragid are stripped.

>>That is to say, suppose a namespace name of the typical RDF type e.g. 
>OK, now I'm totally lost. Where do I plug that namespace
>name into the example framework above?
Does that help? I am saying that there is a currently a potential 
problem because a piece of software has no place to _get_ the namespace 
name. Once it is obtained, the namespace name is the *subject* of any 
RDF statements as long as the <a> as no _id_ atttribute, and when there 
is an _id_ attribute, that is used as the fragid of the subject (and the 
namespace name provides the URI part of the RDF subject).


>>The problem is that a user agent will strip off the ending '#' when 
>>dereferencing the URIref and the base URI will simply be 
>><http://example.com/rdf>. How do we tell the software performing the 
>>RDDL -> RDF transformation that the intended namespace is actually 
>><http://example.org/rdf#> as opposed to <http://example.org/rdf> when 
>>the RDDL document itself does not contain this information?
>Sorry, I need more clues.
>Could you flesh out more of the details and use a more
>concrete example please?
>> Do we need a 
>>specific attribute e.g. rddl:namespace="http://example.com/rdf#" which 
>>states the one and only namespace described by the specific RDDL 
>>document (you see the problem that each RDDL document would only be able 
>>to describe a single namespace in this case).
>>Am I missing a straightforward way to tell the software what the correct 
>>intended subject of the RDF statement is without embedding this in the 
>>document itself?
Received on Wednesday, 1 October 2003 18:07:40 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:32:40 UTC