Как я могу извлечь имена всех людей из Викиданных с помощью Python?

Я хотел бы извлечь (все отдельные) имена всех людей, т. е. именованные сущности, которые являются людьми, в Викиданных с помощью Python. Я пробовал разные библиотеки (qwikidata, mwikidata), разные запросы на получение и саму службу SPARQL Wikidata. Через некоторое время я понял, что общий запрос выглядит так:

      SELECT ?person ?personLabel

WHERE {
    ?person wdt:P31 wd:Q5 .
    ?person rdfs:label ?personLabel. FILTER( LANG(?personLabel)="de, en" )
}

слишком велик для общедоступного API. Затем я добавил комбинацию лимита и смещения в конце запроса, например:

      ORDER BY ASC(?personLabel)

LIMIT 10000 OFFSET 10000

Но что бы я ни пытался, я получаю либоTimeOutError(служба викиданных) илиjson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)(питон)

Одна из идей состоит в том, чтобы создать несколько наборов данных со свойством биологического пола (P21), но для мужчин и женщин сохраняются одни и те же проблемы.

Помощь очень ценится!

0 ответов

Другие вопросы по тегам