总第 176 期 2009 年第 3 期
将图书馆目录纳入语义万维网
Martin Malmsten
(揣典国家图书馆 LIBRIS 部瑞典)
李雯静(译) 黄田青刘炜(校)
[摘要]图书馆书目包含海量结构化、高质量的数据,然而这些数据通常元法应用于语义万维网。介绍使瑞典联
合书目( LIBRIS) 符合语义万维网和链接数据(Linked Data) 协议规范的工具和技术,讨论个体资源的精确描述问
题,并重点介绍资源之间的链接以及数据获取机制等方面的内容,同时还提出在同一作品的不同记录之间建立链
接的方法。
【关键词 1 RDF 图书馆编目 语义万维网关联数据集持续标识符 FRBR SPARQL
[分类号 1 G250
Making a Library Catalogue Part of the Semantic 飞iVeb
Martin Malmsten
(National Library of Sweden , LIBRIS Department , Sweden)
martin. malmsten@ kb. se
[ Abstract 1 Library catalogues contain an enormous amount of structured , high - quality data , however , this data is gen-
erally not made available to semantic Web applications. In this paper we describe the tools and techniques used to make
the Swedish Union Catalogue (LIBRIS) part of the Semantic Web and Linked Data. The focus is on links to and between
resources and the mechanisms used to make data available , rather than perfect description of the individual resources. We
also present a method of creating links between records of the same work.
[ Keywords 1 RDF Library catalogue Semantic Web Linked data Persistent identifiers FRBR SPARQL
1 号| 言
尽管书目交换已经存在了几十年,但规范数据的交换和不同记录之间的链接并不普遍。获取书目数据的标
准方法依然是通过一些搜索协议,如 SRU/W ( http://www. loc. govl归ndardslsru/ )或 Z39. 50 ( http://www. loc.
gov/z3950/agency/) 。虽然这些方法可以检索书日记录,但用户仍然无法获得它们的地址,并且无法得到书目数
据之间的关联信息。而语义万维网( Bemers - Lee et al. , 2∞1 )的基础就是信息的关联,语义万维网和链接数据
协议( Bemers - Lee , 2006) 的实质就是只要数据存在,它们就是相互关联的。这似乎为图书馆开放数据提供了一
个理想的方法。
笔者为瑞典联合书目( LIBRIS) 建立新的 Web 页面( http://libris. kb. se/) 的目的,一方面是将信息呈现给普
通用户,另一方面也希望能够透明地被机器/网络爬虫所获取。显然,这里的信息己不单是指书目记录本身,还包
括用户对书目的评注以及书目数据之间的关联,都可以通过这种方式揭示出来。
由于 30 年来编目的规则和实际操作不断变化,造成书目数据缺乏一致性。希望本文的成果能够帮助我们更
收稿日期: 2009 -02 -09
注:李雯静(华东师范大学信息、学系 2∞7 级研究生) ;黄回青(嘉兴学院图书馆) ;如j炜(上海图书馆) 0
XIANDAI TUSHU QINGBAO ]ISHU 匾'
好的利用数据。
2 技术概述
瑞典联合目录的成员馆约有 175 个,它们都使用
同一个图书馆集成管理系统(ILS)进行编目,并且都采
用了 MARC21 作为书目记录、馆藏和规范记录格式。
目前整个系统拥有 600 万条书目记录,并已开发出一
套组件使系统能够处理 RDF 数据。
本文建了一个 RDF 服务器封装件实现用 H'ITP 访
问 ILS,并根据请求递送描述书目记录和规范记录的
RDF,以及描述资源链接的 RDF。用记录的唯一编号
创建永久( Persistent) URI,当有正确的请求时,这些
URI 能被反向解析,并且通过一定方式可以利用 H'ITP
的内容协商机制传输 RDF 。
然后,这些数据被载入到一个三元组存储器中,实
现利用 SPARQL(Prud' hommeux and Seabom , 2008) 进
行 RDF 搜索查询的功能。
3 具体实施
具体实施中的个体组件,如图 1 所示。
EE
巴I--~I RDFß~~~ ~输出
Jena
三元组存储器
XSLT
图 1 实施示意图
RDF 服务器封装件
首先在 ILS 设-个封装件,以 RDF 规范传输书目记
录,而不以传统的二进制格式(IS但7W)进行传输。封装
件用 SQL语言同 ILS 建立会话,并使用唯一编号传输记
录,而后将 IS027W 记录转换为 MARC21 格式的 XML 表
示,最后利用 XSLT 进行 XML 转换( Cl拙, 1朔)。
由于每一个输出格式都采用一个单独的 XSLT 文
件进行转换,所以添加一个新的格式或者修改一个己
有格式就非常容易了。
关联数据和访问
链接和访问既是普通 Web 也是语义网的基本功
..现代图书情报技术
能。将资源连接起来需要使用 URI,如果要使资源可
访问,那么 URI 必须符合超文本传输协议( H'ITP)所支
持的格式。按照"链接数据"的 4 个规则 (Bemers -
Lee , 2006) ,给每一条记录设置一个固有的且能被反
向解析的 URI。书目记录的形式如 http://libris. kb.
se/resource/bibl < number > ,规范记录形如 http://
libris. kb. se/resourcel authl < number >。
使用 H'ITP 的内容协商机制,根据客户机的请求
来递送正确的格式。采取的方法是:利用 H'ITP 接收
的头信息,告知服务器发出请求的客户机可以处理和
偏好的媒体类型。例如,接收头信息是 Text/Html ,即
是告知服务器要为用户递送 HTML 页面;接受头信息
是 text/ rdf + n3 或者 application/rdf +直时,即是告知服
务器客户端可以处理 RDF 数据。服务器既可以直接
传送 RDF 数据,也可以传送 HτT凹02 或者 303 的响应
信息,表明了服务器支持的这些信息可以利用不同的
URL 进行获取( Sauermann , Cyganiak , 2008) 。内容协
商机制的范例请见附录 A。
SPARQL 终端
使用 SPARQL 既作为查询工具,又作为数据分析
工具。一些查询对于 SQL 来说很难,甚至不可能表达,
用全文搜索也无法实现,而利用 SPARQL 就能清晰简
单地表达出来。例如,这个查询找出和标识了 XYZ
的记录属于同一文献的所有记录的主题词。"如果需
要"自动找到"属于同一文献的记录的缺失主题词,那
么这种查询对他们就非常有用。使用 Jena 语义网框
架(Jena Semantic Web Framework) ( http://jena. source-
forge. net/)建立的三元组存储器来存储数据,可以最
简捷方便地利用 SPARQL 完成数据查询。一个 SPAR
QL 终端能够通过 HTTP 实现对于 RDF 的 SPARQL 查
询(C阳k , Feigenbaum , Torres , 2008) 。
4 资源描述类型
目前的图书馆目录需要揭示多种资源类型,如图
书、作者、主题(受控词表和叙词表)、组织以及它们之
间的联系等。为了让非图书馆的系统能够访问图书馆
目录,这些资源应该使用通用词表进行描述。利用都
柏林核心元数据描述书目数据,用 FOAF( http://www.
foaf - project. orgl )描述人和组织,用简单知识组织系
统 (Simple Knowledge Organization System , SKOS) ( ht-
tp://. org/2004/02/skos/) 编码控词表。这都
是一些被广为使用和理解的标准。具体如图 2 给出的
一个实例,实例中的记录请参见附录 A。
需要指出的是,并行传输多种格式是可行的,这种
/ ←~飞飞
总第 176 期 2009 年第 3 期
方式能够满足不符合图书馆标准的外部系统的请求。
正如 节中所描述的一样,这种构架可以简易地新
增对 Bibliontology 、 MODS 、 MarcOnt 或者其他标准的支
持,只是这部分不属于本文讨论的范围。
飞 dc:creat,口rWIII阳m Glbson .- loaf:name 飞 j\
r飞F 飞飞飞飞 r \
foaf:Person 飞、也池。:Book
htlp: hHp: -fiUEMitMY
……飞毛/刷~Ie→h…阳gl阔
bibo:Book
htlp:/Æ
St回m~k r-飞 嗣tlonal Llbrary of sw钳制
飞\/ \ /"
\一阴阳skos:preflabel ,j~.~,,~峙,\
y 飞、~ foaf:Organlzation
M蜘协已YMibrawms
htlp:
\ .J
图 2 < The Difference Engine>一书的部分段落图
5 FRBR
书目记录的功能需求 (IFLA Section on Catalogu-
ing , 1998) 近 10 年来一直被人提及,也有不少这方面
的研究文献,可是具体的实施却很少。一个亟需解决
的问题是,具体实践的不断变化,导致记录质量的参差
不齐。然而,将书目记录合并或建立链接,使之成为同
一作品的不同描述,这一想法不仅有价值,同时在技术
上也可行。
LIBRIS 数据库的每一条记录都定义了一个或多
个 FRBR 键,这些键是作者名或者原题名的形式化连
结。对每一个作者名或者题名来说,定义的键可能是
重复的。例如,由 William Gibson 和 Bruce Sterling 合著
的< The Difference Engine >一书有两个键:" GIBSON
WILLIAM 1948 THE DIFFERENCE ENGINE" 和"STER
LING BRUCE 1954 THE DIFFERENCE ENGINE" 。用
同样的键就可以在记录之间建立链接。
Styles 等人(2008 )提出的方法使用作者名和文献
题名的 MD5 检查值作为标识符,本立论述的方法与此
很相似。
然而,与 Styles 等人提出的方法迥异的是,这些定
义的键是暂时的,并不是持续对象,不用作标识符,只
用于创建同一作品记录之间的链接。使用这种方法,
当发生作者死亡或者改名等情况时,即使键值有变化,
链接依然不变。因为没有标识符,所以没有必要记录
变化情况。另一优势是,多作者的作品也可以向多作
品的记录一样自动处理。
口SRIS 数据库也包含姓名+题名形式的规范作品
记录。这些记录同他们对应的书目记录相关联。书目
记录的庞大数量决定了其无法依靠人工建立数据库,
更不用说以 RDF 形式添加链接了。
6 链接外部资源
链接外部资源能够为客户提供更多的相关信息。
作为概念验证, LISRIS 数据库添加了少量与 DBpedia
和 Wil呻edia 链接的规范记录。示例请见附录 A。
笔者也利用 Annotea 本体做了用户评注的实验。
由于在 ILS 之外可以使用 URIs 获得数据记录/资源,
XIANDAI TUSHU QINGBAO JISHU ..
所以附加诸如用户评论等数据的操作就不是问题了。
7 结语
尽管描述书目数据的本体有很多,可是对于图书
馆系统中的数据却并不是立即可用的。需要实现链接
数据协议中的存取机制,才能使图书馆真正成为"语义
万维网的一部分"。
SPARQL 由于有支持链接的特性,能对书目数据
进行信息挖掘,这方面的应用前景十分广阔。
下一步的计划包括:利用 SPARQL 自动建立作品
记录,更丰富地描述书目数据和规范记录,以及在三元
组存储器中装载更多外部数据。此外,密切关注 DC
MVRDA 任务组( http://dublincore . org/ dcmirdatask-
group/) 的最新研究成果。
目前己将部分工作作为开源进行了发布。更多信
息请参见: http://libris. kb. se/ semweb 。
[ 1 J Berners - l肘, Tim , James Hendler , and Ora Las山. (2∞1) .
The Semantic Web. Scientific American , 284 , 34 -43.
[ 2 J Berners - Lee , Tim. ( 2006 ). Linked data. Retrieved April 12 ,
2008 , from http://www . w3. orglDesignIssues/LinkedData. html
[3J Prud'Hommeaux , Eric , and Andy Seaborn. (2008). SPARQL
Query Language for RDF. Retrieved April 12 , 2008 from http://
www. w3. orglTRlrdf - sp盯'ql- qu町/
[4 J Clark , Jarnes. (1999). XSL Transformations (XSLT). Retrieved
April 13 , 2008 from http://www. w3. orglTRlxslt.
[ 5 J IFLA Study Group on the Functional R叩Irements 如 Bibli哺aphic
Records. (1998). Functional Requirements for Bibliographic Re-
cords. Retrieved April 13 , 2008 from http://www. ifla. orglVIII
s13/frbr/frbr. pdf
[ 6 J Styles , Rob , Danny Ayers , and Nadeem Shabir. (2∞8). Seman-
tic MARC , MARC21 and the Semantic Web. WWW 2008 17th In-
ternational World Wide Web Conference.
[ 7 J Sauermann , Leo , and Richard Cyganiak. (2008). Cool URIs for
the Semantic Web. Retrieved April 13 , 2008 from http://www
w3. orglTRI coolurisl
附录 A:H'ITP 请求及晌应示例
以下是对书目和规范记录请求的 HTIP 跟踪。
1 书目记录一一请求、重定向和响应
GET lresoUTce/bib/5059476
.. 现代固书情报技术
Host: libris. kb. se
Accept: text/ rdf + n3
HTTP/l. 1 303 See Other
Location: http://libris. kb. sel data/bib/5059476
GET Idata/bib/5059476
Host: libris. kb. se
Accept: texνrdf + n3
HTTP/l. 1 200 OK
Content - Type: text/ rdf + n3
@prefix dc: .
@ prefix libris: .
@ prefix annotea: .
@pre且x foaf: .
@ prefix rdfs:
#RDF in Turtle/N3 created for the bibliographic record 5059476
foaf:page ;
rdfs : isDefinedBy
#short bibliographic description
dc : title "Tbe differenc坦 engine" ;
dc : creator " Gibson , Willi田n , 1948 -";
dc : creator " Sterling , Bruce , 1954 - " ;
dc : subject "Steampunk" ;
dc : identifier
#links to authors with authority records
dc:creator
dc:creator
#links to subjects with authority records
dc:subject
dc:subject
#links to other editions of the same work
libris : frbrJelated
#User annotations
annotea: hasAnnotation
#bωk is held by the following libraries
libris : held_by ;
libris : held_by .
2 作者 William Gibson 的规范记录一一请求和响应
GET I datal authl220040
Host: libris. kb. se
Accept: textl rdf + n3
HTIP/l. 1 200 OK
Content - Type: texνrdf + n3
@ prefix owl: .
@prefix rdf:
@ prefix foaf: .
@ prefix dc: .
@ prefix dbpedìa: .
@prefix rdf町,
#RDF in Turtle/N3 created for the autbority record 22仪)40
rdfs : isDefinedBy ;
#type of authority record
rdf:type ;
#description
foaf: name "Gìbson , WiIliam , 1948 - "
foaf: name "WiIlìam Gibson"
#links to external resources
owl:sameAs
rdfs ,seeAlso .
#links to books by this au由or
dc ,creator
dc:creator
dc:creator
总第 176 期 2009 年第 3 期
dc:creator
3 Steampunk 主题规范记录一一请求和响应
GET Idatalauthl308074
Host , libris. kb. se
Accept: textl rdf + n3
HTIP/l. 1 200 OK
Content 一 Type: textl rdf + n3
@ preflX owl: .
@ preflX rdf: .
@preflX岛af:
@ prefix dc: .
@ preflX skos:
#RDF in Turtle/N3 created for the authority record 308074
rdfs : isDefinedBy
#type of authority record
rdf: type skos: Concept
#description
skos: prefLabel "Steatnpunk"
skos : related "Science fiction"
skos : related "Cyberpunk"
#links to other subjects
skos : related
skos: related
#links to external resOurces
owl : sameAs .
#links to oooks with this su问ect
dc:subject
dc:subject
XIANDAI TUS