在维基数据SPARQL的例子中,我们有这个:
SELECT ?h ?date
WHERE
{
?h wdt:P31 wd:Q5 .
?h wdt:P569 ?date .
OPTIONAL {?h wdt:P570 ?d }
FILTER (?date > "1880-01-01T00:00:00Z"^^xsd:dateTime)
FILTER (!bound(?d))
}
LIMIT 1000
据我所知,如果你把Label放在变量名后面,就会显示标签。所以,我不明白为什么这没有输出:
SELECT ?h ?hLabel ?date ...
提前谢谢!
答案 0 :(得分:3)
我不知道变量名后面的Label的特定功能。
但是,对于rdfs:label,您可以在查询中包含rdfs:label
。添加以下行:?h rdfs:label ?hLabel.
:
SELECT ?h ?hLabel ?date WHERE
{
?h wdt:P31 wd:Q5 .
?h wdt:P569 ?date .
?h rdfs:label ?hLabel.
OPTIONAL {?h wdt:P570 ?d }
FILTER (?date > "1880-01-01T00:00:00Z"^^xsd:dateTime)
FILTER (!bound(?d))
}
LIMIT 1000
如果您想要特定语言的标签,例如对于英语添加FILTER (langMatches( lang(?hLabel), "EN" ) )