SPARQL ににに LOD ににに 大大大大 大大大大大大大 / LOD 大大大大大大大大大大 大 大大大 西 にに にに 大4大 Linked Open Data 大大大大大大大大大大 2015/10/27@ 大大大大大大大大大大大
SPARQL による LODの検索
大阪大学 産業科学研究所 /LOD チャレンジ実行委員会 関西支部長
古崎 晃司
第 4 回Linked Open Data とオントロジー勉強会2015/10/27@ 大阪大学中之島センター
開催年度\応募部門 データセット
アイデア アプリケーション
ビジュアライゼーショ
ン基盤技術
2014 年度( 245作品)2013 年度( 321作品)2012 年度( 205作品)2011 年度( 73作品)
871018721
51675034
691224418
201824
1813
Linked Open Data ( LOD )チャレンジLOD の技術普及を目的として開催している日本初のオープンデータに関するコンテスト( 2011 年度より毎年開催) これまでの応募状況
http://lodc.jp
2015/10/28LOD チャレンジ 2015 :作品募集中( 2016 年 1 月17 日まで)
年々,応募作品数の増加 / 質の向上が見られる= LOD 利用の広がり2013 年度以降には,オープンデータのコンテストが多数開催される ICTSFC-WS in 大阪 2
LOD ハッカソン関西
2015/10/28 ICTSFC-WS in 大阪 3
• 2013 年~,これまでに 6 回開催• LOD の技術資料の公開にも注力
http://wp.lodosaka.jp
関西オープンデータディ ~検索したおしたんディ~
2015/10/28 ICTSFC-WS in 大阪 4
• 開催日: 2015/11/23 (月・祝)
• 会場:大阪イノベーションハブ• テーマ:データを検索したお
す!• サイト: https://
goo.gl/KY2AW4
本日の予定
19:00 ~ 20:30SPARQL を用いた LOD の検索入門&ハンズオン LOD について,おさらい SPARQL による LOD 検索入門&ハンズオン
20:30 ~ 20:45参加者からの話題提供(ライトニングトーク) 5分 × 3件を予定
20:45 ~ 21:00LOD の公開・利用に便利なツールの紹介
2015/10/27 5LOD とオントロジー勉強会
本日の勉強会のねらい
メイントピック SPARQL による LOD の検索
本日の目標 SPARQL の基本的な使い方を学ぶ
基本的な文法 簡単なクエリの書き方
いろいろなクエリのパターンを学ぶ 基本的なクエリを組み合わせて,少し複雑な
SPARQL クエリを書けるようになる 初めて見るデータセット( SPARQL
Endpoint )に対しても,いろいろ試せるようになる
2015/10/27 LOD とオントロジー勉強会 6
LOD について,おさらいSPARQL を用いた LOD の検索入門&ハンズオン
2015/10/27 7LOD とオントロジー勉強会
Linked Open Data(LOD) Linked Data : Web 上のデータを,つなぐ( link する)こと
で,新しい価値を生み出そうとする取り組み. Web の創始者Tim Berners-Lee 氏が提唱
※ Linked Open Data(LOD) :オープンな形で公開されたLinked Data
2015/10/27 LOD とオントロジー勉強会
http://linkeddata.org/
• 誰もが同じ方法で,「データをつなぐことができる仕組み」を提供している.• 技術的には, -データ公開の共通フォーマット( URI による名前付け, RDF によるグラフ表現 -コンピュータが,データにアクセスする共通の仕組み が提供されている.→Web 上に公開された膨大なデータを統合した1つのデータベースとして利用できる.
8
5 ★ オープンデータ★ ( どんな形式でも良いので ) あなたのデータをオープンライセンスでWeb 上に公 開しましょう★★ データを構造化データとして公開しましょう★★★ 非独占の形式を使いましょう★★★★ 物事を示すのに URI を使いましょう,そうすることで他の人々があなたのデータ にリンクすることができます★★★★★ あなたのデータのコンテキストを提供するために他のデータへリンクしましょう
http://5stardata.info/ja/ より引用(図および原文は http://5stardata.info/ )
ライセンスについて
フォーマットについて
Web の発明者であり Linked Data の創始者でもあるティム・バーナーズ=リーがオープンデータのために提案したスキーム※注:図中の PDF ,エクセル, CSV のアイコンは, あくまでも例示であって,そのフォーマットを推奨 している訳ではない.
2015/10/27 LOD とオントロジー勉強会
LOD
9
5★オープンデータにおけるLOD ★★★★ ( RDF )
物事を示すのに URI を使いましょう,そうすることで 他の人々があなたのデータにリンクすることができます
★★★★★ ( LOD ) あなたのデータのコンテキストを提供するために 他のデータへリンクしましょう
→ LOD ( Linked Open Data ) = Web 上で相互にリンクされた Open Data ※リンクする際には「 Web の仕組み」を利用する
データ(物事)を示すのに URI を用いる データ間を(名前付き) Hyper-link でリンクする
2015/10/27 LOD とオントロジー勉強会 10
Linked Data (RDF) の例
大阪府
大阪市
都道府県 223㎢2,687,287人
面積
人口
吹田市
豊中市
…バラ科
市の木
隣接自治体
隣接自治体
…
http://ja.dbpedia.org/resource/大阪市 という URI から得られる情報
サクラ
科
Cherry blossom英名
リソース:URI で表されるモノ・コト
プロパティ:リソース間の関係を表す
リテラル:文字列
主語 述語 目的語
トリプル※RDF ( Linked Data の
データモデル)は,「トリプルの組み合わせ」で表される
( DBpedia Japanese より)
目的語が他のリソースのとき,トリプルを辿って更なる情報が得られる
※実際のリソースとプロパティは,すべて URI で表される.2015/10/27 LOD とオントロジー勉強会 11
Linked Data (RDF) の例
http://ja.dbpedia.org/resource/ 大阪府
http://ja.dbpedia.org/resource/ 大阪市
http://ja.dbpedia.org/resource/都道府県 223㎢2,687,287人
http://ja.dbpedia.org/resource/面積
http://ja.dbpedia.org/resource/人口
http://ja.dbpedia.org/resource/吹田市
http://ja.dbpedia.org/resource/豊中市
…http://ja.dbpedia.org/resource/バラ科
http://ja.dbpedia.org/resource/市の木
http://ja.dbpedia.org/resource/隣接自治体
http://ja.dbpedia.org/resource/隣接自治体
…
http://ja.dbpedia.org/resource/大阪市 という URI から得られる情報
http://ja.dbpedia.org/resource/ サクラ
http://ja.dbpedia.org/resource/ 科
Cherry blossomhttp://ja.dbpedia.org/resource/英名
( DBpedia Japanese より)
※実際のリソースとプロパティは,すべて URI で表される.2015/10/27 LOD とオントロジー勉強会 12
SPARQL の基本SPARQL を用いた LOD の検索入門&ハンズオン
2015/10/27 13LOD とオントロジー勉強会
SPARQL による RDF の検索 SPARQL
RDF データに対するクエリ言語 「指定したグラフ構造」に一致するトリプルを検索する
最も基本的な検索
select ?s ?p ?owhere { ?s ?p ?o . }LIMIT 100 ←取得する数の制限
←検索するグラフのパターン
←返す要素
この例では「任意のトリプルの組み合わせ」
このパターンを変えることで,欲しいデータを取得する
142015/10/27
「 . 」(ピリオド)を忘れない
LOD とオントロジー勉強会
* とすると全ての変数を返す
SPARQL 検索のハンズオン
SPARQL の検索の基本例 DBpedia Japanese の検索を例に,基本的
な SPARQL クエリについて学ぶ さまざまなクエリのパターン
大阪市の情報 LOD を用いた簡単な検索 CSV などの表形式のオープンデータから変換さ
れた RDF の検索 DBpedia Japanese のより複雑な検索
興味があるデータ(リソース)を中心とした検索 同一種類のデータ(リソース)を中心とした検索
2015/10/27 LOD とオントロジー勉強会 15
DBPediaWikipedia の各記事のインフォボックスの情報を抽出して自動生成される LOD様々なデータをつなぐ LOD のハブ的な存在となっている.
http://dbpedia.org/
日本語版の DBPedia はhttp://jp.dbpedia.org/ インフォボックスの例
162015/10/27 LOD とオントロジー勉強会
データの例(大阪府)
2015/10/27 LOD とオントロジー勉強会 17
すべての Wikipedia の記事がhttp://ja.dbpedia.org/resource/ 大阪府のような URI でデータ化されている
DBpedia Japanese
2015/10/27 LOD とオントロジー勉強会 18
http://jp.dbpedia.org/SPARQL Endpoint※ここから,検索可能
SPARQL Endpoint の例
2015/10/27 LOD とオントロジー勉強会 19
サンプルクエリ集http://wp.lodosaka.jp/tool/sparqlquery/
http://ja.dbpedia.org/sparql
ここに,クエリを入れる※プログラムからのクエリ +結果取得も可能
SPARQL の検索の基本例① 「東京都を主語( Subject )に含む」トリプルの述語 (?p )と目的語 (?o) を取得する
select distinct ?p ?owhere { <http://ja.dbpedia.org/resource/東京都> ?p ?o . }LIMIT 100 「東京都」を表す URI
DBpedia Japanesehttp://ja.dbpedia.org/sparqlでの検索結果
↑同じパターンは除外する
202015/10/27 LOD とオントロジー勉強会
SPARQL の検索の基本例② 「ラベルが“大阪”と一致する」トリプルの主語 (?s)select distinct ?s where {
?s <http://www.w3.org/2000/01/rdf-schema#label> " 大阪 "@ja . }LIMIT 100 リテラルの指定
(※データの言語指定も含めて一致が判定される)
DBpedia Japanesehttp://ja.dbpedia.org/sparqlでの検索結果
212015/10/27 LOD とオントロジー勉強会
SPARQL の検索の基本例③ 「ラベルに“大阪”を含む」トリプルの主語 (?
s)select distinct ?s where { ?s <http://www.w3.org/2000/01/rdf-schema#label> ?o . FILTER(regex(str(?o), " 大阪 ")) .}LIMIT 100 「文字列が含む」データでの絞り
込み
DBpedia Japanesehttp://ja.dbpedia.org/sparqlでの検索結果
222015/10/27 LOD とオントロジー勉強会
SPARQL の検索の基本例④ 「ラベルが“大阪”と一致する」トリプルの主語 (?s) につながっている述語 (?p) と目的語(?o)select distinct ?p ?o where {
?s <http://www.w3.org/2000/01/rdf-schema#label> " 大阪 "@ja . ?s ?p ?o.}LIMIT 100
パターンを続けて書くと「 AND条件」になる※この例では, ?p ?o を限定していないが…
DBpedia Japanesehttp://ja.dbpedia.org/sparqlでの検索結果
232015/10/27 LOD とオントロジー勉強会
OFFSET の利用
OFFSET を使うと,クエリ結果を n番目から取得できる
PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>select distinct ?p ?owhere { dbpedia-ja:東京都 ?p ?o . }LIMIT 10OFFSET 10
2015/10/27 24
10番目の結果から取得
LOD とオントロジー勉強会
SPARQL の省略表現① PREFIX の利用
select distinct ?p ?o where { ?s <http://www.w3.org/2000/01/rdf-schema#label> " 大阪 "@ja . ?s ?p ?o.}LIMIT 100
252015/10/27
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>select distinct ?p ?o where { ?s rdfs:label " 大阪 "@ja . ?s ?p ?o.}LIMIT 100
LOD とオントロジー勉強会
SPARQL の省略表現② 主語が同じ時の省略表現
262015/10/27
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>select distinct ?p ?o where { ?s rdfs:label " 大阪 "@ja . ?s ?p ?o.}LIMIT 100
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>select distinct ?p ?o where { ?s rdfs:label " 大阪 "@ja ; ?p ?o.}LIMIT 100
LOD とオントロジー勉強会
SPARQL 検索のハンズオン
SPARQL の検索の基本例 DBpedia Japanese の検索を例に,基本的
な SPARQL クエリについて学ぶ さまざまなクエリのパターン
大阪市の情報 LOD を用いた簡単な検索 CSV などの表形式のオープンデータから変換さ
れた RDF の検索 DBpedia Japanese のより複雑な検索
興味があるデータ(リソース)を中心とした検索 同一種類のデータ(リソース)を中心とした検索
2015/10/27 LOD とオントロジー勉強会 27
大阪市の施設情報・防災情報のLOD+簡易検索システム
2015/10/28
大阪市の施設 (9,238 件 ) ・防災設備 (4,694 件 ) ,標高 (18,780地点 ) の情報の LOD です.約 3万地点の緯度・経度情報が LOD 化され,検索用 API ( SPAQRL エンドポイント)・簡易検索システムと共に公開.
SPARQL ( RDF 用検索言語)を使わずに,簡単なキーワードによる検
索が可能
http://lodosaka.hozo.jp/OsakaCityMapLOD.htm
他のアプリを開発するときに,直接,利用できる仕組み
LOD チャレンジ2013チャレンジデー賞 ICTSFC-WS in 大阪 28
表からへ関した RDF データの構造
表から変換した RDF の多くは,下記のようなグラフ構造になる
05/01/2023 29
ID_1
スポーツ施設
千代台公園野球場函館市千代台町 22-26
http://www.zaidan-hako date .com /okugai/baseball/
41.784926140.746367
カテゴリ
施設名(ラベル)住所
HP の URL緯度
経度
主語( Subjec
t )
述語( Propert
y ) 目的語( Object
)
RDF データ=「主語 -述語 - 目的語」の組み合わせで表されるグラフ構造のデータ
※目的語になるデータには,「 URI で表されるリソース」と「文字列で表されるリテラル」がある.→目的語を他のリソースとすることで,複雑なグラフも表現可能
表からへ関した RDF データの構造へのクエリ 主語(?s )を変数として,絞り込みたいクエリを書けば良い
ただし,全てのプロパティが使われているとは限らないので,必須出ないプロパティには OPTIONAL を使う
例)PREFIX schema:<http://schema.org/>SELECT DISTINCT * WHERE{ ?uri schema:address ?address; schema:name ?name. FILTER regex(str(?address)," 中之島 ") OPTIONAL{ ?uri <http://schema.org/address> ?addr. }} 大阪市の施設情報
http://lodosaka.hozo.jp/OsakaCityMapLOD.htm 大阪市のイベント情報
http://data.lodosaka.jp/osaka-events/
2015/10/27 LOD とオントロジー勉強会 30
SPARQL 検索のハンズオン
SPARQL の検索の基本例 DBpedia Japanese の検索を例に,基本的
な SPARQL クエリについて学ぶ さまざまなクエリのパターン
大阪市の情報 LOD を用いた簡単な検索 CSV などの表形式のオープンデータから変換さ
れた RDF の検索 DBpedia Japanese のより複雑な検索
興味があるデータ(リソース)を中心とした検索 同一種類のデータ(リソース)を中心とした検索
2015/10/27 LOD とオントロジー勉強会 31
DBpedia Japanese の検索例大阪府を主語とするトリプル一覧
興味があるデータ(リソース)が決まっているときに,“そのデータにつながっている全データ” =“そのデータを主語とする全トリプル”を取得する
2015/10/27 32
PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>select distinct * where { dbpedia-ja: 大阪府 ?p ?o.}
興味があるデータ(リソース)
全てのトリプル=つながっている述語( ?p )と目的語( ?
o )を指定
全変数(ここでは, ?p と ?o )を返す
LOD とオントロジー勉強会
2015/10/27 33LOD とオントロジー勉強会
DBpedia Japanese の検索例大阪府が持つプロパティ一覧
結果が多すぎるので,興味があるトリプルに絞りたい.
どのプロパティ(関係)で絞り込むかを考えるために,“そのデータにつながっているプロパティの一覧”を取得する
2015/10/27 34
PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>select distinct ?p where { dbpedia-ja: 大阪府 ?p ?o.}
★ 取得する結果を, ?p のみに変える
LOD とオントロジー勉強会
2015/10/27 35
ここから,興味があるプロパティ
(関係)を選ぶと良い
例)隣接都道府県
LOD とオントロジー勉強会
DBpedia Japanese の検索例大阪府の隣接都道府県
“ 興味があるデータ(リソース)と, 興味があるプロパティ(関係)でつながったトリプル”(の目的語)を取得する
2015/10/27 36
PREFIX prop-ja: <http://ja.dbpedia.org/property/>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>
select distinct * where { dbpedia-ja: 大阪府 prop-ja:隣接都道府県 ?o.}
目的語
全て取得(ここでは,目的語 ?o )
主語:興味があるデータ(リ
ソース)述語:興味がある関係(プロパティ)
LOD とオントロジー勉強会
2015/10/27 37LOD とオントロジー勉強会
DBpedia Japanese の検索例すべての隣接都道府県の組
主語( ?s )と目的語( ?o )を変数として,興味があるプロパティ(関係)のみを指定すると,“その関係を持つ,すべての主語と述語の組”が取得できる
2015/10/27 38
PREFIX prop-ja: <http://ja.dbpedia.org/property/>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>
select distinct * where { ?s prop-ja:隣接都道府県 ?o.}
目的語主語も変数にする
述語:興味がある関係(プロパティ)
LOD とオントロジー勉強会
2015/10/27 39LOD とオントロジー勉強会
DBpedia Japanese の検索例大阪府の隣接都道府県の数
count を使うと,取得したデータの数を取得できる.
2015/10/27 40
PREFIX prop-ja: <http://ja.dbpedia.org/property/>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>
select distinct count(?o) where { dbpedia-ja: 大阪府 prop-ja:隣接都道府県 ?o.}
大阪府の隣接都道府県
PREFIX prop-ja: <http://ja.dbpedia.org/property/>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>
select distinct count(?o) AS ?count where { dbpedia-ja: 大阪府 prop-ja:隣接都道府県 ?o.}
カウントした結果(数)を ?countに代入
LOD とオントロジー勉強会
2015/10/27 41
カウントした結果(数)を ?count に代
入
LOD とオントロジー勉強会
DBpedia Japanese の検索例不要なプロパティを FILTERで除外
あるプロパティ(関係)によるトリプルが多すぎるので除外したい.→ FILTER を用いることで,取得するトリプルの“特定の条件による絞り込み”が可能
2015/10/27 42
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX prop-ja: <http://ja.dbpedia.org/property/>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>
select distinct * where { dbpedia-ja: 大阪府 ?p ?o. FILTER (?p != dbpedia-owl:wikiPageWikiLink) .}
絞り込み条件( ?p が wikiPageWikiLink ではない)
LOD とオントロジー勉強会
SPARQL 検索のハンズオン
SPARQL の検索の基本例 DBpedia Japanese の検索を例に,基本的
な SPARQL クエリについて学ぶ さまざまなクエリのパターン
大阪市の情報 LOD を用いた簡単な検索 CSV などの表形式のオープンデータから変換さ
れた RDF の検索 DBpedia Japanese のより複雑な検索
興味があるデータ(リソース)を中心とした検索 同一種類のデータ(リソース)を中心とした検索
2015/10/27 LOD とオントロジー勉強会 43
DBpedia Japanese の検索例タイプ一覧の取得
RDF におけるリソースは, rdf:type プロパティにより,リソースの種類(=どのクラスのインスタンスであるか)が指定される.※タイプが指定されていない RDFデータもある
そのデータセットで“使われているタイプの一覧”を取得
2015/10/27 44
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select distinct ?o where { ?s rdf:type ?o.}LIMIT 100
LOD とオントロジー勉強会
2015/10/27 45
ここから,興味があるタイプを選ぶと良
い例) Place
LOD とオントロジー勉強会
DBpedia Japanese の検索例都道府県の一覧を取得
rdf:type プロパティの目的語となるクラスを指定することで,特定の種類のリソースが取得できる.
ただ, DBpedia Japanese では,クラスの種類が少ないため, dcterms:subject プロパティで, Wikipedia での記事のカテゴリを指定することで,うまく調整する.
2015/10/27 46
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX dcterms: <http://purl.org/dc/terms/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:>
select distinct ?s where { ?s rdf:type dbpedia-owl:Place. ?s dcterms:subject category-ja: 日本の都道府県 .}
クラスの指定
カテゴリの指定LOD とオントロジー勉強会
2015/10/27 47
備考:カテゴリのみの指定だと,このようなゴミが入る
LOD とオントロジー勉強会
DBpedia Japanese の検索例都道府県の一覧を郵便番号でソート
ORDER BY を使うと,取得した一覧をソートできる. “ソートのキー”とする変数を指定する.
2015/10/27 48
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX dcterms: <http://purl.org/dc/terms/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:>
select distinct ?s ?o where { ?s rdf:type dbpedia-owl:Place; dcterms:subject category-ja: 日本の都道府県 ; dbpedia-owl:postalCode ?o. } ORDER BY ?o
各都道府県 (?s)
の郵便番号郵便番号( ?o )をソートのキーに指定
DESC ( ?o )に変えると「降順」で
ソート
都道府県
LOD とオントロジー勉強会
2015/10/27 49LOD とオントロジー勉強会
DBpedia Japanese の検索例都道府県を「隣接自治体の数」でソート
ORDER BY の“ソートのキー”として count結果を利用する.
2015/10/27 50
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX dcterms: <http://purl.org/dc/terms/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:>
select distinct ?s count(?o) AS ?c where { ?s rdf:type dbpedia-owl:Place; dcterms:subject category-ja: 日本の都道府県 ; prop-ja:隣接都道府県 ?o. } ORDER BY ?c
隣接都道府数( ?c )を
ソートのキーに指定
各都道府県 (?s)の隣接都道府県
隣接都道府( ?o )をカウントして ?c に代入
都道府県
LOD とオントロジー勉強会
2015/10/27 51LOD とオントロジー勉強会
DBpedia Japanese の検索例各都道府県で生まれた政治家
都道府県一覧を取得するクエリに,もう少し複雑なクエリを組み合わせてみる.
2015/10/27 52
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX dcterms: <http://purl.org/dc/terms/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:>
select distinct ?pref ?s where { ?pref rdf:type dbpedia-owl:Place. ?pref dcterms:subject category-ja: 日本の都道府県 . ?s rdf:type dbpedia-owl:Politician; dbpedia-owl:birthPlace ?pref.}ORDER BY ?pref
政治家( ?s )=タイプが政治家で,生まれた場所が,各都道府県( ?
pref )
各都道府県の一覧(?pref) を得るクエ
リ都道府県
都道府数( ?pref )を
ソートのキーに指定LOD とオントロジー勉強会
2015/10/27 53LOD とオントロジー勉強会
DBpedia Japanese の検索例各都道府県で生まれた政治家の数
GROUP BY を用いると,取得したトリプルをグループ化できる.
2015/10/27 54
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX dcterms: <http://purl.org/dc/terms/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:>
select distinct ?pref (count(?s) AS ?c) where { ?pref rdf:type dbpedia-owl:Place. ?pref dcterms:subject category-ja: 日本の都道府県 . ?s rdf:type dbpedia-owl:Politician; dbpedia-owl:birthPlace ?pref.} GROUP BY ?prefORDER BY ?c
政治家( ?s )の数をカウント
都道府県
都道府数( ?pref )毎にグ
ループ化
都道府県( ?pref )毎の
政治家( ?s )の数( ?c )
をソートのキーに指定
ここを変えると,いろんな職業の出身県別ランキングが出来る例) Comedian
LOD とオントロジー勉強会
2015/10/27 55LOD とオントロジー勉強会
DBpedia Japanese の検索例出生地が大阪府または東京都の政治家 UNION を使うと OR条件での検索が可能.
2015/10/27 56
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX dcterms: <http://purl.org/dc/terms/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:>
select distinct ?s ?pref where { {?s rdf:type dbpedia-owl:Politician; dbpedia-owl:birthPlace dbpedia-ja: 大阪府 .} UNION {?s rdf:type dbpedia-owl:Politician; dbpedia-owl:birthPlace dbpedia-ja:東京都 .} ?s dbpedia-owl:birthPlace ?pref.}ORDER BY ?pref 取得した政治家( ?s )の出生地
( ?pref )※この例では「大阪府」か「東京
都」
出生地が大阪府の政治家を得るクエリ
出生地が東京都の政治家を得るクエリ
LOD とオントロジー勉強会
2015/10/27 57LOD とオントロジー勉強会
SPARQL に関する参考資料 SPARQL 1.1 の仕様書 (W3C)
http://www.w3.org/TR/sparql11-overview/ LOD ハッカソン関西
http://wp.lodosaka.jp/ リンクト・オープン・データ・イニシアティブ
( LODI )による「 Linked Open Data連続講義」 http://linkedopendata.jp/?cat=17 第 5 回 「 LOD の作り方・使い方」
http://linkedopendata.jp/?p=554 SPARQL でマッシュアップ -LOD活用のための技
術紹介( by Hiroshi Ueda) http://www.slideshare.net/uedayou/sparqllod2015/10/27 58LOD とオントロジー勉強会
LOD の公開・利用に便利なツールの紹介
CSV2RDF http://lodosaka.jp/tool/CSV2LOD/ CSV ファイルを RDF に変化するツール テンプレートを用いることで柔軟な変換が可能 解説スライド http://
www.slideshare.net/KoujiKozaki/csvlod
DyDra.com http://dydra.com/ RDF データベース(トリプルストア)のクラウドサー
ビス Free版有り( 100万トリプル?まで) アカウントを発行してもらうと
http://dydra.com/koujikozaki/osakacitydataのような URL で, SPARQL エンドポイントを立てることが出来る2015/10/27 LOD とオントロジー勉強会 59
今後の予定 11/6 (金) ,7 (土)
神戸 IT フェスティバル: LOD のセッション有り
11/7 , 16:30 ~ 17:30 LOD ハンズオン 11 月中旬?
11/23 に向けた「モクモク会」を開催するかも?
11/23 (月) 関西オープンデータディ~検索したおしたん
ディ~ 勉強会の開催日について
平日夜 or 休日? その他のご希望は?
2015/10/27 LOD とオントロジー勉強会 60