Upload
fumihiro-kato
View
717
Download
0
Embed Size (px)
DESCRIPTION
2012-08-25 第1回LODチャレンジデー 資料
Citation preview
LODを検索する
LOD Challenge 実行委員会
クエリ言語
• データの検索や操作を行うための言語 • データモデルやDBシステムに合わせて設計 • 例: SQL – データモデル: 関係モデル – DBシステム: RDBMS
• LODのデータモデル: グラフモデル
グラフのクエリ
• グラフの最小単位: 3つ組 (トリプル)
• グラフパターン 1. 完全一致
• dbp:東京都 dbp-‐owl:country dbp:日本 .
2. 変数によるパターンマッチ • dbp:東京都 dbp-‐owl:country ?country .
3. 1と2の組み合わせ
dbp:東京都 dbp:日本 dbpedia-owl:country
:Amy :Bob :Cathy
:Dan
:Jim
:Ed
:Kate
:Gil
:Flo
:Hal
:Ian
:Lee :May
:like :like
:like
:like :like
:like
:like
:dislike
:dislike
:dislike :dislike :dislike
:dislike :dislike
:dislike
好き嫌いグラフ
:Amy :Bob :Cathy
:Dan
:Jim
:Ed
:Kate
:Gil
:Flo
:Hal
:Ian
:Lee :May
:like :like
:like
:like :like
:like
:like
:dislike
:dislike
:dislike :dislike :dislike
:dislike :dislike
:dislike
Amyが好きな人 グラフパターン :Amy :like ?person .
:Amy :Bob :Cathy
:Dan
:Jim
:Ed
:Kate
:Gil
:Flo
:Hal
:Ian
:Lee :May
:like :like
:like
:like :like
:like
:like
:dislike
:dislike
:dislike :dislike :dislike
:dislike :dislike
:dislike
“Amyが好きな人”が好きな人 グラフパターン :Amy :like ?person1 . ?person1 :like ?person2 .
SPARQL
• LOD用クエリ言語 – データモデル: RDF (ラベル付き有向グラフ) – プロトコル: HTTP
• W3C仕様 – 1.0: RecommendaVons – 1.1: Working DraWs
SPARQLエンドポイント
• SPARQLクエリを受け付ける場所 – SPARQLエンドポイントURI
• プログラムからSPARQLを使うときに指定
– 入力フォームがある場合もあり • リスト
– hYp://www.w3.org/wiki/SparqlEndpoints – hYp://ckan.net/dataset?res_format=api%2Fsparql&q=sparql
– hYp://labs.mondeca.com/sparqlEndpointsStatus/
http://thedatahub.org/dataset?res_format=api%2Fsparql
公開SPARQLエンドポイント の状態確認サイト
http://labs.mondeca.com/sparqlEndpointsStatus/
DBpedia Japanese SPARQLエンドポイント
dbp-‐owl:AdministraVveRegion dbp:サイボーグ009
dbp-‐owl: ComicsCreator
dbp:宮城県
dbp:石ノ森章太郎
rdfs:label
rdf:type
rdfs:label
dbp-prop:生年
dbp-owl:notableWork
dbp-owl:award
dbp-owl:birthPlace
rdf:type
サイボーグ009
宮城県 foaf:Person
1938 石ノ森章太郎
rdf:type
rdfs:label dbp:村井嘉浩
dbp-owl:leaderName
DBpedia Japaneseのグラフ例
dbp:手塚治虫文化賞
dbp-‐owl:Comics
rdf:type
dbp-‐owl:AdministraVveRegion dbp:サイボーグ009
dbp-‐owl: ComicsCreator
dbp:宮城県
dbp:石ノ森章太郎
rdfs:label
rdf:type
rdfs:label
dbp-prop:生年
dbp-owl:notableWork
dbp-owl:award
dbp-owl:birthPlace
rdf:type
サイボーグ009
宮城県 foaf:Person
1938 石ノ森章太郎
rdf:type
rdfs:label dbp:村井嘉浩
dbp-owl:leaderName
dbp:手塚治虫文化賞
dbp-‐owl:Comics
rdf:type
クエリ: 石ノ森章太郎の出身地 PREFIX dbp: <http://ja.dbpedia.org/resource/> PREFIX dbp-owl: <http://dbpedia.org/ontology/> SELECT ?birthPlace WHERE { dbp:石ノ森章太郎 dbp-owl:birthPlace ?birthPlace . }
• SELECT: 取得したい変数を指定 • SELECT * は全ての変数指定と同等 • 結果形式: XML, JSON, CSV, TSV, ...
• WHERE: {}内にグラフパターンの組み合わせを記述 • LIMIT: 件数の制限 • 100だと1-‐100まで取得 • LIMITがない場合は全件取得 • 量が多い場合はサーバに負荷をかけるので注意
• PREFIX: URIを短縮して記述するための仕組み • dbp:東京都 = <hYp://ja.dbpedia.org/resource/東京都>
PREFIX dbp: <http://ja.dbpedia.org/resource/> PREFIX dbp-owl: <http://dbpedia.org/ontology/> SELECT ?birthPlace WHERE { dbp:石ノ森章太郎 dbp-owl:birthPlace ?birthPlace . }
dbp-‐owl:AdministraVveRegion dbp:サイボーグ009
dbp-‐owl: ComicsCreator
dbp:宮城県
dbp:石ノ森章太郎
rdfs:label
rdf:type
rdfs:label
dbp-prop:生年
dbp-owl:notableWork
dbp-owl:award
dbp-owl:birthPlace
rdf:type
サイボーグ009
宮城県 foaf:Person
1938 石ノ森章太郎
rdf:type
rdfs:label dbp:村井嘉浩
dbp-owl:leaderName
dbp:手塚治虫文化賞
dbp-‐owl:Comics
rdf:type
クエリ: 手塚治虫文化賞を受賞した漫画家 PREFIX dbp: <http://ja.dbpedia.org/resource/> PREFIX dbp-owl: <http://dbpedia.org/ontology/> SELECT ?creator WHERE { ?creator rdf:type dbp-owl:ComicsCreator ; dbp-owl:award dbp:手塚治虫文化賞 . }
dbp-‐owl:AdministraVveRegion dbp:サイボーグ009
dbp-‐owl: ComicsCreator
dbp:宮城県
dbp:石ノ森章太郎
rdfs:label
rdf:type
rdfs:label
dbp-prop:生年
dbp-owl:notableWork
dbp-owl:award
dbp-owl:birthPlace
rdf:type
サイボーグ009
宮城県 foaf:Person
1938
rdf:type
rdfs:label dbp:村井嘉浩
dbp-owl:leaderName
dbp:手塚治虫文化賞
dbp-‐owl:Comics
rdf:type
クエリ: 手塚治虫文化賞を受賞した漫画家の代表的な漫画 PREFIX dbp: <http://ja.dbpedia.org/resource/> PREFIX dbp-owl: <http://dbpedia.org/ontology/> SELECT ?creatorName ?comicName WHERE { ?creator a dbp-owl:ComicsCreator ; dbp-owl:award dbp:手塚治虫文化賞 ; dbp-owl:notableWork ?comic ; rdfs:label ?creatorName . ?comic a dbp-owl:Comics ; rdfs:label ?comicName . }
石ノ森章太郎
SPARQL
• LOD用クエリ言語 – データモデル: RDF (ラベル付き有向グラフ) – プロトコル: HTTP
• W3C仕様 – 1.0: RecommendaVons – 1.1: Working DraWs
SPARQL 1.0
• データ取得・検索 – SELECT – ASK – CONSTRUCT – DESCRIBE
• どこでもほぼ使用可能
SELECT
例) 任意の3つ組を100件取得 SELECT ?s ?p ?o WHERE { ?s ?p ?o . } LIMIT 100
ASK
• ASK: グラフパターンにマッチするものがあるか • 結果yes か no
例) 石ノ森章太郎の出身地が含まれているかどうか PREFIX dbp: <hYp://ja.dbpedia.org/resource/> PREFIX dbp-‐owl: <hYp://dbpedia.org/ontology/> ASK WHERE { dbp:石ノ森章太郎 dbp-‐owl:birthPlace ?birthPlace . }
CONSTRUCT • CONSTRUCT: 新しいグラフを作成して取得 • 結果形式: RDF/XML, Turtle, …
例) foaf:nameプロパティの3つ組をそのまま取得 PREFIX foaf: <hYp://xmlns.com/foaf/0.1/> CONSTRUCT { ?s foaf:name ?o . } WHERE { ?s foaf:name ?o . }
DESCRIBE
• DESCRIBE: リソースに関するグラフを取得 • 実装依存 • 多くの場合は対象リソースを直接含む3つ組の集合 • 結果形式: RDF/XML, Turtle, …
例) http://ja.dbpedia.org/resource/東京都に関するグラフを取得 DESCRIBE <http://ja.dbpedia.org/resource/東京都>
SPARQL 1.1
• データ作成・更新・削除 – INSERT / UPDATE / DELETE / LOAD / DROP
• 様々な機能追加
– プロパティパス,集約,条件,数値関数,文字列関数,サブクエリ,Federatedクエリなど
• 実装に差あり • 1.1の内容は省略
SPARQL1.0 specs • SPARQL Query Language for RDF:
hYp://www.w3.org/TR/rdf-‐sparql-‐query/
• SPARQL Protocol for RDF: hYp://www.w3.org/TR/rdf-‐sparql-‐protocol
• SPARQL Query Results XML Format: hYp://www.w3.org/TR/rdf-‐sparql-‐XMLres/
• CURIE Syntax 1.0: hYp://www.w3.org/TR/curie/
SPARQL 1.1 specs • SPARQL 1.1 Query Language: hYp://www.w3.org/TR/sparql11-‐query/
• SPARQL 1.1 Update: hYp://www.w3.org/TR/sparql11-‐update/
• SPARQL 1.1 Protocol for RDF: hYp://www.w3.org/TR/sparql11-‐protocol/
• SPARQL 1.1 Graph Store HTTP Protocol: hYp://www.w3.org/TR/sparql11-‐hYp-‐rdf-‐update/
• SPARQL 1.1 Entailment Regimes: hYp://www.w3.org/TR/sparql11-‐entailment/
• SPARQL 1.1 Service DescripVon: hYp://www.w3.org/TR/sparql11-‐service-‐descripVon/
• SPARQL 1.1 Federated Query: hYp://www.w3.org/TR/sparql11-‐federated-‐query/
• SPARQL 1.1 Test case structure: hYp://www.w3.org/2009/sparql/docs/tests/
• SPARQL 1.1 Query Results JSON Format: hYp://www.w3.org/TR/sparql11-‐results-‐json/
• SPARQL 1.1 Query Results CSV and TSV Formats: hYp://www.w3.org/TR/sparql11-‐results-‐csv-‐tsv/
まとめ
• SPARQLによるLODの検索 – SPARQLエンドポイント – グラフパターン – ja.dbpedia.org