Linked Open Dataの基礎とこれからの情報活用
嘉村哲郎
(東京藝術大学 芸術情報センター/総合芸術アーカイブセンター)
2013年9月21日
主催:日本図書館研究会 情報組織化グループ研究会共催:情報知識学会関西部会、「書誌コントロール研究会」
(科学研究費基盤研究(C) 課題番号25330391 研究代表者:和中幹雄)
1. Open Data概説
• オープンデータとは• オープンデータと行政• オープンデータ政策と文化・芸術(EUを例に)• オープンデータの公開・共有
2. Linked Open Data
• Linked Dataの基本原則
• RDFの特徴
• SPARQL EndpointとSPARQL クエリ
3. Linked Open Dataの利用事例
1.Open Data「オープンデータとは」
ウェブの発明者,ティム・バーナーズ=リー氏による呼びかけ
2009年,TEDにおけるプレゼンテーション
政府のデータ,科学研究のデータ,コミュニティのデータ・・・生のデータ(Raw Data)を今すぐWebに公開しよう!!
日本語字幕付き動画: http://goo.gl/xNQkp
Raw Data NowA year of Open Data
“オープン”の解釈
オープンの定義
The Open Definition - http://opendefinition.org/
インターネット上のコンテンツやデータのオープンとは,それらを誰もが自由に利用,再配布,再利用できること
“A piece of data or content is open if anyone is free to use, reuse, and redistribute it — subject only, at most, to the requirement to attribute and/or share-alike.”
オープンの定義
The Open Definition - http://opendefinition.org/
インターネット上のコンテンツやデータのオープンとは,それらを誰もが自由に利用,再配布,再利用できること
オープンの定義
The Open Definition - http://opendefinition.org/
インターネット上のコンテンツやデータのオープンとは,それらを誰もが自由に利用,再配布,再利用できること
文化情報学術情報公共情報
Open Data
オープンライセンスを適用したデータ
オープンデータとは
「オープンデータと行政」Open Data & Open Government
Open Government
• 政府・自治体等公的機関が保有するデータを公開する• 公開したデータを活用したサービスの提供,データを元にした政策提言の創出
• 公的な機能をより多くの主体で分担して担い,コストの削減と経済の活性化を目指す
G8 - 2013によるオープンデータ憲章の合意外務省オープンデータ憲章http://www.mofa.go.jp/mofaj/gaiko/page23_000044.html
原則1:原則としてのオープンデータ • データによっては,公表出来ないという合理的な理由があることを認識しつつ,この憲章で示されているように,政府のデータすべてが,原則として公表されるという期待を醸成する。
原則3:すべての者が利用できる • 幅広い用途のために,誰もが入手可能なオープンな形式でデータを公表する。• 可能な限り多くのデータを公表する。
原則5:イノベーションのためのデータの公表 • オープンデータ・リテラシ-を高め,オープンデータに携わる人々を育成する。• 将来世代のデータイノベーターの能力を強化する。
原則2:質と量• しっかりした一貫性のあるメタデータ(データに関する属性情報を説明するデータ)の使用。• 最新の主要なメタデータの解説の最新化の公表及び更新。• 十分に具体化されたデータの確保。• データ使用者からの意見の聴取。
原則5:イノベーションのためのデータの公表• 著作権を尊重しつつオープン・ライセンスを使用したデータの発出を支持する。• データをまとめて機械判読できることを確保する。• アプリケーション・プログラミング・インターフェースを使用してデータを公表する。• データの革新的な使用方法を促進する。
オープンデータ憲章(技術的な別添より)
各国政府のオープンガバメントポータル
■カテゴリ数 50種類
教育,観光,ビジネス,経済,健康等
■データセット数 97,536データセット
■データ形式:49種
■モバイルアプリ: 137個
■市民作成アプリ: 349個
「家庭の医学」のようなアプリ 米国の公営バスアプリ
米国の例
ナショナルギャラリー・ワシントン
議会図書館バーチャルツアー※数値情報は2013.9.9時点
Open Dataの特徴
政府・自治体・企業・コミュニティなど組織または個人が保有するデータを公開し,第三者が自由に利用できるようにすること
•情報を公開 ⇒ 情報の存在を世の中に伝える
•CSVやXMLなど再利用可能かつ機械処理できる形式の公開が望ましい
•公開するデータはできるかぎりオープンライセンスを適用する
Open Government Dataの取組み(2013.4)
Open Government Dataの取組み(2013.9)
経済産業省 2013.03
福井県鯖江市
「公共施設情報「ご当地情報Q&A」
「オープンデータ政策と文化・芸術」EUを例に
2003年に「公共セクターの情報の利活用に関する指令」制定(EU PSI指令2003/98/EC)
“加盟国は、公的機関が保有する情報の再利用が可能な場合には、商業・非商業
の目的を問わずこれらの情報が再利用可能であることを確保しなければならない”
国際大学GLOCOM 公開シンポジウム「オープンデータが拓く未来」2012/5/31,「欧州におけるオープンデータ政策の現状」より引用.
1.「公開を基本」とすること
2.「再利用を可能」とすること,その場合は「商業・非商業の目的を問わない」こと
3. 但し、"国家機密保持等の観点から機微性の高い情報の他、「公共放送局や研究教育機"
"MLA」の保有する情報は当面の間対象外"
欧州のオープンデータ政策
PSI(Public Sector Information)
公的な「美術館・博物館・図書館・アーカイブズ施設」を含む
欧州のオープンデータ政策
2013年6月:「PSI指令」大規模改正(2013/37/EU)
オープンデータ義務の対象を追加
•データ提供対価の原則無償化義務(限界費用) •データのマシンリーダビリティ確保義務
実質的に情報のOpen Data/Linked Open Dataでの公開Europeana支援の措置
参考資料: 生貝直人 "EUにおけるオープンデータ政策とクリエイティブ・コモンズ・ライセンス "より作成
関連の指令(2012年EU孤児作品指令)
「Orhan Works DirecGve、2012/28/EU」
対象:EU加盟国の公的な文化施設 (図書館・美術館・博物館・アーカイブズ・研究教育機関等)
内容:1. 権利者不明の(写真作品を除く)孤児作品のデジタル化・Web公開ができる
2. 孤児作品と認定後、権利者が名乗り出るまでEU全域で同様に扱われる
ただし、権利者不明であるという調査した記録を当局に提出する
加盟国は2014年10月までに国内法化義務
参考資料: 生貝直人 "EUにおけるオープンデータ政策とクリエイティブ・コモンズ・ライセンス "より作成
「オープンデータの公開・共有」
データカタログサイト「CKAN」
•データを公開,存在をアピールしたいとき•誰でもデータを登録・利用(ダウンロード)できる•自前で公開している公開データベースのAPIもオープンデータの情報として登録可能•データの形式やライセンスのタイプ,公開主体からデータを検索することができる
WikiPedia 編集ワークショップ
• 内容チームごとに地域の史跡や歴史的建造物等について現地調査および文献調査し、実際にウィキペディア記事を書く
• 目的
• 地域の観光資源に関する記事を充実(オープンデータを自ら作る)
• リテラシーの向上
• 特徴文献調査等は図書館で実施。 → 図書館等文化施設との連携
オープンデータ街歩きワークショップ横浜
• 内容歴史データや観光スポットデータを使用した地図アプリやARアプリを用いてグループに別れて街歩きを行った。
• 目的身近なフィールドでオープンデータに触れる機会を提供し、その有用性を感じてもらう。そして、オープンデータの新たな応用例を発想してもらう。
• 特徴歴史資料を携えながらの街歩きは学びや気づきが多く得られる
データ共有5つのステップ
どんな形式でもよいのでデータをオープンライセンスで公開 例:PDF, jpg
構造化された形式で公開 例:画像化された表よりも,エクセル表等
機械処理できる汎用的な形式で公開 例:csv, tsv, json
http://5stardata.info/ja/
★3までは誰もが容易にできます
情報を使う情報を探す情報を集める情報を整える
使う側にとって効率的なデータ環境を提供する
★ ★ ★ ★ ★負担を減らすために…
★4 ★5でデータ公開をめざす意義
2.Linked Open Data
Open Dataオープンライセンスのデータ
Linked Data標準化されたデータのWeb
Linked Open Dataオープンライセンスを適用した
標準化されたデータ
Linked Data標準化されたデータのWeb
Webの標準化規格・技術を使用してデータを公開・共有するための方法論
Webの原則
1.IRIをHTML文書の識別子に使う http://josoken.digick.jp/index.html
※IRI(国際化資源(リソース)識別子):Internationalized Resource Identifier)
Webの原則
1.IRIをHTML文書の識別子に使う http://josoken.digick.jp/index.html2.IRIの利用にはHTTPの技術を用いる ↑
※IRI(国際化資源(リソース)識別子):Internationalized Resource Identifier)
Webの原則
1.IRIをHTML文書の識別子に使う http://josoken.digick.jp/index.html2.IRIの利用にはHTTPの技術を用いる ↑3.IRIにアクセスするとHTML文書が見られる(Webブラウザを使用した場合)
※IRI(国際化資源(リソース)識別子):Internationalized Resource Identifier)
Webの原則
1.IRIをHTML文書の識別子に使う http://josoken.digick.jp/index.html2.IRIの利用にはHTTPの技術を用いる ↑3.IRIにアクセスするとHTML文書が見られる(Webブラウザを使用した場合)
4.HTML文書には他の文書へのIRIのリンクがある
http://josoken.digick.jp/meeting/news.html#201309
※IRI(国際化資源(リソース)識別子):Internationalized Resource Identifier)
Linked Dataの基本原則
1.IRIをあらゆる事物の識別子に使う(リソース)
Linked Dataの基本原則 http://example.jp/001
藤田(という事物)に関する識別子
1.IRIをあらゆる事物の識別子に使う(リソース)
Linked Dataの基本原則
2.IRIの利用にはHTTPの技術を用いる
http://example.jp/001藤田(という事物)に関する識別子
1.IRIをあらゆる事物の識別子に使う(リソース)
Linked Dataの基本原則
2.IRIの利用にはHTTPの技術を用いる
http://example.jp/001藤田(という事物)に関する識別子
XML等の構造化データ
1.IRIをあらゆる事物の識別子に使う(リソース)
3.IRIにアクセスすると事物に関する 構造化データが得られる
(リソース)
Linked Dataの基本原則
2.IRIの利用にはHTTPの技術を用いる
http://example.jp/001藤田(という事物)に関する識別子
http://example.jp/002書籍(という事物)に関する識別子
4.データには他のIRIへのリンクを含む
XML等の構造化データ
1.IRIをあらゆる事物の識別子に使う(リソース)
3.IRIにアクセスすると事物に関する 構造化データが得られる
(リソース)
Dereference(参照解決)
人物、藤田に関するHTMLページ人がみる情報
XML等の構造化データコンピュータがみるデータ
HTML
RDF
リソースhttp://example.jp/001
アクセス方法によってHTTPサーバが自動判別
・・・・・・・・・・・・
Dereference(参照解決)
人物、藤田に関するHTMLページ人がみる情報
XML等の構造化データコンピュータがみるデータ
HTML
RDF
リソースhttp://example.jp/001
アクセス方法によってHTTPサーバが自動判別
・・・・・・・・・・・・
Dereference(参照解決)
人物、藤田に関するHTMLページ人がみる情報
XML等の構造化データコンピュータがみるデータ
HTML
RDF
リソースhttp://example.jp/001
アクセス方法によってHTTPサーバが自動判別
・・・・・・・・・・・・
Dereference(参照解決)
人物、藤田に関するHTMLページ人がみる情報
XML等の構造化データコンピュータがみるデータ
HTML
RDF
リソースhttp://example.jp/001
アクセス方法によってHTTPサーバが自動判別
・・・・・・・・・・・・
HTTPの技術コンテントネゴシエーションを利用
①NDLが定義した人物「夏目漱石」という人物名称を同定する識別子
Cool IRI実体と表現を区別する方法論
http://id.ndl.go.jp/auth/entity/00054222
303 See Other 303 See Other
国立国会図書館の個人名 典拠データのRDFは「名称実体」と「典拠情報」の区別に303転送型IRI(COOL IRI)を利用
http://id.ndl.go.jp/auth/ndla/00054222 http://id.ndl.go.jp/auth/ndla/00054222.rdf
2-3. 名称実体URIhttp://iss.ndl.go.jp/ndla/function/#2
①NDLが定義した人物「夏目漱石」という人物名称を同定する識別子
Cool IRI実体と表現を区別する方法論
http://id.ndl.go.jp/auth/entity/00054222
303 See Other 303 See Other
国立国会図書館の個人名 典拠データのRDFは「名称実体」と「典拠情報」の区別に303転送型IRI(COOL IRI)を利用
http://id.ndl.go.jp/auth/ndla/00054222 http://id.ndl.go.jp/auth/ndla/00054222.rdf
① 実体として参照するアドレス
2-3. 名称実体URIhttp://iss.ndl.go.jp/ndla/function/#2
①NDLが定義した人物「夏目漱石」という人物名称を同定する識別子
Cool IRI実体と表現を区別する方法論
http://id.ndl.go.jp/auth/entity/00054222
303 See Other 303 See Other
国立国会図書館の個人名 典拠データのRDFは「名称実体」と「典拠情報」の区別に303転送型IRI(COOL IRI)を利用
http://id.ndl.go.jp/auth/ndla/00054222 http://id.ndl.go.jp/auth/ndla/00054222.rdf
① 実体として参照するアドレス
②ブラウザで①にアクセスすると自動的に人がみる典拠情報を表示(表現)するページへ転送
2-3. 名称実体URIhttp://iss.ndl.go.jp/ndla/function/#2
①NDLが定義した人物「夏目漱石」という人物名称を同定する識別子
Cool IRI実体と表現を区別する方法論
http://id.ndl.go.jp/auth/entity/00054222
303 See Other 303 See Other
国立国会図書館の個人名 典拠データのRDFは「名称実体」と「典拠情報」の区別に303転送型IRI(COOL IRI)を利用
http://id.ndl.go.jp/auth/ndla/00054222 http://id.ndl.go.jp/auth/ndla/00054222.rdf
① 実体として参照するアドレス
②ブラウザで①にアクセスすると自動的に人がみる典拠情報を表示(表現)するページへ転送
③Linked Dataプログラムが①にアクセスすると自動的にデータへ転送
2-3. 名称実体URIhttp://iss.ndl.go.jp/ndla/function/#2
構造化データ RDF(Resource Description Frame Work)
RDFの特徴
•W3CというWebに関する技術の標準化を進める団体により標準化されたデータ形式
•1つの情報を主語,述語,目的語の3つ組(Triple)であらわす
画家「藤田」と作品「カフェ」を3つ組であらわすと
構造化データ RDF(Resource Description Frame Work)
RDFの特徴
•W3CというWebに関する技術の標準化を進める団体により標準化されたデータ形式
•1つの情報を主語,述語,目的語の3つ組(Triple)であらわす
主語
画家「藤田」と作品「カフェ」を3つ組であらわすと
藤田嗣治
構造化データ RDF(Resource Description Frame Work)
RDFの特徴
•W3CというWebに関する技術の標準化を進める団体により標準化されたデータ形式
•1つの情報を主語,述語,目的語の3つ組(Triple)であらわす
主語
作品は
述語
画家「藤田」と作品「カフェ」を3つ組であらわすと
藤田嗣治
構造化データ RDF(Resource Description Frame Work)
RDFの特徴
•W3CというWebに関する技術の標準化を進める団体により標準化されたデータ形式
•1つの情報を主語,述語,目的語の3つ組(Triple)であらわす
主語
作品は
述語 目的語
画家「藤田」と作品「カフェ」を3つ組であらわすと
藤田嗣治 「カフェ」
構造化データ RDF(Resource Description Frame Work)
RDFの特徴
•W3CというWebに関する技術の標準化を進める団体により標準化されたデータ形式
•1つの情報を主語,述語,目的語の3つ組(Triple)であらわす
画家「藤田」と作品「カフェ」を3つ組であらわすと
藤田嗣治 「カフェ」
構造化データ RDF(Resource Description Frame Work)
RDFの特徴
•W3CというWebに関する技術の標準化を進める団体により標準化されたデータ形式
•1つの情報を主語,述語,目的語の3つ組(Triple)であらわす
画家「藤田」と作品「カフェ」を3つ組であらわすと
藤田嗣治 「カフェ」
主語
構造化データ RDF(Resource Description Frame Work)
RDFの特徴
•W3CというWebに関する技術の標準化を進める団体により標準化されたデータ形式
•1つの情報を主語,述語,目的語の3つ組(Triple)であらわす
画家「藤田」と作品「カフェ」を3つ組であらわすと
藤田嗣治 「カフェ」作者は
主語述語
構造化データ RDF(Resource Description Frame Work)
RDFの特徴
•W3CというWebに関する技術の標準化を進める団体により標準化されたデータ形式
•1つの情報を主語,述語,目的語の3つ組(Triple)であらわす
画家「藤田」と作品「カフェ」を3つ組であらわすと
藤田嗣治 「カフェ」作者は
主語述語目的語
コンピュータが内容を理解するための情報「メタデータ」
メタデータ(属性) データ(値)
名前 藤田嗣治
生年 1886
没年 1968
メタデータ(属性) データ(値)
タイトル カフェ
制作年 1949
材質・技法 油彩/キャンバス
メタデータは再利用性を考慮し,なるべく広く使われているものの利用が望ましい
「dc」は接頭子と呼ばれ,メタデータの典拠元を表す
行頭のdc: はhttp://purl.org/dc/terms/ 定義されている事を記述する
例: RDFデータの冒頭に定義されるプレフィクス@prefix dc:<http://purl.org/dc/terms/>
メタデータ(属性) データ(値)
dc:title カフェ
dc:created 1949
dc:medium 油彩/キャンバス
コンピュータが内容を理解するための記述
dc:title が何を表すのか,知りたい場合は,http://purl.org/dc/terms/title にアクセスすることで,その用途・適用範囲などの説明が見られる.
dc:titleDublin Core(団体組織)
主題や名前を意味する識別子 lodac:Address
bmx:exhibition
British Museumが定義した「展覧会」を意味する識別子
LODACグループが定義した「住所」を意味する識別子
@prefix dc: <http://purl.org/dc/terms/> .@prefix ex: <http://example.jp/>.
ex:001 a ex:artwork;dc:title "カフェ"@ja;dc:created "1949";dc:medium "油彩/キャンバス"@ja; .
メタデータ
値
RDFデータ(Turtle)
ネットワーク上でコンピュータが処理できるデータ
RDFデータをネットワーク上で使えるようにするため,識別子(アドレス)をつけるhttp://example.jp/001
RDFデータの中身はテキストベース
@prefix dc: <http://purl.org/dc/terms/> .@prefix ex: <http://example.jp/>.
ex:001 a ex:artwork;dc:title "カフェ"@ja;dc:created "1949";dc:medium "油彩/キャンバス"@ja; .
メタデータ
値
RDFデータ(Turtle)
ネットワーク上でコンピュータが処理できるデータ
主語
述語目的語
RDFデータをネットワーク上で使えるようにするため,識別子(アドレス)をつけるhttp://example.jp/001
RDFデータの中身はテキストベース
@prefix dc: <http://purl.org/dc/terms/> . @prefix ex: <http://example.jp/>.
ex:001 a ex:artwork;dc:title "カフェ"@ja;dc:created "1949";dc:medium "油彩/キャンバス"@ja; .
このデータ内容を要約すると・・・http://example.jp/001はインターネット経由でデータを参照でき、データはexample.jpのartworkに分類される、「カフェ」というタイトルがつくデータである
ネットワーク経由で参照できるデータ
@prefix dc: <http://purl.org/dc/terms/> . @prefix ex: <http://example.jp/>.
ex:001 a ex:artwork;dc:title "カフェ"@ja;dc:created "1949";dc:medium "油彩/キャンバス"@ja; .
exはprefixで http://example.jp/と定義。この部分は,http://example.jp/001の情報が記述してあるデータと宣言している
このデータ内容を要約すると・・・http://example.jp/001はインターネット経由でデータを参照でき、データはexample.jpのartworkに分類される、「カフェ」というタイトルがつくデータである
ネットワーク経由で参照できるデータ
LinkするData
Linked Data
メタデータ(属性) データ(値)
名前 藤田嗣治
生年 1886
没年 1968
メタデータ(属性) データ(値)タイトル カフェ
制作年 1949
材質・技法 油彩/キャンバス
■リレーショナルデータベースの場合
作者テーブル 作品テーブル作者ID 名前 生年 没年001 藤田嗣治 1886 1968
作品ID タイトル 制作年 材質・技法 作者ID2381 カフェ 1949 油彩/キャンバス 001
作者IDでテーブルを結合作品情報
作品ID タイトル 制作年 材質・技法 作者ID2381 カフェ 1949 油彩/キャンバス 001
名前 生年 没年藤田嗣治 1886 1968
複数のデータを結合して使う
作者
作品
IRI 名前 生年 没年http://example.jp/001 藤田嗣治 1886 1968
IRI タイトル 制作年 材質・技法 作者http://example.jp/2381 カフェ 1949 油彩/キャンバス http://example.jp/001
IDをHTTPで参照可能なIRIにするとインターネット経由でデータを参照できる
作品IRI タイトル 所蔵館 材質・技法 作者
http://example.jp/4552 自画像 http://data.geidai.ac.jp/150 油彩/キャンバス http://example.jp/001
所蔵館IRI タイトル 住所 所蔵作品
http://data.geidai.ac.jp/150 東京藝術大学大学美術館 東京都台東区上野公園.... http://example.jp/4552
所蔵館crm:P55_has_current_location
http://example.jp/4552 http://data.geidai.ac.jp/150
作者・作品・所蔵館の関係
自画像
http://example.jp/2381
http://example.jp/001
作者dc:creator
作者dc:creator
タイトルdc:title
油彩/キャンバス
素材・技法dc:medium
油彩/キャンバス
素材・技法dc:medium
カフェ タイトルdc:title
タイトルdc:title
東京藝術大学大学美術館
住所lodac:Address
東京都台東区上野公園...
藤田嗣治
1886
1968
名前foaf:name
生年rda2:dateOfBirth
没年rda2:dateOfDeath
リソース
リソース
リソース
リソース
RDFデータを使う時は
メタデータ(属性) データ(値)dc:title カフェ
dc:created 1949dc:medium 油彩/キャンバスdc:creator http://example.jp/001
データの場所http://example.jp/2381
RDF検索システムやプログラムでは次のような命令を実行する
データのアドレス「http://example.jp/2381」の 1. メタデータ「dc:title」 に格納されている値を表示しなさい → “カフェ”
2. メタデータ「dc:creator」のリソース「foaf:name」の値を表示しなさい → “藤田嗣治”
RDFのシリアライズ形式
@prefix dc: <http://purl.org/dc/terms/> .@prefix ex: <http://example.jp/> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<http://example.jp/001> a ex:artwork ; dc:created "1949" ; dc:medium "油彩/キャンバス"@ja ; dc:title "カフェ"@ja .
Turtle (Nation3またはN3)
{ "@id": "http://example.jp/001", "@type": "http://example.jp/artwork", "http://purl.org/dc/terms/created": "1949", "http://purl.org/dc/terms/medium": { "@language": "ja", "@value": "油彩/キャンバス" }, "http://purl.org/dc/terms/title": { "@language": "ja", "@value": "カフェ" }}
JSON-LD
RDFのシリアライズ形式
<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:dc="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="http://example.jp/001"> <dc:title xml:lang="ja">カフェ</dc:title> <dc:medium xml:lang="ja">油彩/キャンバス</dc:medium> <rdf:type rdf:resource="http://example.jp/artwork"/> <dc:created>1949</dc:created> </rdf:Description></rdf:RDF>
RDF/XML
<div> <div itemtype="http://example.jp/artwork" itemid="http://example.jp/001" itemscope> <meta itemprop="http://purl.org/dc/terms/created" content="1949" /> <meta itemprop="http://purl.org/dc/terms/medium" content="油彩/キャンバス" /> <meta itemprop="http://purl.org/dc/terms/title" content="カフェ" /> </div></div>
RDFa
SPARQLクエリとEndpointRDFデータを使う
SPARQLとは
•RDFデータの検索や操作するためのクエリ言語•対象データモデル:RDF•プロトコル: HTTP
クエリ言語 SQL SPARQL
データ格納 RDB(MySQL, FileMaker等)
Triple Store(Virtuosso,OWLIM等)
データ構造 リレーショナルモデル RDF モデル
一般的なRDBMS Linked Data用
SPARQL Endpointとは
•RDF StoreへのSPARQLクエリを受け付けるURI → プログラムからSPARQLクエリを発行し、結果を取得する場合に利用
•クエリを試せる入力フォームを備えている場合がある
データベース&API実装・表示
APIは公開するサイトごとに仕様が異なる → 開発者はAPIを理解する手間が掛かる
サイトのAPI仕様を理解
APIの仕様に合わせてデータ抽出・加工
http://example.jp/001
http://example.jp/001のdc:titleの値を抽出して表示しなさい
データの整形・表示dc:titleの値を返す
SPARQLクエリは標準化されたRDF問合わせ言語
従来のWeb上のデータ利用方法(API)
SPARQL Endpointを用いたRDFデータの利用
クエリに合わせてデータ抽出・加工・整形
SPARQL Endpoint 例: DBpedia Japanese
Wikipediaのテンプレートデータをメタデータマッピングし、RDFデータをLODで公開しているサイト
http://ja.dbpedia.org/
問: 「夏目漱石の出生地はどこですか?」
SPARQLクエリ例
PREFIX dbp:<http://ja.dbpedia.org/resource/>PREFIX dbp-owl:<http://dbpedia.org/ontology/>
SELECT ?seichi ?labelWHERE { dbp:夏目漱石 dbp-owl:birthPlace ?seichi . ?seichi rdfs:label ?label.}
http://ja.dbpedia.org/resource/夏目漱石
夏目漱石
dbp:小説
rdfs:label
dbp-owl:genredbp:夏目漱石dbp:武蔵国
武蔵国
rdfs:label
dbp-owl:birthPlace
http://ja.dbpedia.org/resource/武蔵国 http://ja.dbpedia.org/resource/小説
小説
rdfs:label
リソース
リテラル
PREFIX dbp:<http://ja.dbpedia.org/resource/>PREFIX dbp-owl:<http://dbpedia.org/ontology/>
SELECT ?seichi ?label
WHERE {
dbp:夏目漱石 dbp-owl:birthPlace ?seichi .
?seichi rdfs:label ?label.
}
結果
PREFIX dbp:<http://ja.dbpedia.org/resource/>PREFIX dbp-owl:<http://dbpedia.org/ontology/>
SELECT ?seichi ?label
WHERE {
dbp:夏目漱石 dbp-owl:birthPlace ?seichi .
?seichi rdfs:label ?label.
}
SELECTにはクエリの結果として受け取りたいデータの変数を指定。?seichi = 生地のリソースIRI、?label = 文字列の格納変数
結果
PREFIX dbp:<http://ja.dbpedia.org/resource/>PREFIX dbp-owl:<http://dbpedia.org/ontology/>
SELECT ?seichi ?label
WHERE {
dbp:夏目漱石 dbp-owl:birthPlace ?seichi .
?seichi rdfs:label ?label.
}
SELECTにはクエリの結果として受け取りたいデータの変数を指定。?seichi = 生地のリソースIRI、?label = 文字列の格納変数
WHERE の{ }にRDFグラフの組み合わせを記述します
結果
PREFIX dbp:<http://ja.dbpedia.org/resource/>PREFIX dbp-owl:<http://dbpedia.org/ontology/>
SELECT ?seichi ?label
WHERE {
dbp:夏目漱石 dbp-owl:birthPlace ?seichi .
?seichi rdfs:label ?label.
}
SELECTにはクエリの結果として受け取りたいデータの変数を指定。?seichi = 生地のリソースIRI、?label = 文字列の格納変数
WHERE の{ }にRDFグラフの組み合わせを記述します
dbp:夏目漱石は、PREFIXによりリソースを指定http://ja.dbpedia.org/resource/夏目漱石
dbp-owl:birthPlaceは「生地」を意味するメタデータ?seichi はdbp-owl:birthPlaceのリンク先IRIを格納する変数
結果
PREFIX dbp:<http://ja.dbpedia.org/resource/>PREFIX dbp-owl:<http://dbpedia.org/ontology/>
SELECT ?seichi ?label
WHERE {
dbp:夏目漱石 dbp-owl:birthPlace ?seichi .
?seichi rdfs:label ?label.
}
SELECTにはクエリの結果として受け取りたいデータの変数を指定。?seichi = 生地のリソースIRI、?label = 文字列の格納変数
WHERE の{ }にRDFグラフの組み合わせを記述します
dbp:夏目漱石は、PREFIXによりリソースを指定http://ja.dbpedia.org/resource/夏目漱石
dbp-owl:birthPlaceは「生地」を意味するメタデータ?seichi はdbp-owl:birthPlaceのリンク先IRIを格納する変数
?seichi(http://ja.dbpedia.org/resource/武蔵国)のメタデータ rdfs:label の値を 変数?labelに格納する
結果
3.Linked Open Data利用事例
Publication Events
Author
Series
Subject
Identifiers
Title
Miscellaneous literals
British Library Data Model - Book@prefix blt: <http://www.bl.uk/schemas/bibliographic/blterms#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix owl: <http://www.w3.org/2002/07/owl#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix dct: <http://purl.org/dc/terms/> .@prefix isbd: <http://iflastandards.info/ns/isbd/elements/> .@prefix skos: <http://www.w3.org/2004/02/skos/core#> .@prefix bibo: <http://purl.org/ontology/bibo/> .@prefix rda: <http://rdvocab.info/ElementsGr2/> .@prefix bio: <http://purl.org/vocab/bio/0.1/> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix event: <http://purl.org/NET/c4dm/event.owl#> .@prefix org: <http://www.w3.org/ns/org#> .@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
Tim Hodson - [email protected] Deliot - [email protected] Danskin - [email protected] Heather Rosie - [email protected] Ashton - [email protected] V.1.4 August 2012
All properties with a range of blt:PublicationEvent can be used with blt:PublicationStartEvent and blt:PublicationEndEvent.Arrows omitted for clarity.
Assume that most instance data will have an rdfs:label. These properties have been omitted for clarity.
skos:prefLabelskos:notation
Resource BL URI
dct:BibliographicResource
bibo:Bookor
bibo:MultiVolumeBook
Lexvo URI
dct:language
PublicationEventBL URI
blt:publication
blt:PublicationEvent
a
event:Event
rdfs:subClassOf
PlaceBL URI
MARC country code URI
AgentBL URI
foaf:Agentdcterms:Agent
geo:SpatialThing
a
a
http://r.d.g/id/year/xxxx
Person-as-ConceptBL URI dct:subject
Topic LCSHBL URI
dct:subject
skos:notation
a
Skos:Concept
GeoNames URI
foaf:focus
foaf:focus
CalendarYear
a
skos:broader
LCSH URI if available
Organization-as-ConceptBL URI
Family-as-ConceptBL URI
id.loc.gov URI for scheme
Family-as-AgentBL URI
a
a
blt:bnbbibo:isbn10 bibo:isbn13
dct:abstract
dct:tableOfContents
foaf:focus
dct:subject
skos:inScheme
owl:sameAs
skos:inScheme
skos:inScheme
dct:spatial
dct:hasPart
dct:subject
Place-as-ConceptBL URI
LCSH URI if available
Place-as-ThingBL URIfoaf:focus
owl:sameAs
event:time
event:agentevent:place
event:place
dct:titledct:alternative
Person-as-Agent BL URI foaf:Agent
dct:Agentfoaf:Person
a
foaf:name
foaf:familyName
Birth BL URI
Death BL URI
rda:periodOfActivityOfThePerson
bio:Birth
bio:Death a
a
VIAF URI if available
owl:sameAs
bio:date
bio:date
bio:eventbio:event
foaf:givenName
Organization-as-Agent BL URI
foaf:Agentdct:Agent
foaf:Organizationorg:Organization
rdfs:label[foaf:name]
a
blt:hasContributedTo
dct:creator
dct:contributor
dct:creator
dct:subject
dct:subject
foaf:focus
a
a
Dewey BL URI
Dewey Info URI
Dewey Info URI for scheme
a
rdfs:subClassOf
rdfs:subClassOf
isbd:P1042(content note)
isbd:P1053(extent)
MARC language code URI
foaf:focus
geo:SpatialThingdct:Location
blt:OrganizationConcept a
rdfs:subClassOf
id.loc.gov URI for scheme
skos:inScheme
rdfs:subClassOf
id.loc.gov URI for scheme
skos:inScheme
ardfs:subClassOf
SeriesBL URI
bibo:Series
bibo:issn
blt:PlaceConcept
blt:TopicLCSH
blt:TopicDDC
blt:FamilyConcept
blt:PersonConcept
a
rdfs:subClassOf
id.loc.gov URI for scheme
A Class
Key
A Literal
An InstanceExternal
Link
dct:description
blt:hasCreated
blt:hasCreated
dct:contributor
blt:hasContributedTordfs:label
dct:isPartOf
bibo:numVolumes
isbd:P1008(edition statement)
isbd:P1073(note on language)
blt:PublicationStartEvent
blt:PublicationEndEvent
blt:publicationStart
blt:publicationEnd
PublicationEndEventBL URI
PublicationStartEventBL URI
rdfs:subClassOf
rdfs:subClassOf
a
a
a
skos:notation skos:prefLabel
The British Library
国立国会図書館典拠データ http://iss.ndl.go.jp/ndla/about/
Yale Centre for British ARTメタデータから高精細画像までLODとして公開(CC0).
LIDO、CIDOC CRM、ULAN等
既存メタデータをなるべく利用
BookSampo (フィンランドナショナルライブラリー)
文学研究や文献検索用のLinked Dataポータル
内外のWeb上のデータへのリンクと、フィンランド内で構築された人物典拠や
博物館資料情報等との連携も図られている
europeana
OAI ORE (Open Archives Initiative Object Reuse & Exchange) for
organizing an object’s metadata and digital representation(s)
Dublin Core for descriptive metadata
SKOS (Simple Knowledge Organization System) for conceptual vocabulary representation
CIDOC-CRM for event and relationships between objects
Adopt Semantic Web representation principles (RDF)Re-use and mix different vocabularies togetherPreserve original data and still allow for interoperability
Europeana Data Model (EDM)
Linked JAZZ
人物情報はJazz Archive、DBpedia、LC Authority等
を利用。
ミュージシャン同士の関係性の定義は、
マニアユーザーによる人物間の関係をつくる
福井県鯖江市の観光案内アプリケーション
‣ 鯖江市オープンデータ(公共情報、文化施設、ランドマークなど)をRDFデータ化
鯖江市だけでなく、外部のRDFデータと関連づけて情報を提示
GeoNLP
ユーザー参加型の地名辞書作成・共有ポータルユーザーが作成した辞書データを用い、自然言語に含まれる辞書単語を解析する
GeoNLPの地名情報SPARQL Endpointも利用可能
68
所蔵館
公共・地域・文化・芸術・学術... あらゆる情報がリンクすることで
Web上に分散する関連情報をより使いやすく
同一人物
アーカイブズ
作者
作品
作品
作者
所蔵館
所蔵館
著作権利を
「可能な限り放棄する」
著作権切れや作者の意志表示等で
「完全に自由に利用可能」
再利用される情報は,
インターネット経由でアクセスして
他のデータからリンクして利用できる
オープンライセンスが望ましい
Linked Open Dataオープンライセンスを適用した
標準化されたデータ
★4 ★5でデータ公開をめざす意義
利用の立場1. インターネットに接続されたコンピュータからデータにリンクできる2. データの一部(例えば項目の1つ)を取り出して使うことができる3. 他のデータと複数組み合わせて使う事ができる4. データのリンク情報から関連する情報を発見することができる❖ただし、利用者はRDFデータの構造を理解する必要がある
公開の立場1.データ項目へのアクセスを細かく設定でき、利用者にあわせて設計できる (データ構造及び公開のシステムとして)
2.他のデータ公開者からデータに対してのリンクができる 同様の仕組みで公開されたデータならば、リンクのみでリンク先のデータ項目を使うことができる
データ共有への5つのステップ
どんな形式でもよいのでオープンライセンスで公開する 例:PDF, jpg
コンピュータが処理可能な形式で公開 例:xlsx, doc
オープンに利用できる形式で公開 例:csv, tsv, json
IRIを含めたRDFデータで情報公開 例:RDF, SPARQL Endpoint
他のRDFデータへのリンクを含めたオープンライセンスのデータを公開
参考サイト Creative Commons http://creativecommons.org/ Open Data Handbook http://opendatahandbook.org/ja/what-is-open-data/index.html G8 2013 http://www.mofa.go.jp/mofaj/gaiko/page3_000060.html OPEN DATA SITES(Government) http://www.data.gov/opendatasites Your Art http://apps.usa.gov/yourart.shtml Library of Congress- Virtual Tour http://apps.usa.gov/library-of-congress-virtual-tour.shtml Open Data METI http://datameti.go.jp/ 鯖江市 http://www.city.sabae.fukui.jp/pageview.html?id=11552 税金はどこへ行った? http://spending.jp CKAN(日本) http://data.linkedopendata.jp/ オープンデータニュース http://itpro.nikkeibp.co.jp/article/NC/20130829/501046/ 5Stars Model http://5stardata.info/ja/ NTT Data「電子行政オープンデータ戦略」の決定と今後の課題 http://e-public.nttdata.co.jp/topics_detail2_prev/id=711 生貝直人 "EUにおけるオープンデータ政策とクリエイティブ・コモンズ・ライセンス " http://ikegai.jp/yokohama130823.pdf IRI(国際化資源(リソース)識別子):Internationalized Resource Identifier)
http://www.w3.org/International/articles/idn-and-iri/ Turtle(N3) http://www.w3.org/TR/turtle/ JSON-LD http://json-ld.org/ RDF/XML http://www.w3.org/TR/rdf-syntax-grammar/ RDF-Translator http://rdf-translator.appspot.com/ 国会図書館 名称実体URI http://iss.ndl.go.jp/ndla/function/#2 SPARQL1.1 http://www.w3.org/TR/sparql11-query/ DBpedia Japanese http://ja.dbpedia.org/ LODAC http://lod.ac/ British National Bibliography http://bnb.data.bl.uk/ Stanford http://library.stanford.edu/projects/linked-data Book Sampo http://www.seco.tkk.fi/publications/2013/makela-et-al-booksampo-swj.pdf data.europeana.eu http://pro.europeana.eu/web/guest/support-for-open-data http://europeana.ontotext.com/ datahub (linked data) http://datahub.io/group/lld Linked Jazz http://linkedjazz.org/