Как я могу запросить API Wikidata, чтобы получить подробную информацию обо всех корейских фильмах?

Если возможно, я хочу вернуть результаты в формате Json или XML. Есть ли способы сделать это? Раньше я делал это с помощью freebase.com, но сейчас это устарело. Пожалуйста помоги.

2 ответа

Решение

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

вместо http://wdq.wmflabs.org/api?q=claim[31:11424] (вернуть все объекты, отмеченные как экземпляры фильма), вы бы сделали

  • http://wdq.wmflabs.org/api?q=claimCLAIM[31:11424] AND CLAIM[495:884] (вернуть все объекты, отмеченные как экземпляры фильма, а Южная Корея ( Q884) - как страну происхождения ( P495))
  • http://wdq.wmflabs.org/api?q=claimCLAIM[31:11424] AND CLAIM[495:423] (то же самое для Северной Кореи ( Q423))

Затем, чтобы проанализировать результаты и получить данные об объектах, они будут такими же, как и для списка всех фильмов.

Замечания:

  • вам, вероятно, понадобится кодировать эти URL, чтобы получить что-то похожее на: http://wdq.wmflabs.org/api?q=CLAIM%5B31%3A11424%5D%20AND%20CLAIM%5B495%3A884%5D

  • Вот полная документация по API. Обратите внимание, что это экспериментальный API, который может быть заменен в следующем году

Обзор Wikipedia может быть более полным, чем Wikidata, как вы тоже заметили. Тем не менее, я мог только найти обзоры в год, например, на https://en.wikipedia.org/wiki/List_of_South_Korean_films_of_2015.

Чтобы получить список заголовков с этой страницы, сначала нужно получить необработанный вики-код этой страницы: https://en.wikipedia.org/w/index.php?action=raw&title=List_of_South_Korean_films_of_2015, а затем запустить регулярное выражение, например как /\{lang\|[^\|]+\|([^\}]+)/g на коде.

Это возвращает список из 149 названий.

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