LibraryThing免费提供百万图书封面

    LibraryThing在8月初收录图书超过了三千万(册,愈350万种),而用户上载的图书封面也超过了一百万,于是Tim Spalding秉承一贯的开放数据理念,开始提供图书封面API,面向图书馆、书店及所有人。图书馆OPAC又多了一个封面来源。

    使用该服务要求注册一个LibraryThing帐号,并获取一个Developer Key,然后用ISBN即可获取封面。封面有大(large)、中(medium)、小(small)三个选项,如下为中的例子:
<img src="http://covers.librarything.com/devkey/KEY/medium/isbn/0545010225">

    出于对网站访问压力的控制,LibraryThing要求一个网站每天请求次数不超过10005000次;如果用程序自动获取,每秒还不能多于1个封面。并且不要求回链,还推荐将封面保存下来使用──前提一不批量转让,二不是竞争对手。详见其服务条款(LibraryThing Developer Profile)。

    由于不是所有图书都有ISBN,所以目前可通过ISBN提供的封面为91万多。大概用户提供的封面以通俗作品为多,比较适合公共图书馆,所以在专业图书馆工作的David发现,他试着加了37个封面链接,LibraryThing竟然一个都没有。

    Amazon早就有免费的封面服务,且封面数量更多,还不限制每天的请求数。那么,作为一个社会性编目网站,提供这一服务目的何在呢?Tim的回答是,半推广、半行善。
    由于Amazon提供免费服务的目的是推销,故而服务协议(Amazon Web Services™ Customer Agreement)要求回链(见5.1.7;且不能保留图片,见5.1.11),并可以此获得收益(Join Associates),这对于作为公益机构的图书馆就有所顾忌。
    图书馆如果选择商业封面供应商,需要花钱;如果直接上出版社网站下载封面,则需要花人力。
    LibraryThing一直以来发展不错,因而有信心用一定量的带宽负载提供这样的服务。Tim声称“偶行善”好过Google的“不做恶”(more "Do occasional good" than "Do no evil.")

    最终目的?Tim也很坦诚,希望出版社等能够了解其作用,进而愿意提供高质量的封面等信息,而不仅仅依赖用户提供因而清晰度等不能保证的图片。

    这是LibraryThing提供的第四项Web服务(LibraryThing APIs)。澳大利亚国家书目数据库搜索原型系统(Lucene NBD Search Prototype)就采用了其API,提供LibraryThing的收藏册数及用户评级(星数),显示在Google图书信息之后。

参见:
LibraryThing Blog:  A million free covers from LibraryThing (August 07, 2008)
Catalogablog: Free Covers from LibraryThing (August 11, 2008, Update 12 Aug. 2008)

[update 2008-8-14] LibraryThing已经将请求限制提高到了5000。各方也有积极反应:
· Art Zemon发布了一个简单的用PHP写的LibraryThing封面保存脚本(LibraryThing covers caching script)
· Alejandro Garza提供了Millennium系统使用LibraryThing封面的指导(要求用Millennium Module for Drupal),在留言中有实例(看着也是分面OPAC呢),并说明命中率只有0.18%──因为这是家墨西哥的生命科学图书馆,多是西班牙语图书。
· Library Journal网站上发表了Josh Hadro的文章介绍此事LibraryThing Releases One Million Free Covers

参见:
Thing-ology: More on covers (August 12, 2008)
Cheerful Curmudgeon: Caching Free LibraryThing Book Covers (August 11th, 200)
Stupendous Amazing Library: A million free covers from Library Thing (August 12, 2008)
Library Journal (8/12/2008): LibraryThing Releases One Million Free Covers / Josh Hadro

