「セマンティックWeb技術に触れてみよう！
RDF/SPARQLハンズオン勉強会」～ オープンデータからLinkedDataまでを総ざらい ～LOD技術とオープンデータ

2013/12/21
コンテキスト・コンピューティング研究部会

サブリーダー 小林 茂
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

アジェンダ• オープンデータについて– オープンガバメント• セマンティックWeb技術(RDF，SPARQL)– RDFとは– RDFの表現形式：タートル，RDFa，マイクロデータ– RDFグラフへの問い合わせ：SPARQL– 利用環境(SPARQL Timeliner，SparqlEPCU，LinkData)• LODについて– Linked Data，LOD，LCD，LODクラウド図，・・・– 事例
2
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

オープンデータとは• オープン(ライセンス)であること– 誰でもが使えること• データであること– 二次利用が可能なデータであること• 今までは，– 公開されていなかった。
– 公開されていてもWebページであるか，PDFであり，使えなかった。(ひどい時は画像)– 人が見ると分かるが，データとして使えなかった。
– 再利用するための権利が不明であった3
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

オープンガバメントとは• 開かれた政府とは– インターネットの双方向性等を活用することで、積極的な政府情報の公開や行政への市民参加を促進する取組(オープンガバメントラボによる)• キーワード

出典：http://www.openlabs.go.jp/labs– インターネット活用– 官民協働の公共活動– 政府への国民参加– 政府の透明性向上• オープンデータは，オープンガバメントのひとつの要素• 新しいサービス，ビジネスの創出や産業活性化が促進されることを期待
4
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

オープン化の流れ

データの公開
行政機関

サービス

民間企業

データの活用
行政機関

サービス

民間企業

マッシュアップ(合成サービス)

国民，
市民

国民，
市民

• サービスの提供者・消費者の関係が固定• サービス提供者同士が独立• 政府は二次利用可能なデータを提供

付加価値を付ける

5
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

何ができるか• 市民活動によるデータの加工・配信– 政府は生データを提供• 民間による情報の活用・商用利用– マッシュアップにより付加価値を提供• 行政へのフィードバック・官民協業
付加価値を付ける

生データ

データ活用サイト
商用サイト

マッシュアップ

市民

政府

オープンデータ

活用アイデア
開示要求，市民の声，政策提言
6
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.アジェンダ• オープンデータについて– オープンガバメント• セマンティックWeb技術(RDF，SPARQL)– RDFとは– RDFの表現形式：タートル，RDFa，マイクロデータ– RDFグラフへの問い合わせ：SPARQL– 利用環境(SPARQL Timeliner，SparqlEPCU，LinkData)• LODについて– Linked Data，LOD，LCD，LODクラウド図，・・・– 事例
7
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

RDFとは• Resource Description Framework• メタデータを主語，述語，目的語の3つのリソースの組によって表現する
トリプル
述語
Predicate

主語
Subject

目的語
Object

国会議事堂は建築物である。
国会議事堂は千代田区にある。
千代田区の人口は44,696人である。
事実の表現型

建築物

場所

千代田区

国会議事堂

人口

RDFのモデル

リテラル
(定数値)

44,696
8Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

URI：リソースを特定• リソースは，Web上で表現されるあらゆる物– 人物，文書，建築物，イベント，属性名，・・・• RDFでは，リソースを特定するために，URI(UniversalIRI も可Resource Identifier)を適用– URIで識別されるものがリソース– 私の所属 → http://aitc.jp/

私所属

http://aitc.jp/

私

所属

AITC

名前AITC

簡略した記法
9

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

RDFのXML表現
リソース

メタデータ

国会議事堂

場所：千代田区

主語
Subject
RDFであることを示すコンテナ

国会議事堂

述語
Predicate
場所「場所」，「千代田区」
もリソース

目的語
Object千代田区<rｄｆ：RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#><rdf:Description rdf:about="国会議事堂を示すURI"><場所
場所>千代田区
場所>
場所 千代田区</場所
千代田区
場所</rdf:Description></rｄｆ：RDF><rｄｆ：RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#><rdf:Description rdf:about="国会議事堂を示すURI" 場所="千代田区
場所 千代田区">
千代田区</rdf:Description></rｄｆ：RDF>
属性で記述
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

10

RDF：事実を表現する
東京ドームへのアクセス情報

ユニシスへのアクセス情報

ユニシスは豊洲にある
場所
ユニシス
豊洲

