Basic graph pattern (BGP) 是一個三元組的集合(帶有變量的RDF 三元組)煎娇,變量名都帶有前綴 ‘?’or ‘$’(e.g. ?v, $v)
Turtle 語法和 N3 類似,是一種語法糖伸蚯。
格式如下:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX umbel-sc: <http://umbel.org/umbel/sc/>
SELECT ?name
WHERE {
?v rdf:type umbel-sc:Volcano .
rdfs:label ?name .
}
舉例:
-- Data
dbpedia:Mount_Etna rdf:type umbel-sc:Volcano ;
rdfs:label "Etna".
dbpedia:Mount_Baker rdf:type umbel-sc:Volcano.
dbpedia:Beerenberg rdf:type umbel-sc:Volcano,
umbel-sc:NaturalElevation ;
rdfs:label "Beerenberg“@en ;
rdfs:label "Бееренберг"@ru .
提問:所有已知火山的名字是什么?
--Query
SELECT ?name WHERE {
?v rdf:type umbel-sc:Volcano ;
rdfs:label ?name .
}
經(jīng)過模式匹配后,我們得到:
"Etna"
"Beerenberg“@en
"Бееренберг"@ru
又如問題:列出所有叫做Beerenberg的火山
SELECT ?type WHERE {
?v rdf:type ?type ;
rdfs:label ''Beerenberg''. }
經(jīng)過匹配后,我們得到:
umbel-sc:Volcano,
umbel-sc:NaturalElevation ;
復(fù)雜一點(diǎn)的Data結(jié)構(gòu):
dbpedia:Mount_Baker rdf:type umbel-sc:Volcano ;
p:location dbpedia:United_States .
dbpedia:United_States rdfs:label "United States";
問題:已知的火山位于哪里揩魂?
SELECT ?name WHERE {
_:x rdf:type umbel-sc:Volcano ;
p:location [ rdfs:label ?name ] . }
經(jīng)過匹配后,我們得到:
"United States"
更更復(fù)雜的Data結(jié)構(gòu):
dbpedia:Mount_Baker rdf:type umbel-sc:Volcano ;
p:location [ rdfs:label "United States"@en , "états-Unis"@fr ] .
dbpedia:Mount_Etna rdf:type umbel-sc:Volcano ;
p:location [ rdfs:label "Italy" ]
問題: 所有已知火山的位置炮温?
SELECT ?name WHERE {
?v rdf:type umbel-sc:Volcano ;
p:location ?l .
?l rdfs:label ?name .
}
經(jīng)過匹配后火脉,我們得到:
"United States"@en
"états-Unis"@fr
"Italy"