[OAI-implementers] rdf

Eric Lease Morgan eric_morgan@ncsu.edu
Mon, 30 Apr 2001 07:16:07 -0400


In a mad flash of creativity (I get these every once in a while), I have
implemented about 80% of the OAI against the Mark Twain records of my Alex
Catalogue of Electronic Texts, and I am wondering whether or not (or how) I
can use RDF in the content of my metadata GetRecords response element. See:

  http://www.infomotions.com/alex/oai/

My OAI implementation is still bare-bones. I don't necessarily return the
correct error codes, etc., and I have yet to fully implement some of the
verbs such as ListRecords and ListSets.

As per the protocol, I have implemented a Dublin Core metadata scheme, but
like everybody else, Dublin Core is not quite rich enough for me. Each item
in the Catalogue is associated with a few functions such as a concordance,
make ebook, make PDF document, and freeWAIS index. For you RDF fans, you can
see what I mean by looking at a sample RDF description of a record:

  http://bliss.lib.ncsu.edu/xml/rdf/twain-30-44.xml

Is there some mechanism whereby I can insert RDF into the metadata element
of a GetRecord request so I can crawl my site with an as-of-yet-created OAI
harvester, save the RDF with something like rdfdb, RDFStore, or Redland, and
then finally serve out my content again? A possible GetRecord response could
look like this:

<?xml version="1.0"?>
<GetRecord xmlns="http://www.openarchives.org/OAI/1.0/OAI_GetRecord"
 xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
 xsi:schemaLocation="http://www.openarchives.org/OAI/1.0/OAI_GetRecord
 http://www.openarchives.org/OAI/1.0/OAI_GetRecord.xsd">
 <responseDate>2001-04-30T07:24:56-7:00</responseDate>
 <requestURL>http://www.infomotio...30-44</requestURL>
 <record>
  <header>
   <identifier>twain-30-44</identifier>
   <datestamp>1999</datestamp>
  </header>
  <metadata>
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:alex="http://bliss.lib.ncsu.edu/xml/rdf/alex-01-rdf-ns#">
    <rdf:Description rdf:about="http://www....erature/am...44.txt">
     <dc:identifier>twain-30-44</dc:identifier>
     <dc:creator>Twain, Mark</dc:creator>
     <dc:title>$30,000 Bequest And Other Stories, The</dc:title>
     <dc:source rdf:resource="gopher://.../Classic/bequest.mt" />
     <dc:format>text/plain</dc:format>
     <dc:publisher>Project Gutenburg</dc:publisher>
     <dc:type>text</dc:type>
     <dc:language>en-US</dc:language>
     <dc:rights>This document in the the Public Domain.</dc:rights>
     <alex:hasIndex rdf:resource="http://ww...sDatabase=twain-30-44" />
     <alex:hasConcordance rdf:resource="ht..nce&amp;bookcode=twain-30-44" />
     <alex:makeEbook rdf:resource="http://www.info...andle=twain-30-44" />
     <alex:makePDF rdf:resource="h...cgi-bin/pdf.pl?handle=twain-30-44" />
     <dc:relation rdf:resource="http://www.infomotions.com/alex/" />
    </rdf:Description>
   </rdf:RDF>
  </metadata>
 </record>
</GetRecord>

Inquisitive minds would like to know.

-- 
Eric Lease Morgan
Digital Library Initiatives, NCSU Libraries
http://www.lib.ncsu.edu/staff/morgan/