伯克利协定与图书馆集成系统通用API

    数字图书馆联盟(DLF)于2007年夏成立图书馆集成系统发现界面专责小组(ILS-DI),分析在传统ILS与互联网发现应用之间达到有效互操作的问题,致力于提出一个技术解决方案──简言之,就是确定ILS以何种方式向图书馆与互联网开放。其背景是:越来越多的图书馆已经采用或正在开发独立于ILS的外部发现应用,包括OPAC前端,集成搜索服务、标签服务、社会化软件等。

    2008/3/6,DLF代表与主要图书馆应用厂商在加州伯克利讨论由小组提出的技术建议草案,即所谓“伯克利协定”(Berkeley Accord)。建议针对将ILS的数据和服务与支持用户发现的新应用集成的标准界面,允许图书馆部署新的发现服务以满足Web2.0时代不断成长的用户体验,充分利用高级ILS数据管理与服务的优势,催生新一代图书馆管理与发现应用中强大的创新社区与市场。
    与会者同意,通过部署特定推荐标准,经由开放协议与技术,支持一系列基本功能,包括:
1、收割(Harvesting):收割馆藏数据记录,完整的或基于最新变化的,核心书目记录或与馆藏、流通数据结合的记录。通过OAI-PMH接口实现。
2、可获得性(Availability):实时查询书目项的可获得性。通过ILS-DI专责小组指定的简单REST接口实现。
3、链接(Linking):固定方式链接到OPAC中任何项。通过ILS-DI专责小组为OPAC定义的URL模板实施。

    签署协定的厂商有(undersigned by):
   1. Talis
   2. Ex Libris
   3. LibLime
   4. BiblioCommons
   5. SirsiDynix
   6. Polaris Library Systems
   7. VTLS
   8. California Digital Library
   9. OCLC
  10. AquaBrowser
    唯一弃权的厂商(Abstention):
   1. Innovative Interfaces, Inc.

    经过三个月时间,ILS-DI于2008/6/4发布了长达78页的正式技术建议(DLF ILS Discovery Interface Task Group (ILS-DI) Technical Recommendation)(PDF, 269KB),包括四个层次的互操作共25个功能:
Level 1: Basic Discovery Interfaces
• HarvestBibliographicRecords (Data Aggregation, section 5.3.1)
• HarvestExpandedRecords (Data Aggregation, section 5.3.2)
• GetAvailability (Real Time Search, section 6.3.1)
• GoToBibliographicRequestPage (OPAC interaction, section 8.3.1)

Level 2: Elementary OPAC supplement
All of the above, plus
• HarvestAuthorityRecords (Data Aggregation, section 5.3.3)
• HarvestHoldingsRecords (Data Aggregation, section 5.3.4)
• GetRecords (Real Time Search, section 6.3.2)
• Search (Real Time Search, section 6.3.3)
• Scan (Real Time Search, section 6.3.4)
• GetAuthorityRecords (Real Time Search, section 6.3.5)
• Either OutputRewritablePage or OutputIntermediateFormat (OPAC Interaction, sections 8.3.2 and 8.3.3)

Level 3: Elementary OPAC alternative
All of the above, plus
• LookupPatron (Patron Functionality, section 7.2.1)
• AuthenticatePatron (Patron Functionality, section 7.2.2)
• GetPatronInfo (Patron Functionality, section 7.2.3)
• GetPatronStatus (Patron Functionality, section 7.2.4)
• GetServices (Patron Functionality, section 7.2.5)
• RenewLoan (Patron Functionality, section 7.2.6)
• HoldTitle (Patron Functionality, section 7.2.7)
• HoldItem (Patron Functionality, section 7.2.8)
• CancelHold (Patron Functionality, section 7.2.9)
• RecallItem (Patron Functionality, section 7.2.10)
• CancelRecall (Patron Functionality, section 7.2.11)

