Contenu connexe
Plus de Linked Open Dataチャレンジ実行委員会 (20)
LODを検索する
- 3. グラフのクエリ
• グラフの最小単位:
3つ組
(トリプル)
dbpedia-owl:country
dbp:東京都
dbp:日本
• グラフパターン
1. 完全一致
• dbp:東京都
dbp-‐owl:country
dbp:日本
.
2. 変数によるパターンマッチ
• dbp:東京都
dbp-‐owl:country
?country
.
3. 1と2の組み合わせ
- 4. 好き嫌いグラフ
:Amy
:like :like
:Bob
:Cathy
:dislike
:like
:Dan
:dislike :Flo
:dislike :Ed
:dislike :dislike
:Gil
:like :Ian
:like
:Jim
:Hal
:like
:dislike :Kate
:dislike :May
:like :Lee
:dislike
- 5. Amyが好きな人
グラフパターン
:Amy
:like
?person
.
:Amy
:like :like
:Bob
:Cathy
:dislike
:like
:Dan
:dislike :Flo
:dislike :Ed
:dislike :dislike
:Gil
:like :Ian
:like
:Jim
:Hal
:like
:dislike :Kate
:dislike :May
:like :Lee
:dislike
- 6. “Amyが好きな人”が好きな人
グラフパターン
:Amy
:like
?person1
.
?person1
:like
?person2
.
:Amy
:like :like
:Bob
:Cathy
:dislike
:like
:Dan
:dislike :Flo
:dislike :Ed
:dislike :dislike
:Gil
:like :Ian
:like
:Jim
:Hal
:like
:dislike :Kate
:dislike :May
:like :Lee
:dislike
- 7. SPARQL
• LOD用クエリ言語
– データモデル:
RDF
(ラベル付き有向グラフ)
– プロトコル:
HTTP
• W3C仕様
– 1.0:
RecommendaVons
– 1.1:
Working
DraWs
- 8. 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/
- 10. 公開SPARQLエンドポイント
の状態確認サイト
http://labs.mondeca.com/sparqlEndpointsStatus/
- 13. DBpedia
Japaneseのグラフ例
サイボーグ009
dbp-‐owl:Comics
rdfs:label rdf:type
dbp-‐owl:AdministraVveRegion
dbp:サイボーグ009
rdf:type dbp-‐owl:
dbp-owl:notableWork ComicsCreator
rdfs:label dbp:宮城県
rdf:type
dbp-owl:birthPlace
dbp:石ノ森章太郎
宮城県
rdf:type foaf:Person
dbp-owl:leaderName
dbp-prop:生年 rdfs:label dbp-owl:award
dbp:村井嘉浩
1938
dbp:手塚治虫
石ノ森章太郎
文化賞
- 14. クエリ: 石ノ森章太郎の出身地
PREFIX dbp: <http://ja.dbpedia.org/resource/>
PREFIX dbp-owl: <http://dbpedia.org/ontology/>
SELECT ?birthPlace
WHERE {
dbp:石ノ森章太郎 dbp-owl:birthPlace ?birthPlace .
}
サイボーグ009
dbp-‐owl:Comics
rdfs:label rdf:type
dbp-‐owl:AdministraVveRegion
dbp:サイボーグ009
rdf:type dbp-‐owl:
dbp-owl:notableWork ComicsCreator
rdfs:label dbp:宮城県
rdf:type
dbp-owl:birthPlace
dbp:石ノ森章太郎
宮城県
rdf:type foaf:Person
dbp-owl:leaderName
dbp-prop:生年 rdfs:label dbp-owl:award
dbp:村井嘉浩
1938
dbp:手塚治虫
石ノ森章太郎
文化賞
- 16. 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/東京都>
- 17. クエリ: 手塚治虫文化賞を受賞した漫画家
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:手塚治虫文化賞 .
}
サイボーグ009
dbp-‐owl:Comics
rdfs:label rdf:type
dbp-‐owl:AdministraVveRegion
dbp:サイボーグ009
rdf:type dbp-‐owl:
dbp-owl:notableWork ComicsCreator
rdfs:label dbp:宮城県
rdf:type
dbp-owl:birthPlace
dbp:石ノ森章太郎
宮城県
rdf:type foaf:Person
dbp-owl:leaderName
dbp-prop:生年 rdfs:label dbp-owl:award
dbp:村井嘉浩
1938
dbp:手塚治虫
石ノ森章太郎
文化賞
- 19. クエリ: 手塚治虫文化賞を受賞した漫画家の代表的な漫画
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 .
}
サイボーグ009
dbp-‐owl:Comics
rdfs:label rdf:type
dbp-‐owl:AdministraVveRegion
dbp:サイボーグ009
rdf:type dbp-‐owl:
dbp-owl:notableWork ComicsCreator
rdfs:label dbp:宮城県
rdf:type
dbp-owl:birthPlace
dbp:石ノ森章太郎
宮城県
rdf:type foaf:Person
dbp-owl:leaderName
dbp-prop:生年 rdfs:label dbp-owl:award
dbp:村井嘉浩
1938
dbp:手塚治虫
石ノ森章太郎
文化賞
- 21. SPARQL
• LOD用クエリ言語
– データモデル:
RDF
(ラベル付き有向グラフ)
– プロトコル:
HTTP
• W3C仕様
– 1.0:
RecommendaVons
– 1.1:
Working
DraWs
- 22. SPARQL
1.0
• データ取得・検索
– SELECT
– ASK
– CONSTRUCT
– DESCRIBE
• どこでもほぼ使用可能
- 24. 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
.
}
- 25. 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
.
}
- 26. DESCRIBE
• DESCRIBE: リソースに関するグラフを取得
• 実装依存
• 多くの場合は対象リソースを直接含む3つ組の集合
• 結果形式: RDF/XML, Turtle, …
例) http://ja.dbpedia.org/resource/東京都に関するグラフを取得
DESCRIBE <http://ja.dbpedia.org/resource/東京都>
- 27. SPARQL
1.1
• データ作成・更新・削除
– INSERT
/
UPDATE
/
DELETE
/
LOAD
/
DROP
• 様々な機能追加
– プロパティパス,集約,条件,数値関数,文字列関数,サブ
クエリ,Federatedクエリなど
• 実装に差あり
• 1.1の内容は省略
- 28. 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/
- 29. 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/