Как получить список всех свойств Викиданных?

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

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


person nerab    schedule 02.08.2014    source источник


Ответы (4)


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

person Magnus Manske    schedule 03.08.2014
comment
Отлично, спасибо, выглядит отлично. Так что я могу искать и получать одно свойство с помощью action = wbgetentities & ids = P17, а как насчет списка всех свойств? - person nerab; 05.08.2014

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

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

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

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

существование

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

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

person maxlath    schedule 09.09.2014
comment
Этот интерфейс командной строки нельзя установить в Windows. - person sean; 15.04.2019
comment
@sean должно быть возможно установить его в Windows, если это не удастся, это ошибка, которую я буду рад исправить. Вы получаете ту же ошибку github.com/maxlath/wikidata-cli/issues/72 или что-то еще? - person maxlath; 15.04.2019

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

Список всех свойств Викиданных можно получить из

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

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

person nerab    schedule 30.01.2016

Вы можете использовать этот запрос 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
person Michail Michailidis    schedule 06.03.2018