从数据库百科列出国家/地区



尝试查询 DBpedia 以获取列出了 dbo:longName 属性和每个国家/地区的首都的所有国家/地区的列表,但返回的结果为 0。看不出查询有什么问题。

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
SELECT ?country ?capital
WHERE {
 ?country a dbo:longName ;
    dbo:capital ?capital .
}

缺少什么?

您缺少?countryrdf:type dbo:Country而不是dbo:longName。正确的查询应该是:

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
SELECT ?country ?capital
WHERE {
 ?x a dbo:Country.
 ?x dbo:longName ?country.
 ?x dbp:capital ?capital
}
<小时 />

更新

根据您的评论,您需要国家/地区及其首都的 URI。因此,您不需要dbo:longName,因为您不需要国家/地区标签名称。您将选择实例:

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
SELECT ?country ?capital
WHERE {
 ?country a dbo:Country.
 ?country dbo:capital ?capital
}

请注意,结果将带来灭绝的国家。如果要过滤已结束的国家/地区,则应使用以下方法获得此结果:

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
SELECT ?country ?capital
WHERE {
 ?country a dbo:Country.
 ?country dbo:capital ?capital.
 FILTER NOT EXISTS { ?country dbo:dissolutionYear ?yearEnd }
}

相关内容

最新更新