从维基百科检索所有人 API

Retrieving all people from the Wikipedia API

我想使用 API 在维基百科数据库中找到所有人。到目前为止,我完成此任务的方法是使用查询来获取属于某个类别的所有人员,例如:

https://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=json&list=categorymembers&cmlimit=100&cmtitle=Category:French_revolutionaries

这种方法需要我知道French_revolutionaries是一类人。我的问题是:如何从 API?

中检索所有人(而不仅仅是某个类别中的人)

我考虑过的一种方法是从任意类别开始,例如 French_revolutionaries。对于该类别的每个成员,检索他们的信息和他们所属的其他类别,然后以相同的方式搜索这些类别,以这种递归方式操作,直到没有新的类别可获取为止。但是,如果网络没有完全连接,这将无法工作,并且没有我想要的那么优雅。

有没有一种直接的方法可以找到维基百科数据库中的所有人? dbpedia 可以提供那个数组吗?我现在正在下载 SQL dump of the Wiki category data,但想提出问题以防其他人知道快速解决方案。其他人可以提供的任何帮助将不胜感激!

该问题带有 Sparql 标记,因此我假设您对基于 Sparql 的解决方案持开放态度。

这样的查询有问题吗
select * { ?person a dbo:Person }

SPARQL Results

也许与维基数据

SELECT ?person WHERE { ?person wdt:P31 wd:Q5 }
limit 100

https://query.wikidata.org/#SELECT%20%3Fperson%20WHERE%20%7B%20%3Fperson%20wdt%3AP31%20wd%3AQ5%20%7D%0Alimit%20100