42
Linked Data 再再 再再 () 再再再再 [email protected] @takechan2000 再再再再再再再再 NPO 再再 再再再再 再再再再再 再再再再 再再再再再再再 ・・・ 再 7 再 LinkedData 再再再2013 再 10 再 8 再 再再 再再再再再再再再再再 、:

Linked Data (再)入門

Embed Size (px)

DESCRIPTION

第7回Linked Data勉強会での資料です。Linked Dataのオープンデータでの位置づけ、Linked Dataとは何か、Linked Dataの利用について語ります。

Citation preview

Page 1: Linked Data (再)入門

Linked Data (再)入門

武田英明[email protected]  @takechan2000

国立情報学研究所NPO 法人 リンクト・オープン・データ・イニシアティブ

第 7 回 LinkedData 勉強会、 2013 年 10 月 8 日、於:インフォコム株式会社

Page 2: Linked Data (再)入門

オープンデータとは• データを公開するということ?• 情報公開とは違うの?

Page 3: Linked Data (再)入門

オープンデータとは• オープンデータとは、誰でも自由に使えて

再利用もでき、かつ再配布できるようなデータである。課すべき決まりは、たかだか「作者のクレジットを残す」あるいは「同じ条件で配布する」程度である。http://opendatahandbook.org/ja/what-is-open-data/

• “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.”   http://opendefinition.org/

Page 4: Linked Data (再)入門

データは情報流通社会の資源

自由に利用 自由に再加工

自由に再配布

Page 5: Linked Data (再)入門

オープンデータに必要なもの• オープンライセンス

• 機械可読フォーマット

Page 6: Linked Data (再)入門

オープンライセンス• 情報を最小限の制約以外で自由に使うこ

とを許すライセンス

CC0権利放棄

CC BY表示

CC BY-SA表示 - 継承

CC BY-NC表示 – 非営利

CC BY-ND表示 – 改変禁止

CC BY-NC-SA表示 - 非営利 - 継承

CC BY-NC-ND表示 - 非営利 - 改変禁止

全ての権利の主張

CC ライセンスいくつかの権利の主張

オープンライセンス

Page 7: Linked Data (再)入門

機械可読フォーマット• 再利用性を高める

– 内容を切ったり、はったりできること

• 機械(コンピュータ)が内容を処理できる形式が望ましい– 特定のプログラムで処理できる– オープンなフォーマットで公開– Web のようにつながる

Page 8: Linked Data (再)入門

オープンデータへの5つのステップ

どんなフォーマットでよいからオープンラインセスでデータ公開 例: PDF, jpg

コンピュータが処理可能なフォーマットで公開例: xls, doc

オープンに利用できるフォーマットで公開 例: csv

RDF (と SPARQL )でデータ公開 例: RDFa, RDF ストア

他へのリンクを入れたデータを公開

Page 9: Linked Data (再)入門

データの公開、共有

Linked DataLinked Open Data (LOD)

Page 10: Linked Data (再)入門

http://www.data.gov/

Page 11: Linked Data (再)入門
Page 12: Linked Data (再)入門

文書の Web

Page 13: Linked Data (再)入門

データの Web

このデータに対応する別のデータ

このデータに別のデータと同じ

この属性の意味は?

異なるデータ源のデータが相互に結びつく

Page 14: Linked Data (再)入門

Linked Open Data (LOD)• オープンでリンクできるデータ

– 今の Web が“文書の Web” 、 LOD は“データのWeb”

• Linked   Data の 4 原則– 事柄の名前に URI を使うこと– 名前の参照が HTTP URI でできること– URI を参照したときに関連情報が手に入るように

理解可能なデータを提供– 外部へのリンクも含めよう

(必ずしもオープンとは限らない⇒ Linked Data )

Page 15: Linked Data (再)入門

Linked Data の記述のしかた• RDF(+RDFS, OWL) の利用

– 簡便な記述方法: < 主語 > < 述語 > < 目的語 > .

<http://www-kasm.nii.ac.jp/~takeda#me> rdfs:type foaf:Person .<http://www-kasm.nii.ac.jp/~takeda#me> foaf:name “ 武田英明” .<http://www-kasm.nii.ac.jp/~takeda#me> foaf:gender “male” .<http://www-kasm.nii.ac.jp/~takeda#me> foaf:knows <http://southampton.rkbexplorer.com/id/person07113> .

http://www-kasm.nii.ac.jp/~takeda#me

http://southampton.rkbexplorer.com/id/person07113

foaf:knows

foaf:Person

rdfs:type

“ 武田英明” “male”

foaf:name foaf:gender

Page 16: Linked Data (再)入門

“1955-06-08”

Linked Data の記述

http://www-kasm.nii.ac.jp/~takeda#me

http://southampton.rkbexplorer.com/id/person-07113

foaf:knows

foaf:Person

rdfs:type

foaf:name foaf:gender

<http://dbpedia.org/resource/Tim_Berners-Lee>

owl:sameAs

dbpprop:birthDatedbpprop:birthPlacedbpprop:name

dbpedia:Computer_scientist

dbpprop:occupation

“ 武田英明” “male”

“London, England”“Sir Tim Berners-Lee”

Page 18: Linked Data (再)入門
Page 19: Linked Data (再)入門

