为什么这个 sparql 查询没有返回 dbpedia 上的任何行?

Why is this sparql query not returning any rows on dbpedia?

这是我下面的查询,查询具有一定最小人口的国家名称,在http://dbpedia.org/sparql上执行。

即使我将 population 变量更改为很小的数量。没有行被返回。为什么?

PREFIX type: <http://dbpedia.org/class/yago/>
PREFIX prop: <http://dbpedia.org/property/>
SELECT ?country_name ?population
WHERE {
    ?country a type:LandlockedCountries ;
             rdfs:label ?country_name ;
             prop:populationEstimate ?population .
    FILTER (?population > 15000000 && langMatches(lang(?country_name), "en")) .
} ORDER BY DESC(?population)

因为DBpedia里没有class http://dbpedia.org/class/yago/LandlockedCountries - 不知道你为什么认为有这么一个class?

有一个维基百科类别 Landlocked_countries,因此,URI 为 http://dbpedia.org/resource/Category:Landlocked_countries,将资源与类别相关联的 属性 为 http://purl.org/dc/terms/subject:

PREFIX prop: <http://dbpedia.org/property/>
PREFIX dbc: <http://dbpedia.org/resource/Category:>
PREFIX dct: <http://purl.org/dc/terms/>
SELECT *
WHERE {
    ?country dct:subject dbc:Landlocked_countries ;
    rdfs:label ?country_name ;
    prop:populationEstimate ?population .
    FILTER (?population > 15000000 && langMatches(lang(?country_name), "en")) .
} ORDER BY DESC(?population)

一般来说,"debugging" SPARQL 查询可以通过仅从一个三元组模式开始并检查此 returns 是否是预期的响应来完成。任何结果。