modernsarah 在 books。聯盟 一文中,
提到有關「書」的議題,
如何從書的國際標準碼來查詢書的資訊?
若電子書店裡沒有的話,
可往國家圖書館來查查看,
除了在 全國圖書書目資訊網 手動查詢之外,
若要用程式來查的話,
可透過 Z39.50 的通訊協定來查,
在此用Z39.50的client來做查詢。
安裝YAZ套件
在 Fedora 中,只要執行:
yum install yaz
即可安裝完成,
其他linux系統可用其套件管理安裝 YAZ。
執行查詢
利用yaz-client 透過Z39.50的協定連結國圖:
$ yaz-client 192.83.186.170:210/INNOPAC
Connecting...OK.
Sent initrequest.
Connection accepted by v2 target.
ID : Z39.50-III
Name : z39-innopac
Version: 1
UserInformationfield:
{
OCTETSTRING(len=52) Innovative Interfaces Inc. Z39.50 SERVER version 1.1
}
Guessing visiblestring:
'Innovative Interfaces Inc. Z39.50 SERVER version 1.1'
Options: search present scan namedResultSets
Elapsed: 0.057962
Z> set_auto_reconnect on
Set auto reconnect enabled.
上述的 set_auto_reconnect 指令,
可以記註連結的初始化動作,
因為若太久沒查詢的話,
會結束連結,
啟用此選項,
再一次的查詢,可不用再做連結的動作。
假設我們有本書的國際標準號:9789575279868 來查詢:
Z> find @attr 1=7 9789575279868
Sent searchRequest.
Received SearchResponse.
Search was a success.
Number of hits: 4, setno 1
records returned: 0
Elapsed: 0.031518
上面的第五行看到獲得4筆結果。
用這樣的方式來看第一筆:
Z> show 1
Sent presentRequest (1+1).
Records: 1
[INNOPAC]Record type: USmarc
01046cam0 2200313 4500
001 1189649
008 chi
010 0 $a 9789575279868 $b 平裝 $d 新臺幣590元
042 $a nbic
100 $a 20081129d2007 k y0chiy08 e.
101 1 $a chi $c eng.
102 $a tw.
105 $a ak z 000yy.
200 1 $a Ajax 與.NET 2.0深度整合應用 $f 丹尼爾.伍思頓(Daniel Woolston)著 $g 鄧 瑋敦,博碩文化譯
205 $a 初版
210 $a 臺北縣汐止市 $c 博碩 $d 2007[民96]
215 0 $a [560]面 $c 圖,表 $d 23公分 $e + 附光碟1張
260 1 $a 2007.
454 1 $1 2001 $a Pro Ajax and the .NET 2.0 platform$zeng.
606 $2 csh $a 網頁設計
606 $2 csh $a 全球資訊網
681 $a 312.91695 $b 2165 $v 增訂七版
700 1 $a 伍思頓 $c ((Woolston, Daniel) $4 著
702 1 $a 鄧 $b 瑋敦 $4 譯
712 02 $a 博碩文化 $4 譯
770 1 $a Woolston $b Daniel.
801 0 $a tw $b TMUE $c 20081129 $g CCR.
801 1 $a tw $b TMUE $c 20081129.
805 $a TPTC $d 312.91695 $e 2165 $t CCL $z 681.
nextResultSetPosition = 2
Elapsed: 0.024271
這樣就秀出了圖書館界所謂的MARC的格式。
查詢的語法
上述的關鍵查詢語法是:
find @attr 1=7 9789575279868
1=7 這簡直是個天書,
其根據是:
ATTRIBUTE SET BIB-1 (Z39.50-1995): SEMANTICS
或參考這個方便查詢的表格:
Bib-1 Attribute Set
所以此例是最簡單的查詢:
「使用」屬性 7 (ISBN) 為9789575279868。
如果要用書名查詢的話:
Z> find @attr 1=4 國際觀的第一本書
Sent searchRequest.
Received SearchResponse.
Search was a success.
Number of hits: 6, setno 1
records returned: 0
Elapsed: 0.090707
可查到6筆,再利用show 的指令逐一檢視。