LOD Cloud(Linking Open Data)

Page 20: Linked Data (再)入門

http://dbpedia.org/page/Tokyo

Page 21: Linked Data (再)入門

http://en.wikipedia.org/wiki/Tokyo

Page 22: Linked Data (再)入門

Linked Data をどうやって使うのか

Things Things Things Things Things

Linked Data Browser

Linked Data Mashup

Linked Data Search Engine

SPARQL

RDF Store

Page 23: Linked Data (再)入門

Tabulator

Page 24: Linked Data (再)入門

http://sindice.com/

Page 25: Linked Data (再)入門

DBpedia Mobile

Page 26: Linked Data (再)入門
Page 27: Linked Data (再)入門

施 設

ユーザYokohama Art Spot

RDFストア

SPARQLエンドポイント

RDFストア

SPARQLエンドポイント

XML

SPARQL

LODAC Museum

横浜 LOD

作品

所蔵館

アーティスト

アーティスト

施設

イベント

Yokohama Art Spot の構成

全体マップ表示における処理

施設

イベント

HTMLJavaScriptPythonSPARQLWrapper

OWLIM SE

ARC2

RDFストア

SPARQLエンドポイント

PinQA

質問

回答

ユーザ

SPARQL

JSON

SPARQL

JSON

D2R

スポット

Page 28: Linked Data (再)入門

施設情報ページにおける情報取得と表示

標準化された形式で記述

ユーザに適した表示が簡単に実現可能

利用

Page 29: Linked Data (再)入門

育なび .net

Page 30: Linked Data (再)入門

育なび .net のシステム育なび .net

保育園データ

保育所空き状況データ

医療機関データ

防災・減災データ

元データは ExcelRDF に変換

RDF ストア

データ格納

SPARQL を発行

レスポンス

Web サーバ ブラウザ

Page 31: Linked Data (再)入門

育なび .net

公園データ

広域避難場所データ 駐車場データ

健康遊具データ

Page 32: Linked Data (再)入門

Linked Data をどうやって使うのか

Things Things Things Things Things

Linked Data Browser

Linked Data Mashup

Linked Data Search Engine

SPARQL

RDF Store

Page 33: Linked Data (再)入門

SPARQL

• RDF データ問い合わせ言語• SQL に似た構造

PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?nameWHERE { ?person foaf:name ?name . }

クエリの変数

クエリのパターン (Turtle 形式 )

クエリのフォーム

RDF Store

(RDF Database)

SPAQL

Query

SPARQL Query Language for RDFW3C Recommendation 15 January 2008http://www.w3.org/TR/rdf-sparql-query/

Page 34: Linked Data (再)入門

クエリのフォームと返値

Query form Results

SELECT, ASK XML, (JSON)

CONSTRUCT,DESCRIBE

RDF Graph

Page 35: Linked Data (再)入門

CONSTRUCT

PREFIX foaf: <http://xmlns.com/foaf/0.1/>CONSTRUCT { ?person foaf:name ?name .}FROM <http://fumi.me/foaf.rdf>WHERE { ?person foaf:name ?name .}

Page 36: Linked Data (再)入門

複数クエリパターンの利用PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT *WHERE { ?person foaf:name ?name . ?person foaf:mbox ?email .}

PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT *WHERE { ?person foaf:name ?name; foaf:mbox ?email .}

全変数

複数パターンへのマッチ

Page 37: Linked Data (再)入門

接続グラフPREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>SELECT ?name ?uriWHERE { ?person foaf:knows ?who . ?who foaf:name ?name; rdfs:seeAlso ?uri .}

?person

?name

?who?urifoaf:knows

foaf:name

rdfs:seeAlso

Page 38: Linked Data (再)入門

オプション• OK if it is not matched but return values if matched

PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>SELECT ?name ?uriWHERE { ?person foaf:knows ?who . ?who foaf:name ?name . OPTIONAL { ?who rdfs:seeAlso ?uri . }}

Page 39: Linked Data (再)入門

修飾子( Modifiers )PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>SELECT ?name ?uriWHERE { ?person foaf:knows ?who . ?who foaf:name ?name; OPTIONAL { rdfs:seeAlso ?uri . }} 昇順 ( 降順なら ORDER BY DESC(?name) )

解の個数の上限

ORDER BY ?nameLIMIT 10

Page 40: Linked Data (再)入門

和( UNION )

PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?name ?mboxWHERE { { ?person foaf:name ?name; foaf:mbox ?mbox . } UNION { ?person foaf:name ?name; foaf:mbox_sha1sum ?mbox . }}

Page 41: Linked Data (再)入門

FILTER: regex

PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-

schema#>SELECT DISTINCT ?name ?emailFROM <http://fumi.me/foaf.rdf>WHERE { ?person foaf:name ?name; foaf:mbox ?email . FILTER regex(str(?email), "w3.org”, “i”)}

Page 42: Linked Data (再)入門

まとめ• Linked Open Data (LOD) とは

– “ データの Web” 、つながるデータ– データの再利用性を高める

• LOD の技術– RDF , RDFS , OWL– SPQARL

• LOD をどう使うか– マッシュアップアプリケーション

• データを使い回す– データマネージメント