Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sparql 从DBpedia中列出国家_Sparql_Dbpedia - Fatal编程技术网

Sparql 从DBpedia中列出国家

Sparql 从DBpedia中列出国家,sparql,dbpedia,Sparql,Dbpedia,正在尝试查询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

正在尝试查询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 .
}
前缀dbo:
前缀dbr:
选择?国家?资本
在哪里{
?国家a dbo:longName;
首都?首都。
}

缺少什么?

您缺少的是
?country
具有
rdf: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
}
请注意,结果将带来灭绝的国家。如果要筛选已结束的国家/地区,应通过以下方式获得此结果:

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 }
}
前缀dbo:
前缀dbr:
选择?国家?资本
在哪里{
?国家a dbo:国家。
?国家dbo:首都?首都。
筛选器不存在{国家/地区dbo:dissolutionYear?yearEnd}
}

您的第一个三重模式是
?国家/地区rdf:type dbo:longName
-这对您有意义吗?查询得到一个列表,但列表不是我要找的。试图列出?x和?y,其中一列是国家,另一列是它们的首都。每列都包含各国及其首都的URI。这将返回什么样的结果:选择?s?x,其中{s a dbo:City;dbo:country?x}您的问题没有明确说明这一点。不管怎样,我更新了答案以满足您的需求。
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 }
}