29
ビビビビビビビビ ビビビビビビビビビビ Linked Open Data ビビ ビビ ビビビビビビビビ NPO ビビビビ ビビビビビ ビビビビ ビビビビビビビ ・・・

ビジネスで使えるオープンデータの技術@ビジネス活用のためのオープンデータセミナー(2016.01.22)

Embed Size (px)

Citation preview

ビジネスで使えるオープンデータの技術

Linked Open Data 入門

大向 一輝国立情報学研究所

NPO リンクト・オープン・データ・イニシアティブ

自己紹介

•国立情報学研究所( NII )

• セマンティックウェブ・オープンデータ

• ソーシャルメディア

• 学術情報サービス CiNii•NPO リンクト・オープン・データ・イニシアティブ( LODI )

• Linked Open Data の普及・啓発活動

• Open DATA METI ・政府データカタログサイトの構築支援

•オープンデータに関する活動

• 横浜オープンデータソリューション発展委員会

• 内閣官房電子行政オープンデータ実務者会議 公開支援 WG• オープン&ビッグデータ活用・地方創生推進機構 利活用・普及委員会

• データエクスチェンジ・コンソーシアム

オープンデータの開放性

•制度面の開放性

•技術面の開放性

•Open Definition 2.0 より

• オープンライセンス

• アクセス

• オープンフォーマット

• 機械可読

• 利用に際する制約がない

• 公開された仕様に基づく

• 1 つ以上のフリー・リブレ・オープンソースソフトウェアで処理可能

OL :オープンライセンス

RE :再利用可

OF :オープンフォーマット

URI :識別子

LD :Linked Data

http://5stardata.info

公開から利活用へ

•自律的に進むオープンデータの公開

• Open Data Index : 122 カ国

• 日本のオープンデータ都市数: 180 自治体

•利活用のユースケース

• 異なる組織のデータの組み合わせ

• 異なる種類のデータの組み合わせ

• やりたいことは事前には決まらない

• 開発者によるスクラップ&ビルドにも限界がある

•ウェブの成功モデルをデータの世界に

• ベストエフォート

• 相互運用性

相互運用性

•複数の異なるものを接続したり組み合わせて使用したときに、きちんと全体として正しく動作すること。( IT 用語辞典)

• 自律的なシステムの拡大には必須

•相互運用性のための標準化

• 通信: Ethernet ・ Wi-Fi ・ SMTP…• 文字・言語

• ファイル形式

• 意味

•ウェブの成功モデル

• HTTP ・ URI ( URL )・ HTML• ウェブブラウザ

ユースケース

•ウェブ上の複数のデータを比較・統合・連携したい!

•例:人口を比較する

• 横浜市 男女別人口及び世帯数-行政区

• http://www.city.yokohama.lg.jp/ex/stat/opendata/suikei01.html

• 大阪市 推計人口(毎月 1 日現在)・人口異動

• http://www.city.osaka.lg.jp/toshikeikaku/page/0000014987.html

• 大阪府 大阪府の住民基本台帳人口

• http://www.pref.osaka.lg.jp/kikaku_keikaku/opendata/index.html

横浜市

大阪市

大阪府

つながらないデータ

•項目の有無  面積・人口密度・外国人…

•項目の順番  総数 / 男 / 女・男 / 女 / 合計

•項目名  区名・市町村名・市区名

•行の順番  北区 / 都島区・都島区 /福島区

•値の表記   2,686,990 ・ 1245748•値の単位  人・千人

•同名異義  旭区(!)

•暗黙的な階層関係  横浜市→鶴見区・神奈川区…

•画一的な処理は不可能

• データ形式の標準化を待つ?

• つながるための努力をする?

行をつなぐ

•ID を与える

• データの主題を明確にする

• 同名異義を避ける

• データ同士の階層関係を明確にする

•標準地域コード(総務省統計局)

• 神奈川県: 14000• 横浜市: 14100• 旭区(横浜市): 14112• 旭区(大阪市): 27117

列をつなぐ・値を揃える

•語彙を選ぶ

• 項目の意味を統一する

• 項目間の関係を明確にする

•共通語彙基盤(経済産業省・ IPA )

• 区名・市町村名・市区名→名称

• 総数・計・人口総数→人数

•値の表記ルールを統一する

• 数値のカンマ区切り

• 日時表記( ISO 8601/W3CDTF )

• ・・・

共通語彙基盤

http://goikiban.ipa.go.jp

つながるデータ

グラフ構造への変換

14112

旭区

247907

名称

人数

14108

金沢区

203237

名称

人数

1410014000

横浜市神奈川県

名称名称

部分

部分

グラフ構造への変換

27117

旭区

43390

名称

人数

27127

北区名称

人数

2710027000

大阪市大阪府

名称名称

部分

部分

