在one of the samples for querying Wikidata中,我发现以下查询,该查询在SELECT之后的行中包括p:P6 / v:P6。这是什么意思?
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
SELECT ?p ?w ?l ?wl WHERE {
wd:Q30 p:P6/v:P6 ?p . #-- This line
?p wdt:P26 ?w .
OPTIONAL {
?p rdfs:label ?l filter (lang(?l) = "en") .
}
OPTIONAL {
?w rdfs:label ?wl filter (lang(?wl) = "en").
}
}
最佳答案
这是SPARQL 1.1 property path的SequencePath风格。
wd:Q30 p:P6/v:P6 ?p .
表示存在一个三元组
(wd:Q30, p:P6, ?x)
和另一个三元组(?x, v:P6, ?p)
,而无需明确地写(或命名)中间节点?x
。换句话说,它说:“ ?p
可以通过从wd:Q30
开始,依次跟随属性p:P6
和属性v:P6
来找到。