【发布时间】:2016-06-29 21:40:31
【问题描述】:
我正在尝试获取一个数据集,它可以为我提供a city's climate table 中的所有可用数据,但我遇到了一些麻烦。
我能够让它发挥作用,并且对自己感觉很好。当我将其插入 dbpedia's virtuoso client 时,它会显示 dbpedia 拥有的所有城市,以及它们的所有国家/地区。
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT DISTINCT ?city_name ?country
WHERE { ?city rdf:type dbpedia-owl:City ;
rdfs:label ?city_name;
dbpedia-owl:country ?country
FILTER (langMatches(lang(?city_name), "EN")) .
}
更新:我发现似乎可以提供我正在寻找的属性(例如 dbpedia.org/property/aprHighC),但我无法将它们添加到我的输出中。
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT DISTINCT ?city_name ?country ?aprHighC
WHERE { ?city rdf:type dbpedia-owl:City .
?city rdfs:label ?city_name .
?city dbpedia-owl:country ?country
FILTER (langMatches(lang(?city_name), "EN")) .
}
给出错误:Variable 'aprHighC' is used in the query result set but not assigned。如何分配?
【问题讨论】:
-
我不认为 DBpedia 中使用了这个属性。试试
SELECT * { ?s dbo:climate ?climate .}你会发现你不会得到任何结果。或者打开任何dbo:Place的资源页面,这是dbo:climate的域,并尝试查找与气候相关的任何属性。 -
我不认为这些表是由 DBpedia 提取框架处理的。我现在正在进行一些研究来提取此类数据,但目前数据主要来自维基百科条目页面右侧的信息框。或者您从哪里获得气候数据?
-
我做了一个小更新。有人对新问题有意见吗?
-
?aprHighC需要在WHERE子句中绑定(一些 SPARQL 引擎会忽略这一点,只返回未绑定变量的结果)。 -
@scotthenninger 老实说,我无法弄清楚如何做到这一点而不会出错......