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来找到。

08-25 13:09