
Creating a locally relevant xISBN cache
2006-05-25
OCLC has a neat service (xISBN) 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.
Yesterday 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 started the script yesterday at 6pm. It's still running (186,000 records have been associated with groups so far), and OCLC hasn't threatened me with any specific harm yet, so I'm cautiously optimistic.
Oh, and since Technorati doesn't seem to like my LiveJournal, I've decided to move all library-related blogging to this site. Here's hoping this finally shows up on the code4lib blogroll.


