- From: Jonathan Borden <jonathan@openhealth.org>
- Date: Wed, 01 Oct 2003 18:07:18 -0400
- 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/" ...> <head> <title>http://example.org/foo# namespace document</title> </head> <body> <p>A directory of natures for the namespace http://example.org/foo# is located <a id="natures" rddl:nature="http://www.rddl.org/" rddl:purpose="http://www.rddl.org/purposes#directory" href="http://www.example.org/foo/natures.rddl" >here</a>. And <a rddl:nature="http://www.w3.org/1999/XSL/Transform" rddl:purpose="http://example.org/bar" href="http://www.example.org/foo/foo2bar.xslt" >here</a> is an XSLT that converts "foo" to "bar". </p> </body> >>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: http://www.example.org/foo#natures >>3. The URI part of the RDF subject URI should be the current base URI >>(absolute). >> >> > >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. >><http://example.com/rdf#>. >> >> > >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). Jonathan > > > >>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? >> >>Jonathan >> >>
Received on Wednesday, 1 October 2003 18:07:40 UTC