Web Analytics Made Easy -
StatCounter

めモらンだム

数年後の自分が首を捻らなくて済むようにするために残す、自分で使うためのアプリの設定やスクリプト類のメモ。改変等ご自由に / 内容が古いまま、間違ったままもあるので注意 / 書いている途中や、途中で放置もあり / 対象の仕様変更で動かなくなったもの多々。特に、WorkFlowyを対象として作ったものは全滅。

国立国会図書館サーチAPIから書誌情報を取得してScrapboxへ、そして芋づる式読書の助けに

そもそも

kindle内の本が多くなり、扱いづらいくなった。
アプリ版のkindleならまだしも、kindle Paperwhiteは動作がもっさりしていて、ブックリストを何ページもめくって目的の本を探し出し開くのは苦である。

そこで多少はコレクション分けをしていたが、あらためて本格的に分類しようと思った。
しかし、どう分類したらよいのか?コレクションにどんな名称をつけたら良いのか?に迷ってしまった。

日本図書コード」というものがある。本の裏表紙の二段のバーコードのあれである。
二段目の一部がCコード(図書分類コード)。
書店で排列に利用されているらしい。

openBDにもCコードは載っている。3冊を検索してみた――

  • Scrapbox情報整理術
    • openBDからレスポンスが無い。登録されていないか?
    • 裏表紙(カバー)を見ると、バーコードの右に「C3055」と印刷されている。意味は3:専門、0:単行本、55:電子通信。「電子通信」は当たらずも遠からず。でも「それじゃない」感は否めない。
  • 「やること地獄」を終わらせるタスク管理「超」入門
    • 同じ作者の本。 0236:社会。「社会」って、おおざっぱ過ぎる。
  • 「末梢血管」を鍛えると、血圧がみるみる下がる!
    • 最近血圧が気になりだして買った本。なぜか 0030:社会科学 になっている。医学が社会科学?

そもそも分類の目が粗すぎる上、ネットで調べてみると出版社のCコードの付け方はかなり酷いらしい。


その他の分類コードとしては、

などがある。

それらを検索するために、前回のGoogle Books APIを使った
sorashima.hatenablog.com を含めて、各書誌情報APIをいじり始めたのが発端。


書誌情報APIを再検討

Google Books API

  • 「何故この書籍が登録されていないの?」ということが多い。
  • 分類コードは見当たらない。見落としたかな?

openBD

  • 検索はISBNからのみ。
  • こちらも「これが登録されていないの?」に遭遇する。

国立国会図書館サーチ

  • 遅いというウワサがある。
  • 他のAPIが検索結果を扱いやすいJSONで返してくる中、扱いづらいXMLで返してくる。
  • 網羅率は一番高い。
  • 書影の網羅率は意外と低い。


書誌情報の網羅率を重視して、国立国会図書館サーチAPIを使うことに。

書影については他のAPIも併用。


できたショートカットをクラウドにバックアップ

とりあえず動くところまでは行ったので、クラウドにバックアップ。

ショートカットの中身を確認するためにスクロールしているだけで、誤ってアクションを並び替えてしまうことがある。バックアップ大事。

  • NDL to SB
    • メインモジュール。通常、このショートカットを起動する。
      入力方法は、1)共有シートからのタイトル or ISBN入力、2)インプットフォームによる詳細検索条件入力、3)バーコード読み取り、の3種類。
      それらから入力した条件で、国立国会図書館サーチAPIで検索して書誌情報を取得し、他のモジュールを呼び出してそれぞれの処理をさせ、それらの結果を結合してScrapboxに投稿する。
  • NDL JSON to SB note
    • 取得した書誌データからScrapboxのノートの書式に変換するモジュール。
      このモジュールの最後の方のリストアクションを編集することで、表示する項目を減らしたり、順番を変えることができる。
  • SH to Thesaurus
    • 書誌のキーワード情報からWeb NDL Authoritiesを検索して、上位語・下位語・関連語などのシソーラス情報を取得してノートの書式に変換するモジュール。
  • NDC9 to Label
    • 日本十進分類法 (NDC)の9版の分類記号をキーにNDC for Developersで上位分類の項目名付きの分類項目名を取得するモジュール。
  • NDL Thumbnail
  • Google Thumbnail
    • ISBNをキーにGoogle Books APIで書影のURLを取得するモジュール。
  • OpenBD Thumbnail
    • ISBNをキーにopenBD APIで書影のURLを取得するモジュール。


画面イメージ

ショートカット「NDL to SB」を通常起動してメニューから検索条件入力を選ぶとSafariで入力フォームが表示される。

例えば「知的生産の技術」でタイトル検索しても「知的生産の技術」をタイトルに含んだ本がズラズラと15件の結果リストを埋め尽くしてしまうが、著者名も入れると梅棹氏の3冊に絞り込まれる。

ショートカットの入力アクションでは、一度に一つの値の入力しかできないが、入力フォームならこのように複数の値を同時に入力できる。
ショートカットにデフォルトであって欲しい機能だ。

「送信」ボタンをタップすると元のショートカット「NDL to SB」が再度自動起動されて、検索などの処理が始まり、

途中、検索結果から選択する画面が出るが、最終的にScrapboxにページが作られる。

真ん中あたりの「国立国会図書館サーチの書誌詳細画面URL」をタップすると、

国立国会図書館サーチの書誌詳細画面が開かれる。


芋づる式読書の助けに

📚をタップすれば、その前に書かれているキーワードで国立国会図書館を検索する。

☸️をタップすればScrapbox上に再現した国立国会図書館件名標目表(NDLSH)を表示する。
Scrapboxには2ホップリンク (2 hop link)の仕組みがあるおかげで、関連語・上位語・下位語のキーワードよりも、より広範囲の関係性のあるキーワードを探せたり、意外な繋がりのあるキーワードを見つけられるかもしれない。(理想は*1 )
もちろん、見つけたキーワードのリンク先ページ中にある📚アイコンをタップして、国立国会図書館で書籍検索することもできる。

*1:こういったものは、データの件数がある「臨界点」を超えると急に「使い物になる」のではないかと思うのだが、米国議会図書館件名標目表(LCSH)より一桁も少なくてその「臨界点」を越えているのかは疑問が残る。