More Related Content
More from Linked Open Dataチャレンジ実行委員会
More from Linked Open Dataチャレンジ実行委員会 (20)
LODを検索する
- 3. グラフのクエリ
• グラフの最小単位:
3つ組
(トリプル)
dbpedia-owl:Capital
dbpedia:Japan
dbpedia:Tokyo
• グラフパターン
1. 完全一致
• dbpedia:Japan
dbpedia-‐owl:Capital
dbpedia:Tokyo
.
2. 変数によるパターンマッチ
• dbpedia:Japan
dbpedia-‐owl:Capital
?capital
.
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:
RecommendaUons
– 1.1:
Working
DraVs
- 8. SPARQL
1.0
• データ取得・検索
– SELECT
– ASK
– CONSTRUCT
– DESCRIBE
• どこでもほぼ使用可能
- 9. SPARQL
1.1
• データ作成・更新・削除
– INSERT
/
UPDATE
/
DELETE
/LOAD
/
DROP
• 取得・検索にも様々な機能追加
– プロパティパス,集約,条件,数値関数,文字列関数,サブ
クエリ,Federatedクエリなどなど
• まだ実装に差あり
• ここでは1.1の内容は割愛
- 10. SELECT
• SELECT:
• SELECT
*
• :
XML,
JSON,
CSV,
TSV,
…
• WHERE:
{}
• LIMIT:
• 100 1-‐100
• LIMIT
•
• PREFIX:
URI
• dbpedia:Kaoru_Mori
=
<hep://dbpedia.org/resource/Kaoru_Mori>
- 11. SELECTの例(1)
)
3 100
SELECT
?s
?p
?o
WHERE
{
?s
?p
?o
.
}
LIMIT
100
- 12. SELECTの例
(2)
)
PREFIX
dbpedia:
<hep://dbpedia.org/resource/>
PREFIX
dbp-‐owl:
<hep://dbpedia.org/ontology/>
SELECT
?birthPlace
WHERE
{
dbpedia:Kaoru_Mori
dbp-‐owl:birthPlace
?birthPlace
.
}
- 13. ASK
• ASK:
WHERE
• :
XML,
JSON,
CSV,
TSV,
…
• yes
no
)
PREFIX
dbpedia:
<hep://dbpedia.org/resource/>
PREFIX
dbp-‐owl:
<hep://dbpedia.org/ontology/>
ASK
WHERE
{
dbpedia:Kaoru_Mori
dbp-‐owl:birthPlace
?birthPlace
.
}
- 14. CONSTRUCT
• CONSTRUCT:
• : RDF/XML, Turtle, …
) foaf:name 3
PREFIX
foaf:
<hep://xmlns.com/foaf/0.1/>
CONSTRUCT
{
?s
foaf:name
?o
.
}
WHERE
{
?s
foaf:name
?o
.
}
- 15. DESCRIBE
• DESCRIBE:
•
• 3
• : RDF/XML, Turtle, …
) http://dbpedia.org/resource/Tokyo
DESCRIBE <http://dbpedia.org/resource/Tokyo>
- 16. SPARQLエンドポイント
• SPARQLクエリを受け付ける場所
– SPARQLエンドポイントURI
• プログラムからSPARQLを使うときに指定
– 入力フォームがある場合もあり
• 公開
SPARQLエンドポイント
– 誰でも自由に利用可能
– 公開リスト
• hep://www.w3.org/wiki/SparqlEndpoints
• hep://ckan.net/dataset?res_format=api%2Fsparql&q=sparql
• hep://labs.mondeca.com/sparqlEndpointsStatus/
- 17. 公開SPARQLエンドポイント
の状態確認サイト
http://labs.mondeca.com/sparqlEndpointsStatus/
- 19. DBPediaのグラフ例
dbp-owl:capital rdfs:label
dbp:Japan
“日本”@ja
dbp-‐owl:City
rdf:type dbp-owl:country
dbp-‐owl:
dbp-prop:birthPlace
ComicsCreator
rdfs:label dbp:Tokyo
rdf:type
dbp-prop:birthPlace
rdf:type
dbp:Kaoru_Mori
dbp-‐owl:ArUst
“東京”@ja
owl:sameAs
dbp-prop:birthDate rdf:type
foaf:Person
“1978-‐09-‐18”
freebase:
^^xsd:date
rdfs:label foaf:homepage
rdfs:label
東京都
hep://morikaoru.blog62.fc2.com
Kaoru
Mori
“森薫”@ja
- 20. : ?
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT ?country
WHERE {
dbpedia:Tokyo dbpedia-owl:country ?country .
}
dbp-owl:capital rdfs:label
dbp:Japan
日本
dbp-‐owl:City
rdf:type dbp-owl:country
dbp-‐owl:
dbp-prop:birthPlace
ComicsCreator
rdfs:label dbp:Tokyo
rdf:type
dbp-prop:birthPlace
rdf:type
dbp:Kaoru_Mori
dbp-‐owl:ArUst
“東京”@ja
owl:sameAs
dbp-prop:birthDate rdf:type
foaf:Person
“1978-‐09-‐18”
freebase:
^^xsd:date
rdfs:label foaf:homepage
rdfs:label
東京都
hep://morikaoru.blog62.fc2.com
Kaoru
Mori
“森薫”@ja
- 22. : ?
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT ?country
WHERE {
dbpedia:Tokyo dbpedia-owl:country ?country .
}
- 23. : ?
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?birthPlace ?label
WHERE {
dbpedia:Kaoru_Mori dbpedia-owl:birthPlace ?birthPlace .
?birthPlace rdfs:label ?label .
}
dbp-owl:capital rdfs:label
dbp:Japan
“日本”@ja
dbp-‐owl:City
rdf:type dbp-owl:country
dbp-‐owl:
dbp-prop:birthPlace
ComicsCreator
rdfs:label dbp:Tokyo
rdf:type
dbp-prop:birthPlace
rdf:type
dbp-‐owl:ArUst
dbp:Kaoru_Mori
“東京”@ja
owl:sameAs
dbp-prop:birthDate rdf:type
foaf:Person
“1978-‐09-‐18”
freebase:
^^xsd:date
rdfs:label foaf:homepage
rdfs:label
東京都
hep://morikaoru.blog62.fc2.com
Kaoru
Mori
“森薫”@ja
- 24. : ?
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/
ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-
schema#>
SELECT ?birthPlace ?label
WHERE {
dbpedia:Kaoru_Mori dbpedia-owl:birthPlace ?
birthPlace .
?birthPlace rdfs:label ?label .
}
- 25. : ?
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?birthPlace ?label
WHERE {
dbpedia:Kaoru_Mori dbpedia-owl:birthPlace ?birthPlace .
?birthPlace rdf:type dbpedia-owl:City ;
rdfs:label ?label .
}
dbp-owl:capital rdfs:label
dbp:Japan
“日本”@ja
dbp-‐owl:City
rdf:type dbp-owl:country
dbp-‐owl:
dbp-prop:birthPlace
ComicsCreator
rdfs:label dbp:Tokyo
rdf:type
dbp-prop:birthPlace
rdf:type
dbp-‐owl:ArUst
dbp:Kaoru_Mori
“東京”@ja
owl:sameAs
dbp-prop:birthDate rdf:type
foaf:Person
“1978-‐09-‐18”
freebase:
^^xsd:date
rdfs:label foaf:homepage
rdfs:label
東京都
hep://morikaoru.blog62.fc2.com
Kaoru
Mori
“森薫”@ja
- 26. : ?
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-
schema#>
SELECT ?birthPlace ?label
WHERE {
dbpedia:Kaoru_Mori dbpedia-owl:birthPlace ?
birthPlace .
?birthPlace rdf:type dbpedia-owl:City ;
rdfs:label ?label .
}
- 27. : ?
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?birthPlace ?label
WHERE {
dbpedia:Kaoru_Mori dbpedia-owl:birthPlace ?birthPlace .
?birthPlace a dbpedia-owl:City ;
rdfs:label ?label .
FILTER (lang(?label) = “ja”)
}
dbp-owl:capital rdfs:label
dbp:Japan
“日本”@ja
dbp-‐owl:City
rdf:type dbp-owl:country
dbp-‐owl:
dbp-prop:birthPlace
ComicsCreator
rdfs:label dbp:Tokyo
rdf:type
dbp-prop:birthPlace
rdf:type
dbp:Kaoru_Mori
dbp-‐owl:ArUst
“東京”@ja
owl:sameAs
dbp-prop:birthDate rdf:type
foaf:Person
“1978-‐09-‐18”
freebase:
^^xsd:date
rdfs:label foaf:homepage
rdfs:label
東京都
hep://morikaoru.blog62.fc2.com
Kaoru
Mori
“森薫”@ja
- 28. : ?
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?birthPlace ?label
WHERE {
dbpedia:Kaoru_Mori dbpedia-owl:birthPlace ?birthPlace .
?birthPlace a dbpedia-owl:City ;
rdfs:label ?label .
FILTER (lang(?label) = “ja”)
}
- 29. SPARQL1.0
specs
• SPARQL
Query
Language
for
RDF:
hep://www.w3.org/TR/rdf-‐sparql-‐query/
• SPARQL
Protocol
for
RDF:
hep://www.w3.org/TR/rdf-‐sparql-‐protocol
• SPARQL
Query
Results
XML
Format:
hep://www.w3.org/TR/rdf-‐sparql-‐XMLres/
• CURIE
Syntax
1.0:
hep://www.w3.org/TR/curie/
- 30. SPARQL
1.1
specs
• SPARQL
1.1
Query
Language:
hep://www.w3.org/TR/sparql11-‐query/
• SPARQL
1.1
Update:
hep://www.w3.org/TR/sparql11-‐update/
• SPARQL
1.1
Protocol
for
RDF:
hep://www.w3.org/TR/sparql11-‐protocol/
• SPARQL
1.1
Graph
Store
HTTP
Protocol:
hep://www.w3.org/TR/sparql11-‐hep-‐rdf-‐update/
• SPARQL
1.1
Entailment
Regimes:
hep://www.w3.org/TR/sparql11-‐entailment/
• SPARQL
1.1
Service
DescripUon:
hep://www.w3.org/TR/sparql11-‐service-‐descripUon/
• SPARQL
1.1
Federated
Extension:
hep://www.w3.org/TR/sparql11-‐federated-‐query/
• SPARQL
1.1
Conformance
Tests:
hep://www.w3.org/2009/sparql/docs/tests/
• SPARQL
1.1
Query
Results
JSON
Formats:
hep://www.w3.org/TR/sparql11-‐results-‐json/
• SPARQL
1.1
Query
Results
CSV
and
TSV
Formats:
hep://www.w3.org/TR/sparql11-‐results-‐csv-‐tsv/