W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > March 2002

Re: Fragment identifier use case (was 2002-02-25#19, Fragment identif iers, words for the primer)

From: Aaron Swartz <me@aaronsw.com>
Date: Wed, 13 Mar 2002 17:59:57 -0600
To: Ron Daniel <rdaniel@interwoven.com>
CC: RDF Core <w3c-rdfcore-wg@w3.org>
Message-ID: <B8B5441D.27823%me@aaronsw.com>
On 2002-03-13 12:40 PM, "Ronald Daniel" <rdaniel@interwoven.com> wrote:

> I took a quick look around but did not see any test cases or
> usage scenarios around this issue. Here's a case (from PRISM
> of course :-), where we have used '#'. Can you suggest how
> this should be changed so as not to use it?

Sure. 

<snip />
> <rdf:RDF xmlns:prism="http://prismstandard.org/namespaces/basic/1.0/"
>        xmlns:prl="http://prismstandard.org/namespaces/prl/1.0/"
>        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>        xmlns:dc="http://purl.org/dc/elements/1.1/">
> <rdf:Description rdf:about="http://wanderlust.com/2000/08/Corfu.jpg">
> <dc:rights  rdf:parseType="Resource"
> 
> xml:base="http://prismstandard.org/vocabularies/1.0/usage.xml">
>  <prl:usage rdf:resource="#none"/>
>  <prl:industry rdf:resource="http://prismstandard.org/vocabs/SIC/21"/>
> </dc:rights>
> </rdf:Description>
> </rdf:RDF>

Interesting that you use xml:base here.
The solution to this one is pretty easy, since all your other namespaces are
fine:

[...]
   xml:base="http://prismstandard.org/vocabularies/1.0/usage/">
   <prl:usage rdf:resource="none"/>
[...]

Or, if you don't want to create all those little files you can use special
web server features like mod_redirect, or take advantange of CGI support:

   xml:base="http://prismstandard.org/vocabularies/1.0/">
   <prl:usage rdf:resource="usage?e=none"/>

   or if your web server requires file name extensions:

   <prl:usage rdf:resource="usage.xml?e=none"/>

This one is especially nice, because you can start out with just a plain
html file named "usage" which defines all the appropriate terms, but when/if
it grows too large, switch to a CGI/script/program which only shows the
appropriate term. To make sure your server supported this, I visisted:

http://www.idealliance.org/news/2002/idea0220b.asp?e=none
And got the same result as;
http://www.idealliance.org/news/2002/idea0220b.asp

<snip/>
> The #none is intended to identify one concept, which is defined in a file
> along with a few other concepts around usage. The file's URL is
> http://prismstandard.org/vocabularies/1.0/usage.xml.

Hmm, I get a 404 at: http://prismstandard.org/vocabularies/1.0/usage.xml

> That file is defined by PRISM and looks something like:
> 
> <!-- usage.xml:  Small vocabulary of usages for PRISM Rights Language -->
> <rdf:RDF xmlns:pcv="http://prismstandard.org/namespaces/pcv/1.0/"
>        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
> <rdf:Description rdf:about="">
> 
> <pcv:Descriptor rdf:ID="none">

It looks like you're missing a line here... What's the relation between <>
and <#none>? That aside, you could replace this as:

  <pcv:Descriptor rdf:about="none">

  in the http://prismstandard.org/vocabularies/1.0/usage/ example.

Or

  <pcv:Descriptor rdf:about="usage?e=none">

  in a file named "http://prismstandard.org/vocabularies/1.0/usage"
  (or ".../usage.xml").

> How do you recommend users of the RDF spec define concepts in small
> vocabularies (which may also be in RDF) and refer to them as the
> value of an rdf:resource atttribute in RDF descriptions?

There are lots of ways to do this, and I hope my examples here have helped.
Please feel free to ask further questions.

-- 
[ "Aaron Swartz" ; <mailto:me@aaronsw.com> ; <http://www.aaronsw.com/> ]
Received on Wednesday, 13 March 2002 19:00:01 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:46:17 EDT