読者です 読者をやめる 読者になる 読者になる

全国でX館が所蔵している図書を自館は何冊持っているか?―CiNii Booksでウィルキン・グラフを描く

以前,「CiNii Books APIで所蔵館数が出力されない件など」という記事を書きました.CiNii Booksのデータを使って「ウィルキン・グラフ」というものを描いてみたいんだけど,CiNii BooksのAPIでは所蔵館数が出力されないのでどうしよっかな[*1],というものでした.

その後の展開として,7月にCiNii Books APIが改修され,所蔵館数が出力されるようになっていました(OpenSearchおよびRDFの両方が対象.<cinii:ownerCount>という項目として出力).それから1か月あまり放置してしまっていたんですが,ここのところ別件でCiNii Booksのデータばかりいじっていたこともあり(そちらは一段落),その勢いのまま件のグラフを描いてみることにしました.


グラフを描いてみる

まずは自分とこの図書館を対象としてみました.CiNii Booksを,

  • 図書
  • 図書館ID = FA002633(京都大学人環・総人図書館)
  • 出版年 = 0〜2016

という条件で検索した書誌レコードで計473,343件になります(出版年を外すと474,183件とちょっと増えるんですが,id:haseharu 作のデータ取得シェルスクリプトのなかで出版年をクエリに使っているという事情もあり……).

あと,大学図書館のひとには言うまでもないことですが,CiNii Booksの書誌レコードはVOL(巻)でまとめられていて,表示される所蔵館数はあくまで書誌ごとのもので,VOLごとに出ているわけではありません.つまり,特定のVOLの所蔵館数は別途カウントしないと分からないわけですね.多巻ものの図書の場合そのうちなにか1巻でも所蔵して(NACSIS-CATに登録して)いたら,所蔵館のひとつとしてカウントされることになります.


京都大学人環・総人図書館(FA002622)

結果,次のようなグラフになりました.X軸は所蔵館数,Y軸は書誌レコード数です.例えば(X, Y)=(1, 15993)という点については,全国で所蔵館数が1(つまり自館しか持っていない)の資料が15,993件あると読みます.元データはここにアップロードしてあります.

f:id:kitone:20130903225033p:plain



うーん……

グラフを作ってみてもどうもふつーのべき乗っぽいような.HathiTrustのグラフみたいなのを予想していたんだけど…….

他の図書館はどうなっているんだろう?ということで,他にもいくつかの図書館についてグラフを作ってみました.Y軸は書誌レコード数によって変えていますが,X軸(0〜1200)のスケールは全グラフで共通にしてあります.


国際教養大学図書・情報センター(FA022233)

f:id:kitone:20130824170510p:plain


天使大学図書館(FA020737)

f:id:kitone:20130824170523p:plain


長岡工業高等専門学校図書館(FA014461)

f:id:kitone:20130824170535p:plain



考察

微妙な違いはあるものの,おおむね似たようなかたちになってしまっていますねえ.もっといろいろなタイプの図書館のグラフを描いてみると違いが出るのかなあ?

HathiTrustに参加しているのは米国の大規模研究図書館という比較的均質なクラスタで,母数も40程度と小さいです(少なくともNACSIS-CAT参加機関数に比べたらはるかに).そのためX軸が短くなって,微妙な違いが出やすくなっているのかなあと考えたりもしています.CiNii Booksに対しても,NACSIS-CAT参加機関全体を対象とせず,「国立大学全体」とか,「旧七帝+早慶+α」とか,適当なクラスタに限定して分析したほうがいいのかもしれない(しかしどうやって.現状の方法では厳しい).

作業をしていて気づいたのはグラフの「ピーク」にその図書館の特徴が表れるのかもしれないな,ということです.FA002633だったらグラフの最大値はX=1(つまり全国で自館のみが所蔵している資料)で与えられるので,レアものを多く所蔵している図書館だと言うことができるでしょう.他の3つの図書館では,X=1ではなく,2,4,5などで最大値となっています.所蔵コレクションが一般的なものになっていくほど,このピークは右にずれて(つまり最大値を与えるXは大きく)いくはずです.この情報を図書館ID(FANO)に対するひとつの指数として調べてみるのも面白いかもなあ.

*1:いや,もちろんスクレイピングでやればいいだけなんですが.