Получайте названия всех мест в географических названиях с помощью SPARQL DBPEDIA - PullRequest
0 голосов
/ 31 марта 2020

Я совершенно новичок в sparql.

Я основал этот запрос, чтобы получить всю страну в ООН

select distinct ?s
where { ?s a <http://dbpedia.org/class/yago/WikicatMemberStatesOfTheUnitedNations> }

Поэтому я попытался адаптировать его к Geonames с помощью:

select distinct ?s
where { ?s a <http://dbpedia.org/page/GeoNames> }

Но это не так Работа. Как я могу получить название каждого места в географических названиях?

Я надеюсь, что кто-то может помочь мне с этим!

1 Ответ

0 голосов
/ 31 марта 2020

Каждый издатель использует свое собственное пространство имен и метод для генерации URI опубликованных сущностей. Приятной особенностью связанных открытых данных является то, что они допускают такую ​​независимость, в то время как URI все еще могут быть связаны с использованием согласованных открытых стандартов. Когда разные URI представляют одну и ту же вещь, это объявляется путем связывания их с owl:sameAs.

Ваша попытка запроса предполагает, что DPpedia и Geonames используют одни и те же URI, если я правильно понял намерение (я не уверен Что вы подразумеваете под «адаптировать»). Вам нужно использовать две отдельные переменные, а затем указать, что из отображений owl:sameAs вы хотите только те из Geonames.

select distinct *

where { ?cuntryDBpedia a <http://dbpedia.org/class/yago/WikicatMemberStatesOfTheUnitedNations> ;

        owl:sameAs ?countryGeonames .

FILTER REGEX (?countryGeonames,"geonames.org")

 }
...