APP下载

高校图书馆可视化OPAC系统的设计与实践

2011-05-03

图书馆学刊 2011年3期
关键词:书脊书目检索

周 群

(五邑大学图书馆,广东 江门 529020)

可视化信息检索系统在国外已有公司和图书馆开发出来,如荷兰Medialab Solutions公司推出的AquaBrowser Library[1]和加拿大金士顿公共图书馆(Kingston Frontenac Public Library,KFPL)所构建的可视化googlemaps OPACmashup联机书目导航系统[2]。这两个可视化系统将检索结果根据不同的内容以不同图形的方式呈现给读者,为读者的信息检索提供了新途径,激发了他们对图书的认知兴趣和过程。同时,这两个可视化系统的开发为构建适合我国图书馆馆情的可视化OPAC系统提供了理论指导与实践模板。

1 可视化OPAC系统的设计理念

可视化OPAC系统是在图书馆现有的集成管理系统和数据发布平台上构建,与图书馆的OPAC检索系统相互兼容,在检索风格上保持一致,只是将书目检索结果以类似书架形式的可视化图像组合来代替文字条目呈现给读者。这种设计布局独特、个性突出,色彩绚丽、视觉冲击力强,能较好地把握读者的阅读和视觉舒适度,传递特定信息;对读者来说,从图片上获取的信息比文字信息更清晰生动,从而对图书有更清晰的识别与识记。要实现这一检索理念,首先要收集与馆藏书目相对应的图书图像数据,然后将这些数据通过图像处理软件,如光影魔术手(nEO iMAGING)转换成系统所需的书目图像元数据;其次,应用集成管理系统相关功能将书目图像元数据与馆藏图书Marc记录一一对应;再次,应用数据发布平台如清华同方的TPIV4.5[3]来进行书目图像数据库的设计;最后,与现有OPAC系统兼容与对接,从而实现图书馆检索系统的兼容与升级,构建流程如图1所示。

2 可视化OPAC检索系统的设计

应用先进的可视化技术对图书馆现有的OPAC系统进行改进并没有改变其内核,只是让其检索界面更加友好,检索结果的表现形式更加多样化,通过可视化的界面,读者不仅能获得其所需的书目信息,而且还能对相关的信息进一步挖掘,使其成为简单易用的书目信息和信息挖掘工具,借以帮助读者发现书目信息所揭示的概念、学科以及领域之间的内在联系。为实现此目标,可视化OPAC检索系统的设计必须要解决好书目图像元数据的构建、命名、数据库的设计及可视化书目显示等方面的问题。

2.1 书目图像元数据的构建

书目图像元数据的构建就是对馆藏书目相对应的图书图像进行获取与加工,是可视化OPAC系统设计的重点和难点,图像数据的好与坏直接关系着系统的成功与否。图书馆现有的OPAC系统所提供的都是以文字条目显示的书目数据,在可视化OPAC系统中,要将这些文字条目的书目数据与图书图像一一对应,就必须为每一条书目数据匹配一幅图像,这对动辄就有上百万藏书的图书馆来说无疑是一项浩大的工程。因此,图书馆在构建书目图像元数据的过程中须对相关书目数据进行选取,并充分利用网络及图书馆本身所购买的数字资源如超星、书生数字图书馆、公元图像数据库等,从中获取相关的图像元数据,做到先易后难,先近后远。至于一些无法获取现成图像元数据的图书,可以利用扫描工具将其扫描,获取图像数据并根据情况旋转图书后保存为系统设计所需的JPG格式。在获取馆藏图书图像的同时,必须将其所对应的一条或多条条形码数字化并对其保存。图像数据与条码数据一一对应后,将条码数据按序导入图书馆集成管理系统的数据表bcode中,并在流通书目总库和表bcode之间建立连接后输出包含两个表中连接字段相等的行。

书目图像数据的加工主要包括自动曝光、锐化、缩放尺寸以及纠斜等。对获取的书目图像数据进行自动批预处理,笔者应用光影魔术手软件,通过自动曝光、锐化、缩放尺寸等序列编辑,获得尺寸适合的JPG格式的图片。应用该软件纠斜非常方便,只需给出参照边就能任意角度进行纠斜。根据可视化OPAC检索系统的需求,笔者在实践中将参照边定为图书书脊竖直向上。