Level 4: Robust/domain specific discovery platforms
All of the above, plus
• SearchCourseReserves (Real Time Search, section 6.3.6; for academic libraries)
• Explain (Real Time Search, section 6.3.7)
• Both OutputRewritablePage and OutputIntermediateFormat (OPAC Interaction, sections 8.3.2 and 8.3.3)

    若干年前,图书馆对ILS厂商除了抱怨无计可施。2005年John Blyberg提出图书馆集成系统客户权力(ILS Customer Bill-of-Rights) ,引来讨论无数,正是这种状况。随着Web2.0的兴起,美国图书馆界竟然能在这么短的时间内通过努力让局面为之一变,真令人赞叹!随着建议在ILS厂商的逐渐实施,ILS通用API将使未来OPAC应用更加多姿多彩。

相关信息:
ILS-DI技术建议网页:宾州大学图书馆John Ockerbloom为ILS-DI小组主席,网站设在该馆。据云技术建议书也将发布在DLF网站。
Peter Brantley’s thoughts and speculations: ILS Basic Discovery (April 4, 2008)
加州大学伯克利分校图书馆Peter Brantley介绍DLF代表与主要图书馆应用供应商在加州伯克利讨论草案的情况,以及DLF对此事的新闻稿“ILS Basic Discovery Interfaces: A proposal for the ILS community”。

在OPAC中加入Google图书信息

    Google图书搜索(GBS)中有不少图书可以看全文或可做全文搜索,在图书馆OPAC中加上其链接,实际上等于为图书馆增加了一大批电子书。当然,如果能有GBS可看全文图书的全部书目记录加入到OPAC,对图书馆更是免费的午餐──MBooks已经提供了这样的午餐。

    说回GBS,3月份时Google发布了GBS的API,不到三个月,已有很多图书馆在OPAC中加上了GBS链接。上月DePaul大学的Hilary Kraus在NGC4LIB邮件组征求实例“Integrating Google Book Search content into OPACs”,得到不少回应。这是她前几天的总结“Integrating Google Book Search content into OPACs — summary of examples”,发出后又收到一些回应。

    从使用情况看,有直接将链接结果嵌入网页的(显示封面或/和显示图书状态──noview, partial, full),也有提供链接即时查询的(意味着有可能实际上没有该书)。似乎大部分是采用在OPAC模板中嵌入JavaScript的方法实现,不同的是有的嵌在结果一览页,有的嵌在详细显示页(后者“打扰”GBS的机率小些)。肯特州立大学采用Innovative公司的自动化系统,其目录KentLINK用前者,在页面嵌入了“Google Book Search viewability API script”。
    德国科隆大学的Oliver Flimm则告知他们采用在后台使用GBS的JavaScript-API的方法实现(实例),目前只对full和partial两种提供链接。由于这种方法意味着不是由浏览器访问GBS,而是由服务器对GBS做批量操作,故而约翰·霍普金斯大学的Jonathan Rochkind询问是否会受到Google方面的流量限制。Oliver的回复是他也很担心,但岂今为止还没有。
    这种由服务器端操作的好处是每本书只查一次,而不会每次显示该书目时做一次查询。Oliver说他在Google的BookAPI新闻组提出将这种方法作为GBS-API的官方扩展,但未得回应。他并提出可以做一个本地快照,保存ISBN及对应GBS的full/partial状态。
    前些天开会时,遇到复旦数字化部张主任,讲到他们在OPAC中加上超星等电子书的链接,采用的大概就是这种方法吧。其实前年访问复旦时,张主任就曾介绍过他们链接教学参考书的情况,自己居然一点都不记得了,惭愧!

参见:
用Google图书搜索API增强OPAC (2008-03-16)
密歇根大学MBooks提供OAI接口 (2008-06-02)

[update 2008-6-7]
刚看到 GBS API 于5月31日推出了服务条款,如果要使用这项服务,请仔细阅读,实在很复杂。
2.11 举了一些不可做的事,其中一条:"crawl," "spider," index or in any non-transitory manner store or cache information obtained from the Service。因此Oliver所说的方法应该是被禁止的。之前大约服务条款未定,所以Google方面没有回应。

Via Covers from Google: Too good to be true? from Thing-ology (LibraryThing’s ideas blog) by (2008-6-6)