On Fri, 11 Feb 2005 09:32:28 -0500, Troy Davis <[log in to unmask]> wrote:
> Is anyone using ExLibris' Aleph to create RSS feeds of new acquistions
> (note, i'm not a systems librarian, I'm just curious)
We're using Perl DBI i.e. SQL to determine the new item system
numbers, together with the Aleph x-server accessed via LWP, to provide
the bib info for our RSS lists. We also use this to feed our new books
flash ticker on our library home page.
http://www.library.nuigalway.ie
We map the x-server provided marc_oai to a subset of the Dublin Core
Metadata Element Set using an approximation of the guidelines in the
Library of Congress's MARC to Dublin Core Crosswalk, see
http://www.loc.gov/marc/marc2dc.html
We place the DC elements and data into the DC section of an RDF
formatted RSS 1.0 file. This is what a finished record looks like –
<item rdf:about="http://opac.nuigalway.ie/F?func=find-b&find_code=SYS&request=000297338">
<title>Bioinformatics : Baldi, Pierre.</title>
<link>http://opac.nuigalway.ie/F?func=find-b&find_code=SYS&request=000297338</link>
<dc:language>eng</dc:language>
<dc:creator>Baldi, Pierre.</dc:creator>
<dc:date>20040329</dc:date>
<dc:subject>Bioinformatics. Molecular biology Computer simulation.
Molecular biology Mathematical models. Neural networks (Computer
science) Machine learning. Markov processes.</dc:subject>
<dc:description>"A Bradford book." Includes bibliographical
references (p. 409-445). Introduction -- Machine-learning foundations
: the probabilistic framework -- Probabilistic modeling and inference
: examples -- Machine learning algorithms -- Neural networks : the
theory -- Neural networks : applications -- Hidden Markov models: the
theory -- Hidden Markov models: applications -- Probabilistic
graphical models in bioinformatics -- Probabilistic models of
evolution : phylogenitc trees -- Stochastic grammars and linguistics
-- Microarrays and gene expression -- Internet resources and public
databases --</dc:description>
<dc:identifier>026202506X</dc:identifier>
<dc:title>Bioinformatics : the machine learning approach / Pierre
Baldi, Sren Brunak.</dc:title>
<dc:publisher>Cambridge, Mass. : MIT Press, c2001.</dc:publisher>
</item>
Here's the OAI_MARC to DC mapping, (using Xpath expressions to
retrieve the bib info from each tag). It's not a complete mapping or
strict adherence to standard, but more than enough to get the job
done. The @id is just the relevant MARC tag and the $dc_hash a
container with corresponding compartments for each DC metadata
element.
my $field008 = $source->findnodes('//*[@id=008]');
$dc_hash{'language'} = substr ($field008, 35, 3);
$dc_hash{'identifier'} = $source->findnodes('//*[@id=020]');
$dc_hash{'title'} = $source->findnodes('//*[@id=245]');
$dc_hash{'creator'} = $source->findnodes('//*[@id=100]');
$dc_hash{'publisher'} = $source->findnodes('//*[@id=260]');
$dc_hash{'subject'} = $source->findnodes('//*[@id=650]');
$dc_hash{'subject'} .= $source->findnodes('//*[@id=610]');
$dc_hash{'subject'} .= $source->findnodes('//*[@id=600]');
$dc_hash{'subject'} .= $source->findnodes('//*[@id=611]');
$dc_hash{'subject'} .= $source->findnodes('//*[@id=653]');
$dc_hash{'subject'} .= $source->findnodes('//*[@id=630]');
$dc_hash{'description'} .= $source->findnodes('//*[@id=500]');
$dc_hash{'description'} .= $source->findnodes('//*[@id=504]');
$dc_hash{'description'} .= $source->findnodes('//*[@id=505]');
On Subject pages on our website like
http://www.library.nuigalway.ie/resources/subjects/engineering/index.html
the appropriate new books RSS list populates dynamic sidebars -created on
the fly and always up to date. We use Embperl to create our site (a
complete overhaul is currently being planned).
On the sidebars we're using sticky rollovers, which display a subset
of the DC labelled metadata. The book images, (you might have to wait
a bit to get them to resolve), come via a web-service developed a
while back that puts book images in our courtesy notices.
The whole thing happens automatically, as it is called by cron. If you
would like further details or source, let me know.
Best regards,
Peter Corrigan
On Fri, 11 Feb 2005 09:32:28 -0500, Troy Davis <[log in to unmask]> wrote:
> Hello,
>
> Is anyone using ExLibris' Aleph to create RSS feeds of new acquistions
> (note, i'm not a systems librarian, I'm just curious)
>
> Troy
>
> Ed Summers wrote:
>
> > On Thu, Feb 10, 2005 at 02:00:05PM -0600, Edward Iglesias wrote:
> >
> >>SIRSI is indeed working on the issue but what I was hoping for was a
> >>relatively simple solution. Every month we send out lists of newly
> >>cataloged books to our "Academic Liaisons". I already have the list in
> >>plain text. I was simply looking for a quick and dirty way to turn it
> >>into an RSS feed.
> >
> >
> > If your data is in plain text you'll probably have to write your own custom
> > text reader to generate the RSS.
> >
> > If you can get your data out in a structured format, like MARC lets say
> > you can write a program like this:
> >
> > #!/usr/bin/env python
> >
> > import sys
> > import PyRSS2Gen
> > import pymarc
> >
> > input = sys.argv[1]
> > output = input + ".xml"
> >
> > title = "New Books"
> > url = "http://new-books-list.edu"
> > desc = "This is a list of new books, Enjoy!"
> >
> > rss = PyRSS2Gen.RSS2( title, url, desc )
> > batch = pymarc.MARCReader( input )
> >
> > for record in batch:
> > isbn = record.isbn()
> > rss.items.append( PyRSS2Gen.RSSItem( \
> > title = record.title(),
> > link = "http://link-to-opac.edu?isbn=%s" % isbn ) )
> >
> > rss.write_xml( file(output, "w") )
> >
> > There are lots of ways to skin this cat (chisel this wheel?), but I'd try to
> > work with structured data (MARC, XML, tab delmited, whatever) rather than
> > vanilla plain text if you can.
> >
> > //Ed
>
> --
> M. Troy Davis
> Media Services Librarian
> University of Tennessee Libraries :: The Studio
> 245 John C. Hodges Library
> Knoxville, TN 37996
> (865)974-4726
> [log in to unmask]
> http://www.lib.utk.edu/mediacenter/studio
>
>
--
Peter Corrigan
Head of Library Systems
National University of Ireland, Galway
Office: +353-91-492497
Mob: +353-87-2798505
[log in to unmask]
|