2.2 书目图像元数据的命名

书目图像数据加工完成后,为保证与图书馆集成管理系统书目数据的一致性,必须对这些书目图像数据进行规范性的命名。由于图书馆集成管理系统中的书目数据都是MARC记录,而MARC记录号是其唯一标识,同时每一条书目数据对应一幅图书图像。因此,对书目图像元数据以MARC记录号来命名,通过MARC记录号与书目数据建立对应关系。笔者所在图书馆应用的是SULMIS图书集成管理系统,其流通书目总库表为ITEM,为建立流通书目总库和存储书目图像数据表bcode之间的链接,可采用具体的SQL语句来提取MARC记录号和索书号,语句如下:

SELECT ITEM.MARC_REC_NO,ITEM.CALL_NO

FROM bcode INNER JOIN ITEM ON bcode.bar_code=ITEM.BAR_CODE;

按图书条形码原来的顺序析出索书号,然后对照图像将索书号逐组以文本格式保存到图片所在目录,两种文件名除扩展名外相同,查询结果存入表CALL2MARC内。然后,从图书馆集成管理系统索书号数组取出当前索书号在对话框显示,对照图像书脊上的书标编辑索书号,检索CALL2MARC,以对应的MARC记录号为文件名保存书目图像数据[4]。

主要代码如下:

……

strTmpFile=Get_Marc_No();//创建对话框并编辑返回索书号

ofn.lpstrFile=strTmpFile.GetBuffer(MAX_PATH);

if(GetSaveFileName(&ofn))

{

HANDLE hDIB=DDBToDIB(*hDDB,BI_RGB,this->GetDC()->GetCurrentPalette());//将 DDB 位图转换为 DIB 位图

if(!WriteDIB (ofn.lpstrFile,hDIB)) AfxMessageBox(“文件保存出错”);

//函数WriteDIB:将hDIB指向的DIB文件保存为文件名 ofn.lpstrFile

Image image(ToWChar(ofn.lpstrFile));

strFileSave=(CString)ofn.lpstrFile+L".jpg";

CLSID clsid;//使用Windows的图像转换控件

if(GetImageCLSID(L"image/jpeg",&clsid))

{

char*str;

str=strFileSave.GetBufferSetLength(MAX_PATH);

image.Save(ToWChar(str),&clsid,NULL);

this->Invalidate();

}

image.~Image()

}

2.3 书目图像数据库的设计与数据导入

可视化OPAC系统的设计是在图书馆现有OPAC系统基础上的改进,为保证数据之间的兼容,该系统书目图像数据库的设计与数据导入必须应用图书馆现有的数据发布平台。笔者所在的图书馆目前应用的是具有十分强大的数据管理功能、能方便地定义和操纵数据库、灵活加工处理元数据、有多个发布模板供选择的清华同方的TPIV4.5。书目图像数据库建设过程中先启动TPI系统的管理工具CPS,将包括索书号、题名、责任者、出版者、ISBN及Marc记录号的图书属性写入数据库中,具体字段名称、类型、长度和是否建有索引等属性情况同原OPAC系统各字段属性保持一致;然后,再启动TPI的数据转换工具DataTran,以ODBC数据源方式从流通书目总库筛选出处理好图片对应的数据记录,导入TPI,TPI自动建立索引。利用图书馆现有的数据发布平台不但可以减少大量的工作,而且保持了图书馆检索系统的连续性,容易为读者所接受。

2.4 可视化书目的显示

清华同方的TPIV4.5系统的数据发布部分为IIS+ASP。可视化OPAC系统要实现根据读者检索请求返回符合条件的字符数组,在浏览器端利用JavaScript脚本来完成可视化书目的显示,必须修改TPIV4.5系统中的Ecard模板。因此,笔者在可视化OPAC系统的设计实践中,先修改Ecard模板下的Basefunction.acp文件,在函数BaseViewRecord中添加如下主要代码:[5]

<%

response.write"