Creating a locally relevant xISBN cache

May 24, 2006 17:21

OCLC has a neat service that will tell you what ISBNs are associated with other editions of a given work. For example, if you ask it about the ISBN representing the hardcover edition, it will tell you the ISBNs for the paperback, the large print edition, the Braille edition, and so on.

I have a MySQL database that contains a slice of our Horizon database. It includes every ISBN in our library catalog.

Today I wrote a Perl script that goes through a list of all the ISBNs in our catalog and asks the xISBN server what other ISBNs are associated with each one.

Then it compares each resulting list of ISBNs to the ones already on our system. It assigns a group ID to each cluster so that I can later write a script that does a sort of localized xISBN query on the cached results. This way we can get only the ISBNs relevant to our catalog so that we can generate an Amazon-like list of references to other versions in our catalog. In fact, just for the sake of standards (and bloody-mindedness) I think I'll write an xISBN interface for our little cached slice of the world.

Our OPAC, SirsiDynix's HIP, is reasonably customizable, but I think this goes beyond what they planned for. So, following DaveyP's advice, I'll learn some AJAX to inject the links into the catalog's web page.

To paraphrase Zippy the Pinhead: Are we Library 2.0 yet?

I've started the script. There are approximately 500,000 ISBNs in our system. This will take a while. I'm going home. code4lib, pray I haven't messed something up.

Oh, and just in case... the main contact for the xISBN service has my cell phone number.

work, perl

Previous post Next post
Up