Как получить список всех свойств Wikidata?

Что такое API Wikidata, эквивалентный этой странице, где перечислены все известные свойства Wikidata? Я хотел бы найти недвижимость, например, "докторский советник", и получить обратно P184.

Аналогичная функция существует для предметов, но я не могу найти эквивалент для свойств.

4 ответа

Решение

С помощью action=wbsearchentities с type=property следует сделать. Документ API Wikidata находится здесь, ищите "=wb", чтобы получить функции, специфичные для Wikidata.

Я написал небольшой скрипт для запроса всех свойств с помощью действия API wikidata action = wbgetentities. Он генерирует файл JSON с

ключ: значение

являющийся

property Pid: метка свойства на языке запроса

Я опубликовал результаты для нескольких языков и мог сделать для другого языка по запросу, пока не будет официального (и более чистого) ответа на эту потребность

Обновление: спасибо ответу @ nerab, я обновил wikidata-properties-dumper для использования результатов Quarry SQL: это намного лучше:)

Обновление 2: Карьер не был таким гибким, я перешел на использование запроса SPARQL и включил его в команду CLI Wikidata: wd props

Благодаря комментариям в проекте @maxlath я нашел Quarry.

Список всех свойств Wikidata можно получить из

http://quarry.wmflabs.org/run/45013/output/1/json

Этот конкретный список на английском языке, но запрос может быть изменен и для других языков.

Вы можете использовать этот запрос SPARQL: он возвращает имя свойства, описание и запятую, также известные как метки из английского языка:

SELECT ?property ?propertyLabel ?propertyDescription (GROUP_CONCAT(DISTINCT(?altLabel); separator = ", ") AS ?altLabel_list) WHERE {
    ?property a wikibase:Property .
    OPTIONAL { ?property skos:altLabel ?altLabel . FILTER (lang(?altLabel) = "en") }
    SERVICE wikibase:label { bd:serviceParam wikibase:language "en" .}
 }
GROUP BY ?property ?propertyLabel ?propertyDescription
LIMIT 5000
Другие вопросы по тегам