Я пытаюсь выбрать всех людей, родившихся в определенной стране (например, Португалии) из DBPedia.SPARQL: выбор людей по странам
Я мог бы использовать этот запрос:
SELECT DISTINCT ?person
WHERE {
?person dbpedia-owl:birthPlace dbpedia:Portugal.
}
Но проблема в том, что не все люди имеют DBpedia: Португалия в Birthplace. Около 30% людей имеют только название города как birthPlace, например.
dbpedia:Lisbon
Я мог бы добавить все города Португалии в пункт FILTER, но это большой список.
Может быть, это можно сделать вывод о Португалии из Лиссабона в запросе SPARQL какого-то образом?
(чтобы не добавлять все города Португалии в FILTER, чтобы получить все лицо)
Да, спасибо .. Благодаря данному DBpedia мы до сих пор скучаем около 1000 persons..e.g. //dbpedia.org/resource/Vera_Kolodzig .... Но это проблема с данными DBPEdia – gmlvsv
@gmlvsv Этот ответ работает, но он очень многословный. Его можно записать гораздо более коротким (и, возможно, более эффективным) способом. Я добавил [ответ] (http://stackoverflow.com/a/30988780/1281433). –
@Artemis, как вы получите этот результат для 2563? Когда я запускаю его, меняя строку выбора на 'select (count (person? Person) as? N)', я получаю 2449, как в [моем ответе] (http://stackoverflow.com/a/30988780/1281433). Я думаю, что-то что-то некорректно где-то ... (я ** делаю ** получаю 1723 при выполнении запроса OP.) –