東京ドームの最寄り駅は後楽園である
最寄り駅
東京ドーム
後楽園

試合が東京ドームで開催される
場所
試合
東京ドーム

私は会社にいる居場所
私
ユニシス

私の個人的な情報

東京ドームでの試合の案内
分散して存在する
11

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

RDFの表現形式
Personschema.org で定義する “Person” の定義

rdf:type

rdfs:Class

rdfs:label

Person@en

rdfs:subClassOf

ThingnTriple<http://schema.org/Person> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type><http://www.w3.org/2000/01/rdf-schema#Class> .
<http://schema.org/Person> <http://www.w3.org/2000/01/rdf-schema#label> "Person"@en .
<http://schema.org/Person> <http://www.w3.org/2000/01/rdf-schema#subClassOf><http://schema.org/Thing> .

Turtleschema:Person a rdfs:Class;rdfs:label "Person"@en;rdfs:subClassOf schema:Thing.

簡略形URIを3つ並べる。
同一な主語を省略可。
ピリオドで終了<URI>を3つ並べピリオドで終了

RDF/XML<rdf:Description rdf:about="http://schema.org/Person"><rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/><rdfs:label xml:lang="en">Person</rdfs:label><rdfs:subClassOf rdf:resource="http://schema.org/Thing"/>
XML形式。
</rdf:Description>

少し複雑 12

12

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

RDFa (第2版)•W3Cで標準化作業中。作業案 (2013-09-13)– HTML Microdata
http://www.w3.org/TR/microdata/••

XML，HTML文書の中にメタデータを埋め込むための仕様
属性として，13種類を定義––––––––––•

about
主語を指定する
typeof型を参照するproperty
述語(プロパティー)を指定する
resource
他のリソースを指定する
content
リテラルを指定する
datatype
データ型を参照する
prefix
プレフィックスを指定する
vocab
語彙(URI)を参照する
inlistRDFのリストを指定する
rel,rev,href,src HTMLと同様<span
about="主語のURI"
typeof="型のURI"
property="プロパティーのURI">内容そのもの</span><span
about="urn:ISBN:978-4-7649-0427-9"
typeof="http://purl.org/ontology/bibo/Book"
property="http://purl.org/dc/terms/description">Linked Data</span>

属性値は，コンテンツそのものを利用可能

13
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

マイクロデータ•

W3Cで標準化作業中。作業案 (2012-10-25)– HTML Microdata
http://www.w3.org/TR/microdata/•••

HTML文書の中にメタデータを埋め込む
ための仕様
HTML5とは独立した仕様だがHTML5の一部と言えよう属性として，5種類を定義
–
–
–
––

••

itemsope
itemprop
itemtype
itemref
itemidアイテムの範囲を設定する
プロパティー名を指定する
アイテムの型を指定する
他のアイテムを参照する
アイテムに識別子を設定する<figureitemscope
itemtype="型URIxxx" ><img

itemprop="作品"src="images/house.jpeg"
alt="・・・"><figcaption itemprop="タイトル">私の家</figcaption></figure>

属性値は，コンテンツそのものや既存のHTMLタグを利用
型：型URIxxx
アイテムを得るためのDOM APIが定義されている作品："images/house.jpeg"– document . getItems( [ types ] ) アイテムを得る
プロパティー名を得る タイトル：私の家– element . properties– element . itemValue [ = value ] プロパティー値を得る
14

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

RDFグラフ

複数のトリプルが繋がり，RDFグラフとなるトリプルA
A

B
p1

BCAA

p1

D

C

"abc"
"abc"

B

D

複数のトリプルを繋げる

15
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

RDFグラフに対する問合せB
p2

D

p1

p3

"ddd"

p1

A

p2CH

p2

E

p3

"hhh"

F
p1

問1

Ap1?x

問2

Ap1?x

Gp2?p?z

結果は?z

結果は?x=C?y=H?x=C?y=D?x=C?y=H
16

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

SPARQLでの問合せ
求める変数

変数を置く

グラフパターン

A?up1?p?xC

p2

p2?z?v
p3

X ：リソースのURI
pn ：プロパティーのURI? ：変数を表す?s

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

SPARQL問合せ

結果SELECT ?z
WHERE {A p1 ?x .
?x p2 ?z .
}?z→H

SELECT ?u
WHERE {?u ?p C .
C p2 ?v .
?v p3 ?s .
}?u→AとB

17