$30 off During Our Annual Pro Sale. View Details »

軽量Linked Open Data公開ワークフロー / 20200621 Lightweight Linked Open Data Workflow

軽量Linked Open Data公開ワークフロー / 20200621 Lightweight Linked Open Data Workflow

Code4Lib JAPANカンファレンス2020
2020年6月21日(日)
http://wiki.code4lib.jp/wiki/C4ljp2020

Masao Takaku

June 21, 2020
Tweet

More Decks by Masao Takaku

Other Decks in Research

Transcript

  1. 軽量Linked Open Data公開
    ワークフロー
    Poorman's ToolkitからXlsx2Shapesまで
    1
    Code4Lib JAPANカンファレンス2020
    2020年6月21日(日)
    江草由佳
    国立教育政策研究所
    [email protected]
    高久雅生
    筑波大学
    [email protected]

    View Slide

  2. 大きな目標とそのためのツール群
    • Linked Open Data (LOD) の展開を図る
    簡単にLOD公開、提供ができると嬉しい!
    整理されたコレクション情報の共有
    詳細な書誌情報の活用・再利用
    LODメタデータスキーマの文書化と共有
    • ツール群
    LODデータ構築:Poorman’s Toolkit
    データ配信(公開):ttl2html + GitHub Pages
    永続的URL:w3id.org
    メタデータ文書化:xlsx2shapes + SHACL
    2

    View Slide

  3. 3
    https://w3id.org/jp-textbook/

    View Slide

  4. 教科書Linked Open Data (LOD)
    • 過去半世紀以上にわたって専門図書館(教育図書
    館)が整備してきた書誌情報をウェブの世界で活用
    しやすく整理する = 教科書データのウェブリソー
    ス化
     対象:約7,000冊の書誌情報(タイトルや出版社)
     教科書と関連するリソースにURLを付与する
    学習指導要領, 教科, 種目, 教科書目録, etc.
     メタデータ項目を整理してできるだけシンプルに提供
    • LODチャレンジ2016テーマ賞「教育LOD賞」受賞
    • (詳しくは下記論文を参照)
     江草由佳, 高久雅生: 教科書Linked Open Data(LOD)の
    構築と公開. 情報の科学と技術, 2018, Vol.68, No.7,
    pp.361-367. https://doi.org/10.18919/jkg.68.7_361
    4

    View Slide

  5. 教科書LODにおけるURL付与 (1)
    • すべての教科書をURLで一意に示せる・
    利用可能に
    5
    https://w3id.org/jp-textbook/高等学校/2006/世B/013
    例:高等学校で使われている「世界史B」の教科書
    (2006年に検定済み(奥付に記載あり)、東京書籍が出版)
    • 教科書記号(例:世B)及び教科
    書番号(例:013)
    • 教科書のわかりやすいところに
    記載さている
    • (文部科学省が検定済教科書を
    整理・周知する際に使用)
    高等学校地理歴史教科用
    文部科学省検定済教科書
    2 東書 世B 013
    教科書の表紙に:

    View Slide

  6. 教科書LODにおけるURL付与 (2)
    • 種目
    https://w3id.org/jp-textbook/curriculum/高等学校
    /2013/国語/国語総合
    学校種別 + 学習指導要領施行年 + 教科名 + 種目名
    • 教科
     https://w3id.org/jp-textbook/curriculum/高等学校
    /2013/国語
    学校種別 + 学習指導要領施行年 + 教科名
    • 学習指導要領
     https://w3id.org/jp-textbook/curriculum/高等学校
    /2013
    学校種別 + 学習指導要領施行年
    6

    View Slide

  7. 教科書LODデータセット構築/公開
    のデータフロー
    書誌情報
    データベース
    図書館システム
    TSVエクス
    ポート出力
    編集
    URL追加
    RDF/Turtle
    ファイル
    Rubyスク
    リプト
    HTMLファイル

    Git push
    Excel
    人手で作成/出力
    Copy&Paste
    7
    Rubyスク
    リプト
    ttl2html

    View Slide

  8. 教科書LODにおける技術的工夫
    • LODデータ変換の簡易化 Poorman’s Toolkit
    • GitHub Pagesによる静的サイト構築
    ttl2html
    • 永続的URL w3id.org
    • メタデータの文書化 Shapes Constraint
    Language (SHACL)
    8

    View Slide

  9. LODデータ変換の簡易化
    Poorman’s Toolkit (1)
    9
    https://github.com/jp-textbook/jp-
    textbook.github.io/wiki/Toolkit
    LODチャレンジ2018テーマ賞「LODプロモーション賞」受賞!

    View Slide

  10. LODデータ変換の簡易化
    Poorman’s Toolkit (2)
    • 1行1レコードとして記録された元データを
    RDF/Turtle形式に書き出すようExcel関数で
    整形するだけ…
    10

    View Slide

  11. LODデータ変換の簡易化
    Poorman’s Toolkit (3)
    11

    View Slide

  12. GitHub Pagesによる静的サイト構築
    • RDF/TurtleデータをまとめてHTMLに変換し、
    GitHub Pagesで静的サイトとして公開
    • 変換ツールはttl2htmlとして汎用化して公開
    12
    https://github.com/masao/ttl2html https://rubygems.org/gems/ttl2html

    View Slide

  13. 永続的URL w3id.org (1)
    • “W3C永続識別子コミュニティ”が運営する
    永続URLサービス
    特定のURLへのリダイレクトサービス
    他にも類似サービスは多々あり
    – Purl.org, DOI, etc.
    無料
    URL設計を反映可能
    簡単に使える= GitHubプルリクエスト
    • https://github.com/perma-id/w3id.org
    13

    View Slide

  14. 永続的URL w3id.org (2)
    14
    https://github.com/perma-id/w3id.org/pull/582

    View Slide

  15. 永続的URL w3id.org (3)
    15
    https://github.com/perma-id/w3id.org/blob/master/jp-textbook/.htaccess
    text/turtle形式へのHTTPリク
    エストが来たときだけ、*.ttl
    ファイルへのリクエストとし
    て扱う

    View Slide

  16. メタデータモデルの文書化
    Shapes Constraint Language (SHACL)
    • メタデータモデルの構造を明示する
    それぞれのURLリソースがどのようなプロパ
    ティ(属性)を持っているか文書化したい
    各プロパティがどのような値(リテラル)を持
    つか
    どのようなリソースを値として持つか?
    16

    View Slide

  17. 教科書LODにおけるメタデータモデル
    17
    textbook:中学校
    /2001/英語/904
    textbook:school
    /中学校
    textbook:
    curriculum/
    中学校/2002
    英語
    NEW
    CROWN
    ENGLISH
    SERIES 3
    森住衛 ほか
    29名 2001
    904
    K260.91||S1
    2U||01/02
    EB100153
    24
    2002-
    2005
    textbook:
    curriculum/
    中学校/2002/
    外国語
    textbook:
    curriculum/
    中学校/2002/
    外国語/英語
    中学校学習
    指導要領 1998-
    12-14
    2002-
    04-01
    http://www.mext.go.jp/a_me
    nu/shotou/cs/1320061.htm
    改訂版
    3
    NIER請求記号
    NIERレコードID
    書名
    編著者名
    版情報
    出版者名
    検定年 使用年
    対象学年
    教科書記号
    教科書番号
    種目(科目)
    掲載教科書目録
    教科
    対応する
    学習指導要領
    名称
    告示日 施行年月日 本文URL
    学校種別
    学校種別
    2005年度より
    「改訂版」に変
    更。
    注記
    教科がある
    所蔵情報
    種目がある
    120
    B5
    ページ数
    大きさ
    B2|600|H17/
    18
    2200501
    10
    所蔵情報
    RCレコードID
    RC請求記号
    978-4-
    385-
    70190-5
    ISBN
    textbook:
    catalogue/
    中学校/2004
    textbook:
    catalogue/
    中学校/2003
    textbook:
    catalogue/
    中学校/2002
    textbook:
    catalogue/
    中学校/2001
    textbook:
    publisher/
    2001/三省堂

    View Slide

  18. 教科書LODにおけるメタデータモデルの
    文書化 (1)
    18
    https://w3id.org/jp-textbook/about

    View Slide

  19. 教科書LODにおけるメタデータモデルの
    文書化 (2)
    19
    https://w3id.org/jp-textbook/about

    View Slide

  20. 教科書LODにおけるメタデータモデ
    ルの文書化 (3)
    • 文書化記述を手書きするのはかなり辛い…
    • 方針: Excel → SHACL → HTMLへの自動変換
    • SHACL (Shape Constraint Language)
    検証可能なRDFデータモデルの形式記述
    文書化(リソースが持つ構造の説明)
    • 自動化ツール xlsx2shapes の開発!
    20
    xlsx2shapes ttl2html

    View Slide

  21. SHACLの記述例 (1)

    a sh:NodeShape;
    sh:targetClass ;
    sh:property [
    sh:path ;
    sh:name "書名"@ja;
    sh:name "Title"@en;
    sh:maxCount 1;
    sh:minCount 1;
    sh:datatype ;
    skos:example "NEW CROWN ENGLISH SERIES 3";
    sh:order 1
    ];
    ….
    21
    textbook:中
    学校/2001/
    英語/904
    NEW CROWN
    ENGLISH
    SERIES 3
    書名
    schema:name
    textbook:
    Textbook

    View Slide

  22. SHACLの記述例 (2)

    a sh:NodeShape;
    sh:targetClass ;
    ….
    sh:property [
    sh:path ;
    sh:name "教科"@ja;
    sh:name "Subject area"@en;
    sh:maxCount 1;
    sh:minCount 1;
    sh:class ;
    sh:description "textbook:curriculum/学校種別/学習指導要領施行
    年/教科として示される科目リソースと関連付
    ける"@ja;
    sh:description "Link to the subject area resource, represented as
    textbook:curriculum/type of school/year of
    curriculum guideline/subject area."@en;
    skos:example "textbook:curriculum/中学校/2002/外国語";
    sh:order 15
    ];
    ….
    22
    textbook:中
    学校/2001/
    英語/904 教科
    textbook:subjectArea
    textbook:
    curriculum/
    中学校/2002/
    外国語
    textbook:
    Textbook
    textbook:
    curriculum
    /Subject
    Area

    View Slide

  23. xlsx2shapes (1)
    • 1シートが1シェイプとして表現されたメタ
    データモデルの記述を書き込んだExcelファ
    イルを読み込み、SHACL形式を出力する
    • 先頭行はヘッダ行
    • 2行目はターゲットクラス
    • 3行目以降は各パスの情報を指定する
    23

    View Slide

  24. xlsx2shapes (2)
    24

    View Slide

  25. まとめと今後の課題
    • お手軽なLOD公開(早い・安い・うまい)
    • 多様なツール群による支援
    • 持続可能性への検討
    • 今後の課題
    やや複雑な依存関係をよりシンプルに
    ツール vs ツール
    ツール vs データ
    文書化フォーマットをより標準的な形にしたい
    人柱!
    25

    View Slide