Notes and use cases

I was reviewing the draft and for the Documentation Properties it lists three use cases: RDF literal, related resource description, and document reference.  The use cases look like:

RDF literal
<skos:example>Example text.</skos:example>

Related resource description
<skos:example rdf:parseType='Resource'>
  <rdf:value>Example text.</rdf:value>
  <dc:date>2005-11-19<dc:date>
</skos:example>

Document reference
<skos:example rdf:resource='http://example.org/doc-2005-11-19.txt'/>


It occurred to me that people may wish to embed XHTML as part of their documentation property, e.g., note, example, etc.  Recently I was converting a word list to SKOS and I wanted to do this.  What I wanted to do was the following:

    <skos:example rdf:parseType="Literal" xml:lang='en'>
      <blockquote>
        <p>But now people are exposing their taste in music -- or hopeless lack thereof -- at workplaces, college campuses and coffee shops, thanks to iTunes's ability to share music over a network. Similarly, a quick gander at someone's iPod reveals the same information.</p>
        <p>This has lead to a new kind of music snobbery called <strong>playlistism</strong>. Music snobs amuse themselves by laughing at a colleague's collection of showtunes, or the hopelessly pretentious jazz of the goatee-ed guy at the other end of the dorm.</p>
      </blockquote>
      <cite>--Leander Kahney, "The Cult of iPod," <em>Playlist</em>, November 2, 2005</cite>
    </skos:example>

The above use case is valid RDF [all namespace were specified on the rdf:RDF element], but it isn't one of the use cases found in the draft.  This new use case is similar to the RDF literal use case.  Should this new use case be added to the SKOS?

After creating the above skos:example it occurred to me that I also wanted to break out the citation information so it would be more structured.  So I changed the example to be:

    <skos:example rdf:parseType="Resource" xml:lang='en'>
      <rdf:value>
        <blockquote>
          <p>But now people are exposing their taste in music -- or hopeless lack thereof -- at workplaces, college campuses and coffee shops, thanks to iTunes's ability to share music over a network. Similarly, a quick gander at someone's iPod reveals the same information.</p>
          <p>This has lead to a new kind of music snobbery called <strong>playlistism</strong>. Music snobs amuse themselves by laughing at a colleague's collection of showtunes, or the hopelessly pretentious jazz of the goatee-ed guy at the other end of the dorm.</p>
        </blockquote>
        <cite>--Leander Kahney, "The Cult of iPod," <em>Playlist</em>, November 2, 2005</cite>
      </rdf:value>
      <dc:creator>Leander Kahney</dc:creator>
      <dc:title>The Cult of iPod</dc:title>
      <dc:publisher>Playlist</dc:publisher>
      <dc:date>2005-11-02</dc:date>
    </skos:example>

The above case isn't valid RDF, according to the W3 validator, but I think it is a valid use case as well.  While trying to figure out how I might make the above valid RDF, I added the attribute rdf:parseType='Literal' to the rdf:value element.  To my surprise, I'm by far not an RDF expert, it produced valid RDF.  I guess that I'll have to go back and re-read the RDF spec for the 100th time, but I was under the impression that rdf:value could not contain attributes and had to contain text content only.  I think the SKOS document would benefit by placing a second example under the related resource description use case showing that you could do the following (fill in the comments with appropriate stuff):

<skos:example rdf:parseType='Resource'>
  <rdf:value rdf:parseType='Literal'>
    <!-- XML elements -->
  </rdf:value>
  <!-- properties -->
</skos:example>


Andy.

Received on Sunday, 20 November 2005 03:56:03 UTC