Я ввожу следующий запрос на http://dbpedia.org/sparql:DBpedia/SPARQL: получить население & LAT/LNG всех городов/городов/деревень в Великобритании
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?s ?name ?value ?lat ?lng
WHERE {
?s a <http://dbpedia.org/ontology/PopulatedPlace> .
?s <http://dbpedia.org/property/name> ?name .
?s <http://dbpedia.org/property/populationTotal> ?value .
FILTER (?lng > -8.64 AND ?lng < 2.1 AND ?lat < 61.1 AND ?lat > 49.35)
?s geo:lat ?lat .
?s geo:long ?lng .
}
(Габаритный прямоугольник предназначен, чтобы быть для Великобритании , другой вариант - добавить <http://dbpedia.org/ontology/country> <http://dbpedia.org/resource/United_Kingdom> .
, но есть вероятность, что некоторые места, возможно, не были помечены Великобританией как страна).
Проблема в том, что она, кажется, не оттягивает много мест (около 290). Подкачка population
для populationTotal
дает 1588 мест, и я не могу понять (семантически), какой из них следует использовать.
Является ли это ограничением базовыми данными или есть что-то, что может быть улучшено в том, как я формулирую запрос?
Примечание: этот вопрос в основном является академическим сейчас, когда я получил информацию от http://download.geonames.org/export/dump/GB.zip, но я бы предпочел использовать открытые данные и семантическую сеть, поэтому опубликую этот вопрос, чтобы узнать, есть ли что-то, или выяснить, есть ли недостаток в том, как данные очищаются от Википедии, и могу ли я ошибаться.
Я считал это, но считал, что 290 и 1588 были очень низкими числами для мест, в которых были определены эти атрибуты. Может быть, мне нужно погрузиться и улучшить код, который анализирует население из инфобокса? – EoghanM
@EoghanM Похоже на комбинацию кода, который виноват (например, он не учитывает [ситуации, когда население разбито] (https://en.wikipedia.org/wiki/Collinstown) в регионы) и Википедии просто [не имея] (https://en.wikipedia.org/wiki/Freshford,_County_Kilkenny) информацию о населении. – KevLoughrey
Спасибо Kev! Похоже, мы местные. Пинг меня в эогане в точке, то есть (именно это я и работаю): D – EoghanM