Linked Data (再)入門

Preview:

DESCRIPTION

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

Citation preview

Linked Data (再)入門

武田英明takeda@nii.ac.jp  @takechan2000

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

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

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

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

再利用もでき、かつ再配布できるようなデータである。課すべき決まりは、たかだか「作者のクレジットを残す」あるいは「同じ条件で配布する」程度である。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/

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

自由に利用 自由に再加工

自由に再配布

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

• 機械可読フォーマット

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

とを許すライセンス

CC0権利放棄

CC BY表示

CC BY-SA表示 - 継承

CC BY-NC表示 – 非営利

CC BY-ND表示 – 改変禁止

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

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

全ての権利の主張

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

オープンライセンス

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

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

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

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

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

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

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

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

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

データの公開、共有

Linked DataLinked Open Data (LOD)

http://www.data.gov/

文書の Web

データの Web

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

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

この属性の意味は?

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

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

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

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

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

(必ずしもオープンとは限らない⇒ 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

“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”

LOD Cloud(Linking Open Data)

http://dbpedia.org/page/Tokyo

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

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

Things Things Things Things Things

Linked Data Browser

Linked Data Mashup

Linked Data Search Engine

SPARQL

RDF Store

Tabulator

http://sindice.com/

DBpedia Mobile

施 設

ユーザ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

スポット

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

標準化された形式で記述

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

利用

育なび .net

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

保育園データ

保育所空き状況データ

医療機関データ

防災・減災データ

元データは ExcelRDF に変換

RDF ストア

データ格納

SPARQL を発行

レスポンス

Web サーバ ブラウザ

育なび .net

公園データ

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

健康遊具データ

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

Things Things Things Things Things

Linked Data Browser

Linked Data Mashup

Linked Data Search Engine

SPARQL

RDF Store

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/

クエリのフォームと返値

Query form Results

SELECT, ASK XML, (JSON)

CONSTRUCT,DESCRIBE

RDF Graph

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 .}

複数クエリパターンの利用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 .}

全変数

複数パターンへのマッチ

接続グラフ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

オプション• 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 . }}

修飾子( 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

和( 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 . }}

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”)}

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

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

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

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

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

Recommended