お⼿軽、お安く、持続可能な書
誌情報公開(LOD化)の秘訣
– 教科書LODの経験から –
江草由佳(国⽴教育政策研究所 教育研究情報推進室 総括研究官)
⾼久雅⽣(筑波⼤学 図書館情報メディア系 准教授)
1
Code4Lib JAPAN カンファレンス 2017
2017年9⽉3⽇
⾃⼰紹介
• 研究者
• 専⾨:情報探索⾏動、情報検索、図書館システム
• 仕事
• 研究
• 国⽴教育政策研究所教育図書館のアドバイザー
• OECD ⽣徒の学習到達度調査(PISA)のマニュアル書き
• 好きな(?)こと
• 情報共有
• ドキュメント書き >  プログラム書き
• 参画しているプロジェクト
• オープンソースの図書館システム Next‐L Enju(主にマ
ニュアル書き、仕様検討、issue管理)
• saveMLAK 博物館・美術館(M)、図書館(L)、⽂書
館(A)、公⺠館(K)(M+L+A+K=MLAK)の被災・
救援情報サイト 2
本⽇最も伝えたいメッセージ
図書館がつくっている書誌を
お⼿軽、お安く、持続可能に
LOD(Linked Open Data)にできるよ!
TSV形式の書誌データ、Excel、ウェブスペースさえあ
ればできる!(Poor man‘s linked data Toolkit )
(例として「教科書LOD」でのやり⽅を紹介)
3
特に、ちょっとしたコレク
ションで、OPACに⼊れにくい
やつ(地域資料とか個⼈⽂庫
とか)お勧め
もちろん、普通の図書でも可
4
https://w3id.org/jp‐textbook/
5
教科書LOD
• 教育図書館の保有する⽇本の現⾏の検定制度の教
科書の書誌情報を提供いただいて研究⽤に開発
• 対象:約7000件の書誌情報(タイトルや出版社等)
• https://jp‐textbook.github.io/
• LODチャレンジ2016 テーマ賞「教育LOD賞」受賞
• https://w3id.org/jp‐textbook/ をベースURIとする
• すべての教科書にURIを付与
• https://w3id.org/jp‐textbook/中学校/2001/国語/704
• 学校種別+検定年度+教科書記号+教科書番号
• そのほか、付随するすべての教科・科⽬、学習指導要領
や教科書⽬録に対してもURIを付与
• 外部サービスの活⽤
• Githubページ
• 固定URIサービス(w3id.org)など
6
Poor man‘s linked data Toolkit
• Excel
• シンプルな出⼒
• 1⾏を1レコードとみなし、
• いくつかのセルの値を &でくっつけるだけ(簡単)
• TIPS:
• 列をコピーし、MS Wordへペースト (Excel to word)
• MS Word を全コピーし、テキストエディタにペースト (Word 
to Text)
• Turtleファイルとして保存(例: “filename.ttl”) (Turtle)
• Github
• バージョンコントロール
• 変更履歴がたどれる
• クラウド環境
• 無料で使える
7
今⽇のメインの紹介
LOD公開のステップ:ひとつづ
つクリアする
• フェーズ1: 教科書にURIを付ける
• URIを設計する
• データにURIを追加する
• フェーズ2: Turtleファイルを作る
• フェーズ3: Turtleファイルを公開する
• ここまでは超簡単!これだけでも⼗分有⽤
• フェーズ4:URIをたどったら有⽤な情報を得られる
ようにする
• 公開場所が変わってもURIが変わらないようにしておく
• URIごとに「有⽤な情報」をHTMLファイルとして作る
• フェーズ5:Githubを使う
8
フェーズ1: 教科書のURIを付ける(1):
URIの設計
• 各教科書を識別できるように
• URIを変更しないで済むように
• 2年後、20年後、200年度にも使えるURI?
• (できれば)URIをみただけでなんとなくどんな
教科書かわかるように
教科書LODの例:
https://w3id.org/jp‐textbook/中学校/2001/国語/704
• 学校種別+検定年度+教科書記号+教科書番号
9
フェーズ1: 教科書のURIを付け
る(2):データにURI追加
書誌情報
データベース
図書館システム
TSVエクス
ポート出⼒
Excelに
インポート
Excel
編集
URI追加
10
例
= “https://w3id.org/jp‐textbook/” & T2 & “/” & R2
というようにして、セルをつなげるだけ
フェーズ2: Turtleファイルを作
る
書誌情報
データベース
図書館システム
TSVエクス
ポート出⼒
イン
ポート
Turtle
ファイル
Excel
⼈⼿で作成/出⼒
Copy&Paste
編集
URI追加
11
Turtleファイルの例
12
Excel to Turtle
13
⼀番上の⾏は、
prefix を書いてお
く
1. この列をCopy し
て、Wordに張り付
ける
2. 1をCopy して、メ
モ帳に張り付けると
Turtleの出来上がり
拡
⼤
= セル & セル
として、セルをつなげるだけ
フェーズ3: Turtleファイルを公
開する
書誌情報
データベース
図書館システム
TSVエクス
ポート出⼒
イン
ポート
Turtle
ファイル
Excel
⼈⼿で作成/出⼒
Copy&Paste
編集
URI追加
Web上へ
Turtleファイル
を置く
14
LOD公開のステップ:ひとつづ
つクリアする(再)
• フェーズ1: 教科書にURIを付ける
• URIを設計する
• データにURIを追加する
• フェーズ2: Turtleファイルを作る
• フェーズ3: Turtleファイルを公開する場所に置く
• ここまでは超簡単!これだけでも⼗分有⽤
• フェーズ4:URIをたどったら有⽤な情報を得られるよう
にする
• 公開場所が変わってもURIが変わらないようにしておく
• URIごとに「有⽤な情報」をHTMLファイルとして作る
• HTMLファイルを公開する
• フェーズ5:Githubを使う
15
16
例: 4:URIをたどったら有⽤な情
報な情報を得られるように
フェーズ4(1):公開場所が変わっても
URIが変化しないように
→ Persistent URL(PURL: 永続的URL)
• 例:URI: https://w3id.org/jp‐textbook/
→ 実際は https://jp‐textbook.github.io/
• 代表的なサービス
• https://w3id.org/ (W3C Permanent Identifier Community 
Group) ← 教科書LODで使⽤
• http://purl.org/ (OCLC → Internet Archive; 2016‐)
• 2017年時点では後者の⽅が簡単…
• w3id.orgでのプロジェクトURLの追加
• Github上でのプルリクエスト
• 転送先URIの構造を決めて、設定を追加
• .htaccess + README.md を追加する
• cf. https://github.com/perma‐id/w3id.org/pull/582
17
(参考: purl.org)
https://archive.org/services/purl/
18
フェーズ4(2):URIごとに「有⽤な
情報」をHTMLファイルとして作る
書誌情報
データベース
図書館システム
TSVエクス
ポート出⼒
イン
ポート
Turtle
ファイル
Excel
⼈⼿で
作成/出⼒
Copy&Paste
編集
URI追加
Webへ公開
19
Rubyスク
リプトHTMLファイル群
フェーズ4(3):HTMLファイルを
公開する
書誌情報
データベース
図書館システム
TSVエクス
ポート出⼒
イン
ポート
Turtle
ファイル
Excel
⼈⼿で
作成/出⼒
Copy&Paste
編集
URI追加
Web上へ
Turtleファイル
を置く
20
Rubyスク
リプトHTMLファイル群
LOD公開のステップ:ひとつづ
つクリアする(再)
• フェーズ1: 教科書にURIを付ける
• URIを設計する
• データにURIを追加する
• フェーズ2: Turtleファイルを作る
• フェーズ3: Turtleファイルを公開する場所に置く
• ここまでは超簡単!これだけでも⼗分有⽤
• フェーズ4:URIをたどったら有⽤な情報を得られるよう
にする
• 公開場所が変わってもURIが変わらないようにしておく
• URIごとに「有⽤な情報」をHTMLファイルとして作る
• HTMLファイルを公開する
• フェーズ5:Githubを使う
21
現在の教科書LOD
書誌情報
データベース
図書館システム
TSVエクス
ポート出⼒
編集
URI追加
csv2ttl.rb
Turtle
ファイル
CSVエクス
ポート出⼒
Rubyスク
リプトHTMLファイル群
Git push
Excel
⼈⼿で作成/出⼒
Copy&Paste 22
その他もろもろ
• About 書くの重要
• Githubのissue活⽤
• 元データとの連動・更新を意識した体制
• 修正依頼、元データ取得依頼
• 重要:そもそもTSVで取得できるように
• 元データを直したほうがいいのか
• プログラムでできることなのか
• URI、RDF設計が重要
• それぞれのデータ意味や成り⽴ちの調査をなるべく頑張って
する(ただし、頑張りすぎない)
• RDF語彙
• とりあえず、独⾃語彙でいいから出しちゃう。
• あとで有名な語彙と関連付ければいい。
• そのデータを出せるのはあなただけ!
• まずは作ろう!
• あとで直してリリースすればいい
• 作ってみるといろいろアイデアわく
23
最後に
• Poorman’s Linked Data Toolkit の紹介
• Excelで簡単に作成できる
• 静的なHTMLをつくっちゃう
• Githubの活⽤など、より詳しく知りたい⽅は、
GLAMtech(ハンズオン、ワークショップ形式
のイベント)に参加ください(阿児さんからLT
で紹介あります)
24

2017-09-03 c4ljp-教科書LOD