1410014000

横浜市神奈川県

名称名称

部分

14112

旭区

247907

名称

人数

1000120

部分

121083

日本

名称

部分

Linked Data=ウェブ+ RDF•RDF : Resource Description Framework

• 主語・述語・目的語の 3 つ組(トリプル)を組み合わせたグラフ構造を用いて情報を記述する

•ウェブ:世界規模の分散型情報管理

• URI (+ DNS )によるグローバルな識別

• HTTP ・ハイパーリンクによる透過的なアクセス

•Linked Data の条件(ティム・バーナーズ=リー)

• すべてのものごとに HTTP URI を与える

• URI にアクセスすると情報が得られる

• 他の URI へのリンクを含む

Linked Data=ウェブ+ RDF•文字列から URI へ:曖昧性の排除

• 14112→ さまざまな解釈の余地あり

• http://statdb.nstac.go.jp/lod/sac/C14112• 「統計センターが管理する標準地域コードの

14112」•主語・目的語だけでなく、述語にも URI を与える

• http://imi.ipa.go.jp/ns/core/rdf# 人数

• 「共通語彙基盤で定義された人数という概念」

•さまざまな語彙

• Dublin Core :書籍の基本項目

• FOAF :プロフィール・ソーシャルメディアの知人関係

• Schema.org :ウェブページの定型的詳細情報

Linked Data

旭区

247907

rdfs:label

ic: 人数

横浜市

http://statdb.nstac.go.jp/lod/sac/C14100

dcterms:hasPart

rdfs:label

http://statdb.nstac.go.jp/lod/sac/C14112

rdfs: http://www.w3.org/2000/01/rdf-schema#owl: http://www.w3.org/2002/07/owl#dcterms:http://purl.org/dc/terms/ic: http://imi.ipa.go.jp/ns/core/rdf#

http://ja.dbpedia.org/resource/旭区 _( 横浜市 )

owl:sameAs

標準地域コード

DBpedia Japanese

<foaf:name xml:lang="ja">長野県</foaf:name><foaf:homepage rdf:resource="http://www.pref.nagano.lg.jp/" /><prop-ja:iso xml:lang="ja">JP-20</prop-ja:iso><prop-ja: コード >20000</prop-ja: コード ><prop-ja:木 rdf:resource="http://ja.dbpedia.org/resource/ シラカバ " /><prop-ja:郵便番号>380</prop-ja:郵便番号><prop-ja:code>20000</prop-ja:code><prop-ja:画像の説明 rdf:resource="http://ja.dbpedia.org/resource/小蓮華山 " /><prop-ja:画像の説明 rdf:resource="http://ja.dbpedia.org/resource/白馬岳 " /><prop-ja:鳥 rdf:resource="http://ja.dbpedia.org/resource/ ライチョウ " /><prop-ja:知事 xml:lang="ja">阿部守一 </prop-ja:知事 ><prop-ja:before>松代県・須坂県・飯山県筑摩県の一部(信濃国) </prop-ja:before><prop-ja:before xml:lang="ja">伊那県の一部(信濃国北部)龍岡藩の一部(信濃国)岩村田県・小諸県・上田県</prop-ja:before> http://ja.dbpedia.org

LOD Cloud

Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jenvtzsch. http://lod-cloud.net/ CC BY-SA

RDF クエリ言語 SPARQL•SPARQL

• NoSQL の一種・スキーマレス

• W3C による標準化

• 本質的には部分グラフのパターンマッチング

•RDF ストア(トリプルストア)

• SPARQL インターフェイスを持つ RDF データベース

• ウェブでの公開: SPARQL エンドポイント

• オープンソース実装多数

• RDF を入れたら動く!

• データをつくると API ができる

RDF クエリ言語 SPARQL•定数( URI )と変数で目的のトリプルを指定する

• すべてのトリプル

?s ?p ?o.• 横浜市に関するトリプル

<http://statdb.nstac.go.jp/lod/sac/C14100> ?p ?o.• 「旭区」という名前の自治体の人口

?s rdfs:label “旭区”@ja.?s ic: 人数 ?o.

SPARQL による問い合わせ

http://statdb.nstac.go.jp/lod/sparql/

データカタログのフォーマット

data.gov data.gov.uk data.go.jp

https://www.w3.org/2013/csvw/wiki/Main_Page

まとめ

•公開、開放、そして相互運用へ

• グローバルなデータのネットワークに参加する

• 識別子とリンクによる情報の表現

•データとアプリの切り離し・協業モデルへ

• データの作成は専門家・コミュニティに

• アプリの構築は開発者に

• 「税金はどこへ行った?」「 5374.jp」モデルの汎用化

• RDF と SPARQL による標準的なデータアクセス

•コード体系・辞書の整備

•できるところからはじめましょう!!!