須知
1.SPARQL 查詢是建立在RDF 數(shù)據(jù)集上。
2.一個 RDF數(shù)據(jù)集包含一個默認(rèn)graph, 和0個或者多個被URI指定的graph
3.關(guān)鍵字——GRAPH讓一個被URI指定的graph成為當(dāng)前被使用的graph,用于模式匹配。
Data structure
---Default Graph
dbpedia:Mount_Etna rdfs:seeAlso <http://example.org/d1>.
dbpedia:Mount_Baker rdfs:seeAlso <http://example.org/d2>.
http://example.org/d1
dbpedia:Mount_Etna rdf:type umbel-sc:Volcano ;
rdfs:label "Etna" .
http://example.org/d2
dbpedia:Mount_Baker rdf:type umbel-sc:Volcano .
http://example.org/d3
dbpedia:Beerenberg rdf:type umbel-sc:Volcano ;
rdfs:label ”Beerenberg“@en
1.問題:在graph1 中有哪些火山的名字?
QUERY
SELECT ?v WHERE {
GRAPH <http://example.org/d1> {
?v rdf:type umbel-sc:Volcano .
}
}
返回:
dbpedia:Mount_Etna
2.問題:在所有圖中,有哪些火山?
QUERY
SELECT ?v WHERE {
GRAPH ?g {
?v rdf:type umbel-sc:Volcano .
}
}
返回:
dbpedia:Mount_Etna
dbpedia:Mount_Baker
dbpedia:Beerenberg
3.問題:在默認(rèn)graph中有哪些火山?
QUERY
SELECT ?v WHERE {
_:x rdfs:seeAlso ?g
GRAPH ?g {
?v rdf:type umbel-sc:Volcano .
}
}
返回:
dbpedia:Mount_Etna
dbpedia:Mount_Baker
4.問題:不在默認(rèn)graph中有哪些火山
QUERY
SELECT ?g WHERE {
GRAPH ?g {
?v rdf:type umbel-sc:Volcano ;
rdfs:label ?name
}
OPTIONAL { ?v rdfs:seeAlso ?r }
Filter (! BOUND(?r) )
}
返回:
dbpedia:Beerenberg