有人可以向我展示任何SPARQL查询,以便从http://www4.wiwiss.fu-berlin.de/factbook/sparql获取所有国家/地区的所有国家/地区吗?
例如,阿富汗有: 事实书:陆地数据库:中国, 事实书:陆地数据库:伊朗, 事实书:陆地数据库:巴基斯坦, 事实书:陆地数据库:塔吉克斯坦, 事实书:陆地数据库:土库曼斯坦
我尝试获取数据:
SELECT ?country ?name ?neighbour
WHERE {
?country rdf:type factbook:Country .
?country rdfs:label ?name.
OPTIONAL{
?country factbook:landboundary ?neighbour.
}
}
以下面的消息结束:
rethrew: de.fuberlin.wiwiss.d2rq.D2RQException: Table 'factbook.neighbors' doesn't exist: SELECT DISTINCT `T0_neighbors`.`name_encoded` FROM `bordercountries` AS `T0_bordercountries`, `neighbors` AS `T0_neighbors`, `countries` AS `T0_countries` WHERE `T0_bordercountries`.`Landboundaries_bordercountries_title` = `T0_neighbors`.`Name` AND `T0_bordercountries`.`Name` = `T0_countries`.`Name` AND `T0_countries`.`name_encoded` = 'Aruba' (E0)
我在http://answers.semanticweb.com问了同样的问题,但没有运气,所以我在这里试试运气
答案 0 :(得分:1)
失败似乎是由内部系统错误引起的。您的SPARQL查询没有任何语法错误,并且您提供的谓词根据数据有效。
但是,我不明白您的查询应该如何返回某个特定国家/地区的邻居。也许你想尝试这样的事情:
SELECT DISTINCT ?neighbor
WHERE {
?neighbor rdf:type factbook:Country .
?neighbor factbook:landboundary db:Afghanistan .
}
答案 1 :(得分:0)
很久以后,也不能完全回答这个问题(目前CIA Factbook的SPARQL端点似乎已经关闭),但是WikiData给出了一些示例,该示例根据{{{ 3}}
例如如果打开示例并搜索“边界”,则会得到“与喀麦隆共有边界的国家”的查询:
#Population of countries sharing a border with Cameroon
#defaultView:LineChart
SELECT ?country ?year ?population ?countryLabel WHERE {
{
SELECT ?country ?year (AVG(?population) AS ?population) WHERE {
{
SELECT ?country (str(YEAR(?date)) AS ?year) ?population WHERE {
?country wdt:P47 wd:Q1009; # shares border with Cameroon
p:P1082 ?populationStatement.
?populationStatement ps:P1082 ?population;
pq:P585 ?date.
}
}
}
GROUP BY ?country ?year
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
要了解这一点,必须知道(或弄清楚)wd:Q1009
实际上是喀麦隆。不确定如何执行此操作。
此示例还显示-imo不太有用-按年显示周围国家的人口。
一个没有多余数据的简单版本是:
SELECT ?country ?countryLabel WHERE {
?country wdt:P47 wd:Q1009 # shares border with Cameroon
SERVICE wikibase:label {
bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en".
}
}
(SERVICE wikibase:label
是https://query.wikidata.org/)
最后,所有国家/地区的所有毗邻邻国可能都是:
SELECT ?country ?countryLabel ?neighbourLabel ?neighbour WHERE {
?country wdt:P31 wd:Q6256;
wdt:P47 ?neighbour
SERVICE wikibase:label {
bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en".
}
} ORDER BY ?countryLabel ?neighbourLabel