Значения и свойства викиданных, которым присвоен уникальный идентификатор?

Я не совсем уверен, как это сделать, но у меня есть 22 000 уникальных идентификаторов для названий игр из Википедии. Я получил их через их публичный API, но теперь я застрял.

Мне нужно использовать эти идентификаторы, чтобы получить все свойства для каждой статьи, на которую они указывают. У меня есть файл, который содержит все различные идентификаторы свойств (например, P143 означает "Импортировано из"), поэтому я могу перевести их в строки. Но я не могу понять, как получить значения для этих свойств. Я только что получил новые уникальные идентификаторы.

Вот я попробовал Query, который должен получить Duke Nukem 3D только на английском языке. Вот фрагмент этого запроса:

"P143": [
    {
        "snaktype": "value",
        "property": "P143",
        "datavalue": {
            "value": {
                "entity-type": "item",
                "numeric-id": 206855,
                "id": "Q206855"
            },
            "type": "wikibase-entityid"
        },
        "datatype": "wikibase-item"
    }
]

Я не могу понять, как я должен получить значение, которое представляет это свойство из этого. Если бы кто-нибудь мог помочь, я бы очень признателен.

Как я могу получить значения из этих свойств?

1 ответ

Решение

Вы близки, но есть одна вещь, которую вам не хватает. То, что вы называете значением, - это то, что Викиданные называют меткой элемента (элемент является Q-номером, возвращаемым в запросе). Таким образом, вы на самом деле получаете значение, но вам нужно сделать новый запрос для метки. Например, в вашем запросе, довольно близко к вершине, есть раздел с именем "labels" (и вы видите, что ваш запрос возвращает метку "Duke Nukem 3D"). Это будет "ценность", которую вы ищете. Если вы вставите Q-номер из своего фрагмента, это покажет, что это "русскоязычное издание Википедии".

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