我试图从DBPedia中选择出生在特定国家(例如葡萄牙)的所有人。SPARQL:按国家选择人
我可以使用此查询:
SELECT DISTINCT ?person
WHERE {
?person dbpedia-owl:birthPlace dbpedia:Portugal.
}
但问题是,并不是所有的人都有DBpedia中:葡萄牙为发源地。大约30%的人只有一个城镇名称为birthPlace,例如,
dbpedia:Lisbon
我可以在FILTER子句中添加所有葡萄牙城市,但它是一个大列表。
可能可以推断葡萄牙 from 里斯本在SPARQL查询莫名其妙?
(不加过滤器的所有葡萄牙的城市获得所有人)
呀,感谢..由于DBpedia的数据,我们仍然怀念约1000 persons..e.g。 //dbpedia.org/resource/Vera_Kolodzig ....但它是DBPEdia数据问题 – gmlvsv
@gmlvsv这个答案有效,但它非常冗长。它可以写得更短(也可能更有效)。我已添加[答案](http://stackoverflow.com/a/30988780/1281433)。 –
@Artemis,你如何得到这2563结果呢?当我运行它时,将选择行更改为'select(count(distinct?person)as?n)',我得到2449,就像在[我的答案]中一样(http://stackoverflow.com/a/30988780/1281433 )。我认为有些地方是不正确的......(我运行OP的查询时得到1723) –