Skip to content

Примеры запросов к API и SPARQL интерфейсам Wiki сервисов

License

Notifications You must be signed in to change notification settings

alexeilutay/wiki4journals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Использование API и SPARQL-интерфейсов Вики-сервисов

Лутай А.В. 2023-08-15

Цель этого сборника примеров – обратить внимание на уникальные возможности API- и SPARQL-интерефейсов сервисов Wikipedia и Wikidata.

Большая часть примеров тематически связана с академическими журналами, поскольку первоначальная версия материала была подготовлена для доклада на 11-ой Международной научно-практической конференции Ассоциации научных редакторов и издателей (АНРИ) «Научное издание международного уровня – 2023: достижения, реалии, перспективы» (23-26 мая, 2023 г.).

Приведенные примеры демонстрируют лишь малую часть доступных возможностей – акцент сделан на запросах, которые могут быть выполнены в веб-браузере пользователями, не имеющими опыта написания скриптов на языках программирования.

Материал будет существовать в виде README страницы и продолжать пополняться новыми примерами до тех пор пока автор (или контрибьюторы) не решат, что другой формат будет удобнее.

Приложения ниже включают примеры использования API русскоязычных вики, развернутых на базе ПО MediaWiki.

⚠️ Об ответственности

Как автор настоящего материала, заявляю следующее:

  • упоминание любого из ресурсов не является рекламой и не является моей рекомендацией использовать ресурс

  • настоящий материал не должен рассматриваться как моё согласие/одобрение/неодобрение по отношению к любым утверждениям и точкам зрения, опубликованным на перечисленных ресурсах

  • если Вы склонны думать, что какие-то материалы из перечисленных ресурсов являются порочащими, ложными, оскорбительными или нарушающими чьи-то права, обязательно свяжитесь с правообладателем ресурса, правоохранителями, правозащитниками и т.п.

Продолжая читать, Вы принимаете на себя полную ответственность за все Ваши действия (в т.ч. мыслепреступления), к которым может привести прочтение материала ниже, а также за все связанные с этим последствия.


Обозначения

📘 – гиперссылка на веб-страницу с подробной спецификацией или руководство.

📌 – недавно добавленные примеры (подробную историю изменений можно всегда увидеть в истории.

⚠️ – важное примечание.

🔝 – кнопка для возвращения к оглавлению страницы.

🎨 – есть на что посмотреть.

Остальные emoji могут интепретироваться произвольно.


API и SPARQL интерфейсы

⚠️ MediaWiki Action API и MediaWiki REST API предоставляются со стандартной версией MediaWiki и могут быть доступны в клонах Википедий (см. Приложение 1). Остальные API доступны только для проектов Wikimedia.

MediaWiki Action API

MediaWiki Action API (/api.php) предоставляет пользователям возможности аутентификации, получения сведений о страницах, пользователях, совершенных правках, а также вносить изменений, обращаться к персональным настройкам и использовать специальные права.

Перелистывание результатов ⏩

Если запрос к API не срабатывает, рекомендуется добавлять в конец запроса &origin=*.

MediaWiki REST API

MediaWiki REST API (/rest.php) позволяет взаимодействовать с MediaWiki путем отправки HTTP запросов к rest.php адресам URL. Этот API можно использовать для скриптов для поиска и сбора сведений из страниц и иллюстраций, а также изучения истории правок.

Wikimedia REST API

Wikimedia REST API (/api/rest) предоставляет доступ к контенту Wikimedia сервисов и метаданным в машиночитаемых форматах. API интегрирован с Wikimedia’s globally distributed caching infrastructure и создан для обеспечения работы приложений, запрашивающих большие объемы данных.

REST API вместе с документацией доступны для большинства главных проектов Wikimedia по адресу /api/rest_v1/.

Для всех проектов Wikimedia:

Для англоязычной Wikipedia:

📌 Каталог новых REST API от Wikimedia (в стадии разработки):

Стоит обратить внимание на:

Wikidata API

Wikidata работает на ПО Wikibase, поэтому API более правильно называть Wikibase REST API.

Wikidata SPARQL

Примеры SPARQL-запросов в основной части будут сопровождаться гиперссылками, открывающими запрос в интерфейсе Wikidata Query Service. Для выполнения запроса в интерфейсе не забудьте нажать кнопку ▶️.

Их также можно отправлять программными средствами с помощью R: WikidataR или 🐍 : пакет Wikidata, см. также другие примеры).


Материалы на русском языке

Базовые сведения:

Популярным языком:

Для тех, кто готов пойти дальше: 🏆

🔝


Типовые задачи – сведения о статье

Информация о статье в Wikipedia

MediaWiki REST API

Возвращает json-структуру, содержащую идентификатор статьи, сведения о последней правке и элемент source, в котором находится полный текст страницы в формате вики-разметки (что такое вики-разметка?).

https://en.wikipedia.org/w/rest.php/v1/page/The%20BMJ

MediaWiki Action API

По сравнению с предыдущим запросом возвращает более детальную json-структуру, из которой легко извлечь текст, языковые версии, категории, ссылки на страницы Wikipedia, ссылка на внешние страницы, перечень изображений, секций, шаблонов, интер-вики ссылок и идентификатор элемента Викиданных, соответствующего статье (wikibase_item в разделе properties).

https://en.wikipedia.org/w/api.php?action=parse&page=The%20BMJ&format=json

Wikimedia REST API

Возвращает не содержание статьи, а сведения о ней – пространство имён (namespace), название, идентификатор элемента Викиданных, ссылки на основную иллюстрацию статьи, сведения о последней правке (временная отметка, ID), краткое описание в формате простого текста и HTML.

https://en.wikipedia.org/api/rest_v1/page/summary/The%20BMJ

🔝


Другие названия объекта статьи

Иногда предмету статьи могут соответствовать несколько названий – в приведенном ниже примере запрос возвращает варианты названий журнала BMJ.

https://en.wikipedia.org/w/api.php?action=query&prop=pageterms&titles=The%20BMJ&format=json


Все языковые версии статьи в Wikipedia

⚠️ Статья в Википедии может существовать как на одном, так и на нескольких языках, при этом содержимое языковых версий может сильно различаться.

Запросы ниже позволяют получить перечень всех языковых версий заданной статьи.

MediaWiki REST API

возвращает только названия страниц

https://en.wikipedia.org/w/rest.php/v1/page/The_Lancet/links/language

MediaWiki Action API

возвращает pageid для страниц объекта и полные URL на страницы языковых версий

https://en.wikipedia.org/w/api.php?action=query&titles=The_Lancet&prop=langlinks&format=json&llprop=url&lllimit=500


Извлечь категории статьи

Статьи Wikipedia нередко бывают отнесены к различным категориям.

MediaWiki Action API

Приведенный ниже запрос возвращает перечень категорий, к которым отнесена статья о журнале The BMJ в англоязычной Википедии.

https://en.wikipedia.org/w/api.php?action=parse&page=The%20BMJ&prop=categories&format=json

Одна из них – “BMJ Group academic journals”.

📌 Запрос ниже возвращает перечень статей, также отнесенных к категории BMJ Group academic journals (подробнее).

https://en.wikipedia.org/w/api.php?cmtitle=Category:BMJ%20Group%20academic%20journals&action=query&list=categorymembers&cmlimit=500&cmprop=title|sortkey|timestamp&format=json


📌 Получение изображений из статьи

MediaWiki Action API

Запрос ниже использует ранее рассмотренный механизм запроса к API https://www.mediawiki.org/wiki/API:Query для получения списка всех иллюстраций из страниц русскоязычной Википедии, содержащих строку “аграрный университет”:

https://ru.wikipedia.org/w/api.php?action=query&generator=search&gsrsearch=intitle:"аграрный университет"&prop=info|pageimages|images&gsrlimit=20&format=json

Расширение перечня параметров позволяет получить более широкий набор полей:

  • inprop=url возвращает URL на найденные статьи
  • piprop=name|original|thumbnail&pithumbsize=300 возвращает сведения (в т.ч. URL) на оригинальное изображение статьи (pageimage) и его иконке (thumbnail), автоматически увеличенной до 300 px в ширину (см. query+pageimages)

https://ru.wikipedia.org/w/api.php?action=query&generator=search&gsrsearch=intitle:"аграрный университет"&prop=info|pageimages|images&inprop=url&piprop=original|thumbnail&pithumbsize=300&gsrlimit=50&format=json

Более полные сведения об изображениях внутри статьи (images) можно получить запросами, используя имена файлов (в примере ниже запрос для получения сведений о файле File:Moscow_08-2012_Petrovsko-Razumovskoe_img01.jpg):

https://www.mediawiki.org/w/api.php?action=query&titles=File:Moscow_08-2012_Petrovsko-Razumovskoe_img01.jpg&prop=imageinfo&iiprop=timestamp|url|user|extmetadata&iiextmetadatafilter=Artist|ImageDescription|GPSLatitude|GPSLongitude&format=json

🔝


Извлечь разделы статьи в Wikipedia

MediaWiki Action API

📘 Инструкция

Возвращает перечень разделов страницы Wikipedia, их размер, порядковые номера и названия внутренних ссылок.

https://en.wikipedia.org/w/api.php?action=parse&format=json&page=The%20BMJ&prop=sections

Получив сведения из запроса выше, можно извлечь отдельные разделы в форматах wikitext или parsetree

https://en.wikipedia.org/w/api.php?action=parse&page=The%20BMJ&prop=wikitext|parsetree&section=5&format=json


Получить Wikidata ID по названию статьи в Wikipedia

В отличие от Википедии, в которой не всякому академическому журналу полагается собственная статья (см. статью Wikipedia:Notability_(academic_journals)), создание и редактирование карточки журнала в Викиданных доступно каждому зарегистрированному пользователю (при условии соблюдения правил). Типы объектов и отношений в Wikidata предлагают издателю широкий выбор инструментов для описания журнала – истории его трансформаций, отношений с юридическими и физическими лицами, отражения опубликованных статей и т.д. (подробнее в статье Сервис Викиланные для научных журналов).

Запросы ниже позволяют для перечня статей Википедии собрать идентификаторы Викиданных.

MediaWiki Action API

возвращает Wikibase ID (aka Wikidata ID) и wikibase-shortdesc (если есть)

https://ru.wikipedia.org/w/api.php?action=query&prop=pageprops&format=json&titles=Криосфера_Земли

Wikimedia REST API

возвращает информацию о странице, в которой есть поле wikibase_item

https://ru.wikipedia.org/api/rest_v1/page/summary/Криосфера_Земли

Wikidata REST API

возвращает все запрошенные элементы Wikidata. При запросе русскоязычной страницы необходимо заменить enwiki на ruwiki, можно также получать заголовки на нескольких языках (en|ru).

https://www.wikidata.org/w/api.php?action=wbgetentities&format=json&sites=ruwiki&titles=Журнал_технической_физики&props=info|labels|descriptions|claims&languages=en|ru

Wikidata SPARQL

SELECT ?lemma ?item WHERE {
  VALUES ?lemma {"Успехи химии"@ru}
  ?sitelink schema:about ?item; 
            schema:isPartOf <https://ru.wikipedia.org/>; 
            schema:name ?lemma.
}

отправить через Wikidata Query Service

🔝


Найти страницы Wikipedia по Wikidata ID

Нередко можно столкнуться и с обратной задачей – из какого-нибудь реестра собраны идентификаторы Wikidata (например, OpenAlex или ROR) и необходимо собрать список существующих статей в Википедии.

Wikidata REST API

https://www.wikidata.org/w/api.php?action=wbgetentities&format=xml&props=sitelinks&ids=Q3453517

Добавление в запрос выражения вида &sitefilter=enwiki возвращает английскоязычную версию статьи (ruwiki – русскоязычную).

Wikidata SPARQL

SELECT DISTINCT ?article WHERE {
  VALUES ?item {wd:Q3453517}
  ?article schema:about ?item; 
           schema:isPartOf <https://ru.wikipedia.org/>
}

отправить через Wikidata Query Service

🔝


Цитировать статью Wikipedia в формате bibtex

Wikimedia REST API

Сервис поддерживает также формат zotero и несколько других (mediawiki, wikibase). Цитируемый URL включает параметр oldid – идентификатор последней правки на момент цитирования!

⚠️ Гиперссылку на страницу Wikipedia необходимо кодировать для URL. Результат – скачивание текстового файла с цитированием в выбранном формате.

https://en.wikipedia.org/api/rest_v1/data/citation/bibtex/https%3A%2F%2Fru.wikipedia.org%2Fwiki%2FЖурнал_технической_физики

🔝


Типовые задачи – поиск статей и изображений

📌 Поиск статьи по названию

MediaWiki Action API

В MediaWiki Action API есть 2 варианта поиска по тексту :

(а) https://www.mediawiki.org/wiki/API:Search – выполняет поиск строки, указанной в параметре (srcsearch=) по названию статьи (srsearch=intitle:), тексту статьи (srsearch=text:), или начальным символам названия статьи (srsearch=prefix:)

https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=nejm&utf8=&format=json

https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=intitle:"Tetrahedron journal"&utf8=&format=json

https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=prefix:Tetrahedron&utf8=&format=json

Результаты можно выводить с дополнительной информацией, если использовать generator, в этом случае параметры будут содержать префикс g (например: gsrsearch вместо search). В примере ниже к результатам поиска статей, содержащих в названии строку Chemical journal добавлены сведения (prop=) о статьи, категориях, внутренних и внешних ссылках.

https://en.wikipedia.org/w/api.php?action=query&generator=search&gsrsearch=intitle:%22Chemical%20journal%22&prop=info|categories|links|extlinks&utf8=&gsrlimit=100&format=json

(б) https://www.mediawiki.org/wiki/API:Opensearch – выполняет поиск строки, указанной в параметре (search=) по тексту статьи в формате Open Search. Параметр profile позволяет варьировать строгость запроса от strict до fuzzy (по умолчанию – поисковик сам выбирает формат поиска).

Возвращает результаты в виде 3 списков:

https://en.wikipedia.org/w/api.php?action=opensearch&namespace=0&profile=fuzzy&search=The Lancet&limit=5&format=json

https://ru.wikipedia.org/w/api.php?action=opensearch&namespace=0&profile=fuzzy&search=журнал общей химии&limit=5&format=json

Альтернативный синтаксис поиска по префиксу с поддержкой неточного (fuzzy) поиска:

https://ru.wikipedia.org/w/api.php?action=query&list=prefixsearch&pssearch=Казахский&psprofile=fuzzy&pslimit=20&format=json

Wikimedia Core REST API

Новый Core REST API позволяет проводить текстовый поиск:

https://api.wikimedia.org/core/v1/wikipedia/ru/search/title?q=институт физической химии&limit=10

https://api.wikimedia.org/core/v1/wikipedia/en/search/page?q=the%20lancet&limit=10

Поиск имеет универсальный синтаксис и позволяет проводить поиск по широкому перечню проектов Wikimedia – например, по wikipedia (статьи), по commons (иллюстрации, аудио, видео), по wiktionary (словарные записи).

🔝

📌 Поиск изображений по названию

Поиск по названию изображений выполняется так:

https://commons.wikimedia.org/w/api.php?action=query&generator=search&gsrsearch=intitle:"аграрный университет"&prop=info|imageinfo|redirects&inprop=url&gsrnamespace=6&iiprop=timestamp|url|user|extmetadata&iiextmetadatafilter=Artist|ImageDescription|GPSLatitude|GPSLongitude&redirects=&format=json&gsrlimit=20

Запрос выше возвращает изображения, содержащие “аграрный университет” в названии.

🔝


Типовые задачи – правки и просмотры

Правки в статьи Википедию и в записи Викиданных могут вносить люди и боты, но история всех изменений доступна для просмотра. Подобная прозрачность, в сочетании с правилами противодействия Вандализму, Войнам правок и другим негативным проявлениям человеческого несогласия, повышают доверие читателей.

История правок статьи в Wikipedia

MediaWiki Action API

📌 Спецификация API

Запрос ниже возвращает информацию о 5 правках, внесенных после 01 января 2021 года в статью Lancet в англоязычной Википедии.

https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Lancet&rvslots=main&rvlimit=5&rvdir=newer&rvstart=2021-01-01T00:00:00Z&rvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|content|tags|flagged&format=json

MediaWiki REST API

Запрос возвращает историю правок с id изменения, временем правки, данными о создателе (id, name), размером изменений (delta) и сопутствующими комментариями.

https://ru.wikipedia.org/w/rest.php/v1/page/Доклады%20Академии%20наук/history

Дополнив запрос выражением ?older_than=939967546 (или ?newer_than=1018790892) можно получить более ранние (или поздние) правки (вместо цифр подставлять id конкретной правки)

Добавив в запрос выражение ?filter=..., можно отобрать только определенные правки:

  • reverted: правки, отменяющие более ранние изменения
  • anonymous: правки, сделанные анонимными пользователями (показывает IP),
  • bot: правки, сделанные ботами,
  • minor: правки, отмеченные как незначительные (minor edits)

https://ru.wikipedia.org/w/rest.php/v1/page/Доклады%20Академии%20наук/history?older_than=97918317&filter=anonymous

Количество правок

⚠️ В названии страницы необходимо предварительно заменить пробелы на _ (вместо The BMJ, не The%20BMJ, а The_BMJ) – в сведениях о странице, возвращаемых MediaWiki REST API (пример), название в необходимом формате находится в поле key. В противном случае запрос вернет ошибку.

https://en.wikipedia.org/w/rest.php/v1/page/The_BMJ/history/counts/edits

https://ru.wikipedia.org/w/rest.php/v1/page/Доклады_Академии_наук/history/counts/edits?from=88695017&to=97918317

📌 Количество редакторов

https://en.wikipedia.org/w/rest.php/v1/page/The_BMJ/history/counts/editors

Wikimedia REST API

Запрос ниже возвращает последнюю правку и имя последнего пользователя

https://ru.wikipedia.org/api/rest_v1/page/title/Доклады%20Академии%20наук

Синтаксис запросов в Wikimedia Core REST API – https://api.wikimedia.org/wiki/Core_REST_API/Reference/Revisions/Get_page_history

🔝


Список пользователей, которые правили страницу

MediaWiki Action API

📘 Информация

https://en.wikipedia.org/w/api.php?action=query&titles=The%20BMJ&prop=contributors&pclimit=200&pcgroup=bot&format=json

🔝


Список всех правок пользователя или с IP-адреса

MediaWiki Action API

📌 📘 API-спецификация

https://en.wikipedia.org/w/api.php?action=query&list=allrevisions&arvuser=Thinker78&arvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|tags|flagged

Для получения текста правок добавьте в аргумент arvprop значение content.

Для получения правок, сделанных с IP-адреса, используйте IP-адрес вмето имени пользователя в аргументе arvuser=...

🔝


Статистика просмотров страницы в Wikipedia

MediaWiki Action API

https://en.wikipedia.org/w/api.php?action=query&titles=The_BMJ&prop=pageviews&pvipdays=60&format=json

Показывает максимум 60 дней (pvipdays=60).

Wikimedia REST API

📘 Инструкция

Запрос ниже возвращает количество просмотров статьи о журнале The BMJ в англоязычной Википедии с 01 июня по 31 июля 2023 г.

https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/all-agents/The%20BMJ/daily/20230601/20230731

Для того, чтобы цифры совпадали с запросом MediaWiki Action API необходимо вместо all-agents использовать user.

Другие веб-интерфейсы:

🔝


Количество новых страниц в Wikipedia по месяцам

Wikimedia REST API

https://wikimedia.org/api/rest_v1/metrics/edited-pages/new/ru.wikipedia.org/user/content/monthly/20210101/20230401

🔝


Рейтинг редакторов по дням

Wikimedia REST API

https://wikimedia.org/api/rest_v1/metrics/editors/top-by-edits/ru.wikipedia.org/user/content/2023/03/31

🔝


Количество новых редакторов по месяцам

Wikimedia REST API

https://wikimedia.org/api/rest_v1/metrics/registered-users/new/ru.wikipedia.org/monthly/20200101/20230331

🔝


Типовые задачи – ссылки и цитирования

Поиск статей в Wikipedia, цитирующих внешний web-сайт

MediaWiki Action API

📘 Инструкция

Можно искать ссылки только в статьях определенного типа, используя выражение &eunamespace=... и определенные значения (0 – Wikipedia Page, 1 – Talk:Page, 2 – Профили пользователей, 3 – личные User talk страницы).

Запрос ниже возвращает перечень статей Википедии (namespace = 0), в которых присутствуют гиперссылки на сайт издательства “Медиасфера”.

https://ru.wikipedia.org/w/api.php?action=query&format=json&list=exturlusage&euquery=www.mediasphera.ru&eunamespace=0

🔝


Поиск статей Wikipedia, цитирующих выбранную страницу Wikipedia

MediaWiki Action API

📘 Инструкция

Запрос ниже возвращает перечень статей в русскоязычной Википедии, в которых присутствует гиперссылка на статью о Журнале экспериментальной и теоретической физике (ЖЭТФ).

https://ru.wikipedia.org/w/api.php?action=query&titles=Журнал_экспериментальной_и_теоретической_физики&prop=linkshere&lhlimit=200&lhnamespace=0&format=json

🔝


Гиперссылки из статьи Wikipedia, ведущие на другие статьи Wikipedia

Запрос ниже возвращает перечень статей Википедии, на которые ссылается выбранная статья.

MediaWiki Action API

https://en.wikipedia.org/w/api.php?action=parse&page=The%20BMJ&prop=links&format=json


Ссылки на внешние сайты с выбранной страницы Wikipedia

📘 Инструкция

MediaWiki Action API

https://en.wikipedia.org/w/api.php?action=query&titles=The%20BMJ&prop=extlinks&ellimit=500&elexpandurl=true&format=json

Можно объединить ссылки с внутренними (на страницы Wikipedia), указав prop=extlinks|links.

[Альтернативный способ](https://www.mediawiki.org/wiki/API:Parsing_wikitext)

https://en.wikipedia.org/w/api.php?action=parse&page=The%20BMJ&prop=externallinks&format=json

🔝


“Наукометрия” в Wikidata

Сведения о научных изданиях и публикациях непрерывно добавляются в Wikidata см. раздел Journals в сервисе Mix’n’match трудолюбивыми ботами и энтузиастами (см. 1, 2, что упрощает их цитирование в статьях Wikipedia.

Более того, крупнейшие мировые издатели предоставляют бесплатный доступ к своим полнотекстовым архивам для опытных редакторов Wikipedia. Не только потому, что это источник трафика, но и потому, что Википедию читают в том числе и люди вне академической среды, которые оценят готовые ссылки на научные источники (журналисты, лоббисты, просветители, волонтеры, школьники, учителя и другие категории небезразличных и незащищенных от информационного воздействия граждан).

Цитирования статей в Википедии учитываются аналитическими инструментами (Altmetric, Plum Analytics, а также CrossRef (см. Event Data API и Relations API).

Связанность данных в Wikidata позволяет расширить диапазон возможностей для анализа научных журналов, публикаций, авторов (см. ссылки ниже).

И хотя сервис Wikidata, как источник сведений для библиометрического анализа, не может всерьез рассматриваться как альтернатива Web of Science или Scopus, он позволяет включить в анализ новые данные, которые в вышеупомянутых индексах цитирования отсутствуют. Запросы ниже призваны проиллюстрировать данный тезис.


Все российские журналы в Wikidata

Запрос ниже возвращает список журналов, которые относятся к типу/подклассу Q5633421 (scientific journal) или Q737498 (academic journal), и для атрибута P495 (country of origin) имеют значение Russia (Q159).

⚠️ если журнал в Wikidata отнесен к другому типу изданий, который не является подклассом Q5633421 или Q737498 (например, magazine), то такой журнал не будет найден. Так же запрос не обнаружит журналы, у которых поле P495 не заполнено или указывает на другую страну.

Wikidata SPARQL

SELECT DISTINCT ?journal ?name WHERE {
  VALUES ?type {wd:Q5633421 wd:Q737498}
  ?journal wdt:P31/wdt:P279* ?type;  wdt:P495 wd:Q159.     
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en, ru".
    ?journal rdfs:label ?name .
  }
}

отправить через Wikidata Query Service

🔝


Количество статей в Wikidata в российских журналах

Wikidata SPARQL

SELECT ?journal ?journal_title (count(distinct(?item)) as ?count) 
WITH {
 SELECT DISTINCT ?journal ?journal_title 
  WHERE {
    VALUES ?type {wd:Q5633421 wd:Q737498}.
           ?journal wdt:P31/wdt:P279 ?type; wdt:P495 wd:Q159.
    SERVICE wikibase:label {
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,ru". 
      ?journal rdfs:label ?journal_title.
      }
    }
} as %sss 
WHERE {
  INCLUDE %sss .
  ?item wdt:P1433 ?journal; wdt:P31 wd:Q13442814.
  }
GROUP BY ?journal ?journal_title

отправить через Wikidata Query Service

🔝


Извлечение источников заданного атрибута

Согласно правилам Wikidata при присвоении значения атрибуту (Property) объекта рекомендуется указывать источник (Reference). Запрос ниже извлекает из карточки журнала Russian Chemical Reviews (Q3453517) значения атрибута P236 (ISSN) и указанные для них источники типов P248 (ссылка на источник, который присутствует в Wikidata как описанный объект – ЕГРЮЛ или перечень журналов ERA 2012) или P143 (извлечено из других Вики-сервисов – Wikipedia).

Wikidata SPARQL

SELECT ?issn ?ref ?refLabel 
WHERE {
  wd:Q3453517 p:P236 [
    ps:P236 ?issn; prov:wasDerivedFrom [
      pr:P248|pr:P143 ?ref 
    ]
  ].
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

отправить через Wikidata Query Service

🔝

Поиск журнала по ISSN в Wikidata и импорт сведений

Запрос ниже находит элементы Wikidata, содержащие значения ISSN 1550-8943 и 0007-1447, и для каждого извлекает значения для широкого набора атрибутов.

Wikidata SPARQL

SELECT DISTINCT ?item ?types ?issns ?issnLs ?titles ?short_titles 
    ?itemlabel_en ?itemlabel_ru  ?countries ?langs ?publishers ?websites 
    ?articleEN ?articleRU  ?elibrary ?openalex_ids ?scilit_ids ?nlm_ids 
    ?cref_ids ?coci_ids ?scids ?dim_ids  ?doaj_ids ?bnf_ids ?sudoc_ids ?gnd_ids 
    ?eics ?eic_orcids ?editors ?editor_orcids  ?inception  ?founded ?part_of ?has_part 
    ?follows ?followed ?replaces ?replaced ?discontinued ?translation ?subjects
WITH {
 SELECT DISTINCT ?item 
  (GROUP_CONCAT(DISTINCT ?website; separator = " | ") as ?websites) 
  (GROUP_CONCAT(DISTINCT ?typeLabel; separator = " | ") as ?types)
  (GROUP_CONCAT(DISTINCT ?title; separator = " | ") as ?titles)
  (GROUP_CONCAT(DISTINCT ?short_title; separator = " | ") as ?short_titles)
  (GROUP_CONCAT(DISTINCT ?main_subjectLabel; separator = " | ") as ?subjects)
  (GROUP_CONCAT(DISTINCT ?publisherLabel; separator = " | ") as ?publishers)
  (GROUP_CONCAT(DISTINCT ?country; separator = " | ") as ?countries)
  (GROUP_CONCAT(DISTINCT ?language; separator = " | ") as ?langs)
  (GROUP_CONCAT(DISTINCT ?issn; separator = " | ") as ?issns) 
  (GROUP_CONCAT(DISTINCT ?issnL; separator = " | ") as ?issnLs)
  (GROUP_CONCAT(DISTINCT ?openalex; separator = " | ") as ?openalex_ids)
  (GROUP_CONCAT(DISTINCT ?dimensions; separator = " | ") as ?dim_ids)
  (GROUP_CONCAT(DISTINCT ?crossref; separator = " | ") as ?cref_ids) 
  (GROUP_CONCAT(DISTINCT ?nlm; separator = " | ") as ?nlm_ids)
  (GROUP_CONCAT(DISTINCT ?coci; separator = " | ") as ?coci_ids)
  (GROUP_CONCAT(DISTINCT ?bnf; separator = " | ") as ?bnf_ids)
  (GROUP_CONCAT(DISTINCT ?gnd; separator = " | ") as ?gnd_ids)
  (GROUP_CONCAT(DISTINCT ?doaj; separator = " | ") as ?doaj_ids)
  (GROUP_CONCAT(DISTINCT ?sudoc; separator = " | ") as ?sudoc_ids)
  (GROUP_CONCAT(DISTINCT ?scilit; separator = " | ") as ?scilit_ids)
  (GROUP_CONCAT(DISTINCT ?scid; separator = " | ") as ?scids)
  (GROUP_CONCAT(DISTINCT ?editor_orcid; separator = " | ") as ?editor_orcids)
  (GROUP_CONCAT(DISTINCT ?eic_orcid; separator = " | ") as ?eic_orcids)                 
  (GROUP_CONCAT(DISTINCT ?editorLabel; separator = " | ") as ?editors)
  (GROUP_CONCAT(DISTINCT ?eicLabel; separator = " | ") as ?eics)  
WHERE{
    ?item wdt:P236 ?query. FILTER(?query in ("1550-8943", "0007-1447")).
    optional{?item wdt:P31 ?type. ?type rdfs:label ?typeLabel.
                 FILTER(lang(?typeLabel)="en").}
    optional{?item wdt:P236 ?issn.} 
    optional{?item wdt:P7363 ?issnL.} 
    optional{?item wdt:P5115 ?doaj.} 
    optional{?item wdt:P10283 ?openalex.}
    optional{?item wdt:P8375 ?crossref.}  
    optional{?item wdt:P3181 ?coci.}
    optional{?item wdt:P1156 ?scid.} 
    optional{?item wdt:P6180 ?dimensions.}             
    optional{?item wdt:P268 ?bnf.}  
    optional{?item wdt:P227 ?gnd.}
    optional{?item wdt:P1025 ?sudoc.}
    optional{?item wdt:P7662 ?scilit.} 
    optional{?item wdt:P1055 ?nlm.}
    optional{?item wdt:P856 ?website.}
    optional{?item wdt:P1476 ?title} 
    optional{?item wdt:P1813 ?short_title.}
    optional{?item wdt:P407 ?ll. ?ll rdfs:label ?language.
           FILTER(lang(?language)="en")}
    optional{?item wdt:P495 ?cc. ?cc rdfs:label ?country.
           FILTER(lang(?country)="en")}
    optional{?item wdt:P921 ?main_subject. 
           ?main_subject rdfs:label ?main_subjectLabel.
           FILTER(lang(?main_subjectLabel)="en") }
   optional{?item wdt:P123 ?publisher. 
           ?publisher rdfs:label ?publisherLabel.
           FILTER(lang(?publisherLabel)="en")}
   optional{?item wdt:P5769 ?eic. 
           ?eic rdfs:label ?eicLabel. 
           FILTER(lang(?eicLabel)="en").
           optional{?eic wdt:P496 ?eic_orcid.}}
   optional{?item wdt:P98 ?editor. 
           ?editor rdfs:label ?editorLabel.
           FILTER(lang(?editorLabel)="en").
           optional{?editor wdt:P496 ?editor_orcid.}}
   } 
GROUP BY ?item ?itemlabel_en
} as %sss
WHERE {
INCLUDE %sss .
   optional{?item rdfs:label ?itemlabel_en. FILTER(lang(?itemlabel_en)="en")}
   optional{?item rdfs:label ?itemlabel_ru. FILTER(lang(?itemlabel_ru)="ru")}
   optional{?item wdt:P10952 ?elibrary}    
   optional{?item wdt:P571 ?inception} 
   optional{?item wdt:P112 ?founded}
   optional{?item wdt:P527 ?has_part}
   optional{?item wdt:P361 ?part_of}
   optional{?item wdt:P155 ?follows}  
   optional{?item wdt:P156 ?followed}         
   optional{?item wdt:P1365 ?replaces} 
   optional{?item wdt:P1366 ?replaced}
   optional{?item wdt:P2669 ?discontinued}  
   optional{?item wdt:P9745 ?translation}
   optional {
     ?articleEN schema:about ?item.
     ?articleEN schema:isPartOf <https://en.wikipedia.org/>.
     ?articleRU schema:about ?item.
     ?articleRU schema:isPartOf <https://ru.wikipedia.org/>.
    }
}

отправить через Wikidata Query Service

🔝


Статьи из выбранного журнала и цитирующие их журналы

Запрос ниже находит в Wikidata записи, соответствующие статьям из “Палеонтологического журнала” и имеющие значение DOI, и возвращает для каждой статьи название, перечень цитирующих журналов и общее количество цитирований.

⚠️ результат учитывает только статьи, которые имеют собственные элементы в Wikidata, отнесены к журналам через атрибут P1433 (published in) и связаны отношением P2860 (cites work).

Wikidata SPARQL

SELECT DISTINCT ?doi ?itemLabel ?citingJournalLabel 
                (count(distinct(?citing_pub)) as ?count)
WHERE {
  ?item wdt:P1433 wd:Q246955; 
        wdt:P356 ?doi. 
  optional{ 
    ?citing_pub wdt:P2860 ?item; 
                wdt:P1433 ?citingJournal.
  }
  SERVICE wikibase:label {
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE], en, ru".
      ?item rdfs:label ?itemLabel .
      ?citingJournal rdfs:label ?citingJournalLabel .
  }
}
GROUP BY ?doi ?itemLabel ?citingJournalLabel
ORDER BY ?itemLabel

отправить через Wikidata Query Service

🔝


Список авторов журнала, у которых указан ORCID

Запрос ниже возвращает перечень авторов (P50 = author) статей (P1433 = published in) из “Палеонтологического журнала”, имеющих атрибут ORCID (P496).

Wikidata SPARQL

SELECT DISTINCT ?author_id ?orcid ?author
WHERE {
   ?item wdt:P1433 wd:Q246955.
   optional{
           ?item p:P50 ?author_statement .
           ?author_statement ps:P50 ?author_id .
           ?author_id wdt:P496 ?orcid. }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE], en, ru".
    ?author_id rdfs:label ?author .
  }
}

отправить через Wikidata Query Service

🔝


Женщины-ученые с наградами, цитировавшие выбранный журнал

Запрос ниже возвращает перечень авторов (P50 = автор) работ, цитирующих статьи (P2860 = cites work) из журнала “Молекулярная биология”, имеющих награды (P166 = award received) и чей пол (P21 = gender) указан в Википедии как женский (Q6581072). Для каждого автора запрос возвращает объединенный перечень наград и значение идентификатора ORCID (при наличии).

Wikidata SPARQL

SELECT ?authorLabel ?orcid ?awards
WITH {
  SELECT ?author 
    (GROUP_CONCAT(DISTINCT(?award); separator=" | ") AS ?awards)
  WHERE {
  ?work wdt:P1433 wd:Q4300349.
  ?reference_pub wdt:P2860 ?work.
  ?reference_pub wdt:P50 ?author .
  ?author p:P166 ?award_statement.
  ?award_statement ps:P166 ?award_.
  ?author wdt:P21 wd:Q6581072 .
    SERVICE wikibase:label {
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" . 
      ?award_ rdfs:label ?award.
    } 
  }
GROUP BY ?author  
} AS %result
WHERE {
  INCLUDE %result 
   optional{?author wdt:P496 ?orcid .}
    SERVICE wikibase:label { 
           bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" .
        ?author rdfs:label ?authorLabel.    
    }
 }

отправить через Wikidata Query Service

🔝


Российские ученые, имеющие ORCID и статью в русскоязычной Wikipedia

Wikidata SPARQL

SELECT DISTINCT ?author ?authorLabel ?orcid ?article
  WHERE {
    ?author wdt:P31 wd:Q5; 
            wdt:P27 wd:Q159;
            wdt:P496 ?orcid.      
    ?article schema:about ?author;
             schema:isPartOf <https://ru.wikipedia.org/>.
SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" . }
}

отправить через Wikidata Query Service

🔝


Исследователи младше 30 лет, имеющие статью в англоязычной Wikipedia

Запрос ниже возвращает найденных в Wikidata людей, имеющих страницу в англоязычной Wikipedia, чей род занятий (P106 = occupation) указан как Q901 = scientist, и с указанной датой рождения, согласно которой возраст этих ученых на 23 мая 2023 года не превышал 30 лет. Запрос исключает людей, у которых присутствует значение атрибута P570 = date of death.

Wikidata SPARQL

SELECT ?sitelink ?itemLabel WHERE {
  ?item wdt:P106 wd:Q901;
        wdt:P31 wd:Q5;
        wdt:P569 ?born .
  FILTER (?born >= "1993-05-23T00:00:00Z"^^xsd:dateTime). 
  # exclude if there is a date of death
  MINUS {?item wdt:P570 []}    
  ?sitelink schema:about ?item ;
            schema:isPartOf <https://en.wikipedia.org/>.  
  SERVICE wikibase:label {
        bd:serviceParam wikibase:language "en"
   }.
}  
ORDER BY ?itemLabel

отправить через Wikidata Query Service

🔝


Исследователи, цитировавшие статьи из журнала со списком цитирующих и процитированных статей

Запрос находит список элементов Wikidata, соответствующих авторам статей с DOI (P356), цитировавших статьи (также имеющие DOI) из журнала Russian Journal of Organic Chemistry. Для каждого автора возвращаются ORCID, список DOI цитирующих публикаций, список DOI и количество процитированных статей из искомого журнала.

Wikidata SPARQL

SELECT DISTINCT ?citing_author ?citing_authorLabel 
     (GROUP_CONCAT(DISTINCT ?orcid; separator = "; ") as ?orcids_yes_sometimes_few)
     (GROUP_CONCAT(DISTINCT ?citing_doi; separator = "; ") as ?list_of_citing_dois)
     (COUNT(DISTINCT ?doi) AS ?n_dois)
     (GROUP_CONCAT(DISTINCT ?doi; separator = "; ") as ?list_of_cited_dois)
WHERE {
  ?item wdt:P1433 wd:Q3453520;
        wdt:P356 ?doi. 
  ?citing_work wdt:P2860 ?item; 
        wdt:P50 ?citing_author;
        wdt:P356 ?citing_doi.
 optional{?citing_author wdt:P496 ?orcid.} 
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". 
    }      
  }
GROUP BY ?citing_authorLabel ?citing_author 
ORDER BY DESC(?n_dois)

отправить через Wikidata Query Service

🔝


Перечень организаций, сотрудники которых цитировали статьи из выбранного журнала

Запрос ниже возвращает перечень организаций, чьи сотрудники (P108 = employer) в своих работах (P50 = author) цитировали (P2860 = cites work) статьи из журнала “Вестник офтальмологии”. Для каждой организации возвращается страна, количество процитированных публикаций из журнала “Вестник офтальмологии” и их названия.

Wikidata SPARQL

SELECT DISTINCT ?citing_organizationLabel ?citing_countryLabel 
       (COUNT(DISTINCT ?item) AS ?n_items)
       (GROUP_CONCAT(DISTINCT ?itemLabel; separator = " | ") as ?list_of_items)
WHERE {
  ?item wdt:P1433 wd:Q27713783;
        rdfs:label ?itemLabel.
  FILTER (LANG (?itemLabel) = "en" ). 
  ?citing_work wdt:P2860 ?item; 
        wdt:P50 ?citing_author . 
  ?citing_author wdt:P108 ?citing_organization . 
  ?citing_organization wdt:P17 ?citing_country.
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "en".
  }
  }
GROUP BY ?citing_organizationLabel ?citing_countryLabel
ORDER BY DESC (?n_items)

отправить через Wikidata Query Service

🔝


Статьи из журнала и процитировавшие их организации и страны

Запрос возвращает элементы Wikidata, соответствующие публикациям из “Палеонтологического журнала”, которые были процитированы другими публикациями (также имеющими записи в Wikidata). Для каждой статьи искомого журнала, имеющей цитирование, приведено название статьи, количество организаций публикаций,

Wikidata SPARQL

SELECT DISTINCT ?doi ?title 
    (COUNT(DISTINCT ?citing_work) AS ?n_cites)
    (GROUP_CONCAT(DISTINCT ?citing_organizationLabel; separator = "; ") as ?citing_orgs)
    (GROUP_CONCAT(DISTINCT ?citing_countryLabel; separator = "; ") as ?citing_countries)
WHERE {
  ?item wdt:P1433 wd:Q246955;
        wdt:P356 ?doi. 
  ?citing_work wdt:P2860 ?item; 
        wdt:P50 ?citing_author . 
  ?citing_author wdt:P108 ?citing_organization . 
  ?citing_organization wdt:P17 ?citing_country.
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "en". 
    ?citing_organization rdfs:label ?citing_organizationLabel.
    ?citing_country rdfs:label ?citing_countryLabel.
    ?item rdfs:label ?title.
   }      
 }
GROUP BY ?doi ?title
ORDER BY DESC(?n_cited)

отправить через Wikidata Query Service

🔝


Карта университетов Москвы, расположенных в <=500 метрах от станций метро

Запрос возращает карту с расположением элементов Викиданных типа университет (Q3918), расположенных (P625 = coordinate location) в радиусе 0.5 км от станций метро (Q928830).

Для того, чтобы увидеть перечень результатов в виде таблицы, измените #defaultView в начале запроса на Table (или воспользуйтесь выпадающим меню, расположенным над картой с левой стороны).

Wikidata SPARQL

#defaultView:Map
SELECT ?place ?placeLabel ?subwayLabel ?location WHERE
{ 
  ?subway wdt:P131+ wd:Q649;
          wdt:P31 wd:Q928830.
  ?subway wdt:P625 ?arcLoc .
  SERVICE wikibase:around {
      ?place wdt:P625 ?location .
      bd:serviceParam wikibase:center ?arcLoc .
      bd:serviceParam wikibase:radius "0.5" .
  }
    ?place wdt:P31 wd:Q3918.
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "ru" .
  }
}

отправить через Wikidata Query Service

🔝


Практика – как вносить сведения в Wikidata?

Ответы на этот вопрос частично освещены в статьях:

Можно выделить 3 подхода:

(а) “ручками”. Профиль журнала, главного редактора, организации-учредителя быстрее всего поправить именно так. С помощью поисковых запросов в интерфейсе Wikidata проверьте, существует ли уже профиль (поиск по вариантам названия, ФИО, ORCID, ISSN). Если профиля нет, смело нажимайте Creare a new item (Создать новый элемент) в меню левой панели. При создании достаточно указать язык описания, название, краткое описание и варианты названий (потом вы сможете изменить все эти поля или добавить новые).

Порог входа – зарегистрироваться в Wikidata. При создании полей ориентируйтесь на рекомендации в статьях выше и примеры оформления других журналов.

(б) через специальные инструменты Wikidata. После преодоления порога в 50 правок пользователи аккаунтов старше 4 дней приобретают статус Autoconfirmed Users (в рускоязычной версии статьи указан порог в 15 правок). В любом случае этот порог преодолется незаметно при заполнении первых карточек.

А далее в вашем распоряжении появятся множество инструментов для редактирования Викиданных, из которых кратко рассмотрим два: Quick Statements и SourceMD, которые чуть подробнее рассмотрим ниже.

(в) через API-интерфейс Swagger API документация. Если вы умеете пользоваться REST API, дополнительные комментарии не требуются. Если же это ваше первое столкновение с методами REST API, прежде чем править Викиданные, хорошенько изучите инструкции, начните тренировки с безопасного метода (GET) и потом "поиграйте в песочнице", в которую можно вносить правки.


📌 Quick Statements

Этот сервис позволяет вносит изменения в Wikidata без опыта работы с API и головоломными 😬 механизмами авторизации.

Для работы пользователь должен иметь статус Autoconfirmed user, предварительно авторизоваться в Wikidata и дать разрешения всплывающим запросам. Если после авторизации вы видите имя своего пользователя в правом углу и после нажатия на New Batch видите поле для ввода, значит интерфейс готов к работе. За кнопкой с именем пользователя скрывается приятный сюрприз 😉 для, кто умеет использовать API.

Небольшой пример:

Внесем в карточку пользователя Q118779563 2 новых свойства: идентификатор автора в OpenAlex. Синтаксис QuickStatements очень прост – в одной строке, через табуляцию или знак “|”, перечисляются entity|property|value, что для нашей задачи приводит к строкам следующего вида:

Q118779563|P10283|"A2638483588"

Нажимаем Import V1 Commands, в открывшемся интерфейсе проверяем, что будет сформировано, после чего нажимаем Run in background (система предложить назвать данный набор правок. Например, “OA id for Q118779563”). Если наверху появится Status DONE и индикатор прогресса целиком зеленый и показывает 100%, значит, результат достигнут.

Проверяем:

способ 0

Открыв карточку Q118779563

способ 1

Поиском A2638483588 в интерфейсе Wikidata

способ 2

Wikidata SPARQL

SELECT ?person ?openalex_id
   WHERE {
     VALUES ?person {wd:Q118779563}
     ?person wdt:P10283 ?openalex_id.
     }

отправить через Wikidata Query Service

способ 3

Wikidata API

https://www.wikidata.org/w/rest.php/wikibase/v0/entities/items/Q118779563/statements?property=P10283


📌 SourceMD

Этот сервис многократно облегчает задачу по переносу метаданных статей из CrossRef в Викиданные.

  • вносим список DOI (1 doi в строке)
  • нажимаем Check source
  • сервис проверяет по DOI наличие статей в Wikidata.

Если публикация уже присутствует в Wikidata, то сверху над полем появится формулировка вида

Other sources with these identifiers exist: Q…. Trying to update values of Q….; this will not change existing ones.

для отсутствующих предлагает внести базовые сведения в формате Quick Statements (см. ☝️), с той разницей, что в качестве разделителя вместо | используется табуляций (оба варианта подходят для QuickStatements).

Пример добавления статьи 10.24069/SEP-22-40

CREATE
LAST    P356    "10.24069/SEP-22-40"
LAST    P31 Q13442814
LAST    P1476   en:"Tabular form of description of statistical methods and programs in scientific publications"
LAST    Len "Tabular form of description of statistical methods and programs in scientific publications"
LAST    P433    "2"
LAST    P304    "182-184"
LAST    P478    "7"
LAST    P577    +2023-04-14T00:00:00Z/11
LAST    P1433   Q96728083
LAST    P2093   "N. N. Khromov-Borisov" P1545   "1"

Если ввести несколько DOI, то сервис вернет фрагменты для отдельных статей, расположенные друг над другом. Блок каждой статьи начинается с CREATE, который “дает команду” создать запись, к которой будут применены инструкции в следующих строках, начинающихся с LAST.

Какие атрибуты будут созданы?

  • P31 (тип элемента) = scholarly article Q13442814

  • P1476 (тип элемента) = title, с указанием языка (en)

  • Len - это Label на английском, который отражается в заголовках Wikidata карточек.

  • P478 (том) = volume

  • P433 (выпуск) = issue

  • P304 (страницы) = pages

  • P577 (дата публикации) = publication date

  • P1433 (опубликовано в) = published in. ⚠️ Поскольку в Wikidata уже существует карточка журнала с указанием ISSN и в метаданных CrossRef есть ISSN, то атрибут P1433 сразу связывает статьи с записью журнала Q96728083.

  • P2093 (строка с указанием имени автора) = author string с указанием P1545 (порядковый номер автора).

Обратите внимание, что будет создана не связь с карточкой автора (сервис не распознает авторов по фамилии), а только текстовое значение.

⚠️ если вы вносите статьи конкретного автора и у него уже создана карточка в Wikidata, тогда можно прямо в окне SourceMD добавить ещё одну строку (прямо под LAST P2093…) с инструкцией вида LAST P50 {Wikidata ID автора} P1545...

Получится вот так

CREATE
LAST    P356    "10.24069/SEP-22-40"
LAST    P31 Q13442814
LAST    P1476   en:"Tabular form of description of statistical methods and programs in scientific publications"
LAST    Len "Tabular form of description of statistical methods and programs in scientific publications"
LAST    P433    "2"
LAST    P304    "182-184"
LAST    P478    "7"
LAST    P577    +2023-04-14T00:00:00Z/11
LAST    P1433   Q96728083
LAST    P2093   "N. N. Khromov-Borisov" P1545   "1"
LAST    P50 Q70155088   P1545   "1"

Нажимаем кнопку Open in Quick Statements, в открывшемся интерфейсе проверяем, что будет сформировано, после чего нажимаем Run in background (система предложить назвать данный набор правок. Например, “article 1”). Если наверху появится Status DONE и индикатор прогресса будет показывать 100%, то всё – статья внесена в Wikidata.

Как найти созданную статью?

В карточке автора статья не отражается, поскольку это не статья является атрибутом автора, а наоборот – автор выступает в качестве атрибута статьи (спасибо, что не AMDG по умолчанию).

способ 1

Поиском 10.24069/SEP-22-40 в интерфейсе Wikidata

Способ 2

Выполнив поиск по DOI в Wikidata или с помощью SPARQL запроса (пример ниже).

SELECT ?article ?doi 
   WHERE {
     VALUES ?doi {"10.24069/SEP-22-40"}
     ?article wdt:P356 ?doi.
     }

отправить через Wikidata Query Service

Идентификатор созданной статьи – Q118798976.


Итак, оптимальная стратегия примерно следующая:

  1. регистрируем профиль в Wikidata

  2. создаем/редактируем вручную индивидуальные карточки журналов, организации-учредителя, редактора, пока не достигнем статус Autoconfirmed (отражается в меню Preferences Wikidata / раздел Basic information > Member of groups).

  3. проверяем готовность к работе QuickStatements (разрешения)

  4. вносим DOI через SourceMD

  5. вносим атрибуты статей и авторов через QuickStatements (их можно готовить в любом текстовом или колоночном редакторе).

Созданными профилями любуемся в сервисе Scholia.

🔝


📌 Приложение 1. Русскоязычные “вики”

Энциклопедия Руниверсалис

На момент подготовки статьи на сайте Энциклопедии Руниверсалис автору не удалось найти документацию API, но администраторы ТГ-канала указали, что MediaWiki API работает. Удалось обнаружить работающий MediaWiki Action API

Информация о статье

Краткий запрос, возвращающий только id статьи:

https://руни.рф/api.php?action=query&titles=%D0%9A%D1%83%D0%B1%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F&format=json

Запрос ниже возвращает более детальную json-структуру, из которой легко извлечь текст, категории (categories), ссылки на страницы (links), ссылка на внешние страницы (externallinks), перечень изображений (images), секций (sections), шаблонов (template), интер-вики ссылок (iwlinks – здесь ссылки на оригинальную Википедию и другие Викисервисы).

https://руни.рф/api.php?action=parse&page=%D0%9A%D1%83%D0%B1%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F&format=json

По сравнению с оригиналом (далее под оригиналом подразумевается MediaWiki API в оригинальной Wikipedia) отсутствуют идентификатор соответствующего статье элемента Викиданных (wikibase_item) и ссылки на языковые версии статей (раздел есть, но автор не встретил примеров статей, где он был бы заполнен).

Извлечь разделы статьи

Возвращает перечень разделов страницы, их размер, порядковые номера и названия внутренних ссылок.

https://руни.рф/api.php?action=parse&page=%D0%9A%D1%83%D0%B1%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F&prop=sections&format=json

Получив сведения из запроса выше, можно извлечь отдельные разделы в форматах wikitext или parsetree.

https://руни.рф/api.php?action=parse&page=%D0%9A%D1%83%D0%B1%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F&prop=wikitext|parsetree&section=5&format=json

Извлечь категории статьи

https://руни.рф/api.php?action=parse&page=%D0%9A%D1%83%D0%B1%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F&prop=categories&format=json

Некоторые категории отмечены как hidden. Там много забавного – например, вышеприведенная статья о Кубинской революции отнесена к скрытой категории “Статьи_к_проверке:ЛГБТ_и_Ко”. К этой категории на 26 июля 2023 года была отнесена 4281 статья – туда попали статьи о квиритском праве, Иоанне Павле II, Джоне Керри, миндалевидном теле, движении “Наши” и многом другом, требующем “проверки” (см. запрос ниже).

https://руни.рф/api.php?cmtitle=Category:Статьи_к_проверке:ЛГБТ_и_Ко&action=query&list=categorymembers&cmlimit=500&cmprop=title|timestamp&format=json

История правок статьи

Запрос ниже возвращает информацию о 10 правках, внесенных после 01 декабря 2022 года в статью о бывшем словацком президенте (поскольку его имя Андрей Киска, разумеется, статья тоже попала в вышеупомянутую категорию).

https://руни.рф/api.php?action=query&titles=%D0%9A%D0%B8%D1%81%D0%BA%D0%B0,_%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9&prop=revisions&rvslots=main&rvlimit=10&rvdir=newer&rvstart=2022-12-01T00:00:00Z&rvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|content|tags&format=json

Список пользователей, которые правили страницу

Запрос ниже возвращает список пользователей, которые редактировали статью о Крыме.

https://руни.рф/api.php?action=query&titles=%D0%9A%D1%80%D1%8B%D0%BC&prop=contributors&pclimit=200&format=json.

Можно добавить &pcgroup=bot, чтобы получить список редакторов-ботов.

Список всех правок пользователя

Запрос ниже возвращает в формате json правки пользователя Sergio «El Profesor» Marquina.

https://руни.рф/api.php?action=query&list=allrevisions&arvuser=Sergio%20%C2%ABEl%20Profesor%C2%BB%20Marquina&arvslots=*&arvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|tags&format=json

Для получения текста правок добавьте в аргумент arvprop значение content.

Поиск статей, цитирующих внешний web-сайт

Можно искать ссылки только в статьях определенного типа, используя выражение &eunamespace=... и определенные значения (0 – статьи, 1 – Talk:Page, 2 – Профили пользователей, 3 – личные User talk страницы).

Запрос ниже возвращает перечень статей (namespace = 0), в которых присутствуют гиперссылки на сайт издательства “Медиасфера”.

https://руни.рф/api.php?action=query&format=json&list=exturlusage&euquery=www.mediasphera.ru&eunamespace=0

Поиск статей, цитирующих выбранную страницу

Запрос ниже возвращает перечень статей, в которых присутствует гиперссылка на статью о Кубинской революции.

https://руни.рф/api.php?action=query&titles=%D0%9A%D1%83%D0%B1%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F&prop=linkshere&lhlimit=200&lhnamespace=0&format=json

Гиперссылки из статьи, ведущие на другие статьи энциклопедии

Запрос ниже возвращает перечень статей энциклопедии, на которые ссылается выбранная статья.

https://руни.рф/api.php?action=parse&page=%D0%9A%D1%83%D0%B1%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F&prop=links&format=json

Ссылки на внешние сайты с выбранной страницы

https://руни.рф/api.php?action=query&titles=%D0%9A%D1%83%D0%B1%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F&prop=extlinks&ellimit=500&elexpandurl=true&format=json

Можно объединить ссылки с внутренними (на страницы энциклопедии), указав prop=extlinks|links.

Альтернативный способ:

https://руни.рф/api.php?action=parse&page=%D0%9A%D1%83%D0%B1%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F&prop=externallinks&format=json

Поиск статьи по названию

Для поиска по названию используется не (srsearch=intitle:), а (srwhat=title).

https://руни.рф/api.php?action=query&list=search&srsearch=Казанский&srwhat=title&utf8=&format=json

Статистика просмотров страниц

Запрос ниже возвращает ошибку Unrecognized value for parameter "prop": pageviews

https://руни.рф/api.php?action=query&titles=%D0%9A%D1%80%D1%8B%D0%BC&prop=pageviews&format=json

🔝


РУВИКИ

На момент подготовки материала сайт РУВИКИ работал в бета-версии. Автору не удалось найти на сайте документации API, но поскольку РУВИКИ сделана на базе MediaWiki, то удалось обнаружить работающие MediaWiki Action API и MediaWiki REST API.

Информация о статье

https://ru.ruwiki.ru/w/api.php?action=query&titles=Весёлый Роджер&format=json

Запрос ниже возвращает более детальную json-структуру, из которой легко извлечь текст, категории (categories), ссылки на страницы (links), ссылка на внешние страницы (externallinks), перечень изображений (images), секций (sections), шаблонов (template), интер-вики ссылок (iwlinks – здесь ссылки на оригинальную Википедию и другие Викисервисы), идентификатор элемента Викиданных, соответствующего статье (wikibase_item в разделе properties)

https://ru.ruwiki.ru/w/api.php?action=parse&page=Весёлый Роджер&format=json

На 03.08.2023 ссылки на все языковые версии статьи (раздел langlinks) ведут на ru.ruwiki.ru и не функционируют (пример: https://ru.ruwiki.ru/wiki/Nl:Jolly_Roger).

Версия MediWiki REST API

https://ru.ruwiki.ru/w/rest.php/v1/page/Весёлый Роджер

Извлечь разделы статьи

Возвращает перечень разделов страницы, их размер, порядковые номера и названия внутренних ссылок.

https://ru.ruwiki.ru/w/api.php?action=parse&page=Весёлый Роджер&prop=sections&format=json

Получив сведения из запроса выше, можно извлечь отдельные разделы в форматах wikitext или parsetree.

https://ru.ruwiki.ru/w/api.php?action=parse&page=Весёлый Роджер&prop=wikitext|parsetree&section=2&format=json

Извлечь категории статьи

https://ru.ruwiki.ru/w/api.php?action=parse&page=Весёлый Роджер&prop=categories&format=json

Найти все статьи по категории

https://ru.ruwiki.ru/w/api.php?cmtitle=Category:Пиратство&action=query&list=categorymembers&cmlimit=100&cmprop=title|timestamp&format=json

История правок статьи

Запрос ниже возвращает информацию о 10 правках, внесенных после 01 декабря 2022 года в статью о Весёлом Роджере.

https://ru.ruwiki.ru/w/api.php?action=query&titles=Пиратство Роджер&prop=revisions&rvslots=main&rvlimit=10&rvdir=newer&rvstart=2022-12-01T00:00:00Z&rvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|content|tags&format=json

Список пользователей, которые правили страницу

Запрос ниже возвращает список пользователей, которые редактировали статью о Крыме.

https://ru.ruwiki.ru/w/api.php?action=query&titles=%D0%9A%D1%80%D1%8B%D0%BC&prop=contributors&pclimit=200&format=json.

Чтобы получить список редакторов-ботов к запросу необходимо добавить &pcgroup=bot.

Список всех правок пользователя

Запрос ниже возвращает в формате json правки пользователя Beginner67, чей профиль пока в системе не отражается (beta есть beta.

https://ru.ruwiki.ru/w/api.php?action=query&list=allrevisions&arvuser=Beginner67&arvslots=*&arvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|tags&format=json

Для получения текста правок добавьте в аргумент arvprop значение content.

Поиск статей, цитирующих внешний web-сайт

Можно искать ссылки только в статьях определенного типа, используя выражение &eunamespace=... и определенные значения (0 – статьи, 1 – Talk:Page, 2 – Профили пользователей, 3 – личные User talk страницы).

Запрос ниже возвращает перечень статей (namespace = 0), в которых присутствуют гиперссылки на сайт издательства “Медиасфера”.

https://ru.ruwiki.ru/w/api.php?action=query&list=exturlusage&euquery=www.mediasphera.ru&eunamespace=0&format=json

Поиск статей, цитирующих выбранную страницу

Запрос ниже возвращает перечень статей, в которых присутствует гиперссылка на статью о Кубинской революции. > https://ru.ruwiki.ru/w/api.php?action=query&titles=Изгнание_евреев_из_Испании&prop=linkshere&lhlimit=200&lhnamespace=0&format=json

Гиперссылки из статьи, ведущие на другие статьи энциклопедии

Запрос ниже возвращает перечень статей энциклопедии, на которые ссылается выбранная статья.

https://ru.ruwiki.ru/w/api.php?action=query&titles=Изгнание_евреев_из_Испании&prop=links&format=json

Ссылки на внешние сайты с выбранной страницы

https://ru.ruwiki.ru/w/api.php?action=query&titles=Изгнание_евреев_из_Испании&prop=extlinks&ellimit=500&elexpandurl=true&format=json

Можно объединить ссылки с внутренними (на страницы энциклопедии), указав prop=extlinks|links.

Альтернативный способ:

https://ru.ruwiki.ru/w/api.php?action=parse&page=Изгнание_евреев_из_Испании&prop=externallinks&format=json

Поиск статьи по названию

Для поиска по названию используется новый синтаксис (srsearch=intitle:), а srwhat=title не работает так же как и в оригинальной MediaWiki Action API.

https://ru.ruwiki.ru/w/api.php?action=query&list=search&srsearch=intitle:Казанский&utf8=&format=json

Статистика просмотров страниц

Функционал вывода количества просмотров работает, но возвращает нули.

https://ru.ruwiki.ru/w/api.php?action=query&titles=Крым&prop=pageviews&format=json

🔝


Циклопедия

На момент подготовки статьи на сайте Циклопедии автору не удалось найти документацию API, но поскольку Циклопедия сделана на базе MediaWiki, то удалось обнаружить работающие MediaWiki Action API и MediaWiki REST API.

Информация о статье

https://cyclowiki.org/w/api.php?action=query&titles=Китайская кошка&format=json

Запрос ниже возвращает более детальную json-структуру, из которой легко извлечь текст, категории (categories), ссылки на страницы (links), ссылка на внешние страницы (externallinks), перечень изображений (images), секций (sections), шаблонов (template), интер-вики ссылок (iwlinks – здесь ссылки на оригинальную Википедию и другие Викисервисы).

https://cyclowiki.org/w/api.php?action=parse&page=Китайская кошка&format=json

По сравнению с оригиналом (далее под оригиналом подразумевается MediaWiki API в оригинальной Wikipedia) отсутствуют идентификатор соответствующего статье элемента Викиданных (wikibase_item) и ссылки на языковые версии статей (раздел есть, но автор не встретил примеров статей, где он был бы заполнен).

Версия MediWiki REST API

https://cyclowiki.org/w/rest.php/v1/page/Китайская кошка

Извлечь разделы статьи

Возвращает перечень разделов страницы, их размер, порядковые номера и названия внутренних ссылок. > https://cyclowiki.org/w/api.php?action=parse&page=Китайская кошка&prop=sections&format=json

Получив сведения из запроса выше, можно извлечь отдельные разделы в форматах wikitext или parsetree.

https://cyclowiki.org/w/api.php?action=parse&page=Китайская кошка&prop=wikitext|parsetree&section=5&format=json

Извлечь категории статьи

https://cyclowiki.org/w/api.php?action=parse&page=Китайская кошка&prop=categories&format=json

Найти все статьи по категории

https://cyclowiki.org/w/api.php?cmtitle=Category:Сады и парки России&action=query&list=categorymembers&cmlimit=100&cmprop=title|timestamp&format=json

История правок статьи

Запрос ниже возвращает информацию о 10 правках, внесенных после 01 декабря 2022 года в статью о Китайской кошке.

https://cyclowiki.org/w/api.php?action=query&titles=Китайская кошка&prop=revisions&rvslots=main&rvlimit=10&rvdir=newer&rvstart=2022-12-01T00:00:00Z&rvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|content|tags&format=json

Список пользователей, которые правили страницу

Запрос ниже возвращает список пользователей, которые редактировали статью о Китайской кошке.

https://cyclowiki.org/w/api.php?action=query&titles=Китайская кошка&prop=contributors&pclimit=200&format=json.

Чтобы получить список редакторов-ботов к запросу необходимо добавить &pcgroup=bot.

Список всех правок пользователя

Запрос ниже возвращает в формате json правки пользователя Serebr.

https://cyclowiki.org/w/api.php?action=query&list=allrevisions&arvuser=Serebr&arvslots=*&arvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|tags&format=json

Для получения текста правок добавьте в аргумент arvprop значение content.

Поиск статей, цитирующих внешний web-сайт

Можно искать ссылки только в статьях определенного типа, используя выражение &eunamespace=... и определенные значения (0 – статьи, 1 – Talk:Page, 2 – Профили пользователей, 3 – личные User talk страницы).

Запрос ниже возвращает перечень статей (namespace = 0), в которых присутствуют гиперссылки на сайт издательства “Медиасфера”.

https://cyclowiki.org/w/api.php?action=query&list=exturlusage&euquery=www.mediasphera.ru&eunamespace=0&format=json

Поиск статей, цитирующих выбранную страницу

Запрос ниже возвращает перечень статей, в которых присутствует гиперссылка на статью о Розе Люксембург.

https://cyclowiki.org/w/api.php?action=query&titles=Роза Люксембург&prop=linkshere&lhlimit=200&lhnamespace=0&format=json

Гиперссылки из статьи, ведущие на другие статьи энциклопедии

Запрос ниже возвращает перечень статей Циклопедии, на которые ссылается выбранная статья.

https://cyclowiki.org/w/api.php?action=query&titles=Компьютерная оптика&prop=links&format=json

Ссылки на внешние сайты с выбранной страницы

https://cyclowiki.org/w/api.php?action=query&titles=Компьютерная оптика&prop=extlinks&ellimit=500&elexpandurl=true&format=json

Можно объединить ссылки с внутренними (на страницы энциклопедии), указав prop=extlinks|links.

Альтернативный способ:

https://cyclowiki.org/w/api.php?action=parse&page=Компьютерная оптика&prop=externallinks&format=json

Поиск статьи по названию

Для поиска по названию используется не (srsearch=intitle:), а (srwhat=title).

https://cyclowiki.org/w/api.php?action=query&list=search&srsearch=Казанский&srwhat=title&utf8=&format=json

Статистика просмотров страниц

Запрос ниже возвращает ошибку Unrecognized value for parameter "prop": pageviews

https://cyclowiki.org/w/api.php?action=query&titles=%D0%9A%D1%80%D1%8B%D0%BC&prop=pageviews&format=json

🔝


Викизнание

У сервиса http://www.wikiznanie.ru доступен MediaWiki Action API, ниже приведены примеры базовых запросов.

Сведения о статье

http://www.wikiznanie.ru/wikipedia/api.php?action=parse&page=Муравьи&format=json

Найти все статьи по категории

http://www.wikiznanie.ru/wikipedia/api.php?cmtitle=Категория:Общественные_животные&action=query&list=categorymembers&cmlimit=100&cmprop=title|timestamp&format=json

История правок статьи

http://www.wikiznanie.ru/wikipedia/api.php?action=query&titles=Муравьи&prop=revisions&rvlimit=10&rvdir=newer&rvstart=2010-12-01T00:00:00Z&rvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|content|tags&format=json

Список пользователей, которые правили страницу

http://www.wikiznanie.ru/wikipedia/api.php?action=query&titles=Владивосток&prop=contributors&pclimit=200&format=json.

Список всех правок пользователя

Эта функция отключена.

http://www.wikiznanie.ru/wikipedia/api.php?action=query&list=allrevisions&arvuser=Evgen2&arvslots=*&arvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|tags&arvlimit=5&format=json

Поиск статей, цитирующих внешний web-сайт

http://www.wikiznanie.ru/wikipedia/api.php?action=query&list=exturlusage&euquery=www.kremlin.ru&eunamespace=0&format=json

Поиск других статей ресурса, цитирующих выбранную страницу

http://www.wikiznanie.ru/wikipedia/api.php?action=query&titles=Пихта&prop=linkshere&lhlimit=200&lhnamespace=0&format=json

Cсылки из статьи на другие статьи ресурса (links) и внешние сайты (extlinks)

http://www.wikiznanie.ru/wikipedia/api.php?action=query&titles=Пихта&prop=links|extlinks&ellimit=500&elexpandurl=true&format=json

Поиск статьи по тексту

http://www.wikiznanie.ru/wikipedia/api.php?action=query&list=search&srsearch=Газпром&srwhat=text&utf8=&format=json

Статистика просмотров страниц

Запрос ниже возвращает ошибку Unrecognized value for parameter "prop": pageviews

http://www.wikiznanie.ru/wikipedia/api.php?action=query&titles=%D0%A1%D0%B8%D0%BB%D0%B0%20%D0%A1%D0%B8%D0%B1%D0%B8%D1%80%D0%B8&prop=pageviews&format=json

🔝


Традиция

У сервиса доступен MediaWiki Action API, ниже приведены примеры базовых запросов.

Сведения о статье

https://traditio.wiki/w/api.php?action=parse&page=Иран&format=json

Найти все статьи по категории

https://traditio.wiki/w/api.php?cmtitle=Категория:Иран&action=query&list=categorymembers&cmlimit=100&cmprop=title|timestamp&format=json

История правок статьи

https://traditio.wiki/w/api.php?action=query&titles=Кемерово&prop=revisions&rvslots=main&rvlimit=10&rvdir=newer&rvstart=2011-12-01T00:00:00Z&rvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|content|tags&format=json

Список пользователей, которые правили страницу

https://traditio.wiki/w/api.php?action=query&titles=Испания&prop=contributors&pclimit=200&format=json.

Список всех правок пользователя

https://traditio.wiki/w/api.php?action=query&list=allrevisions&arvuser=Dark%20Magus&arvslots=*&arvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|tags&arvlimit=5&format=json

Поиск статей, цитирующих внешний web-сайт

https://traditio.wiki/w/api.php?action=query&list=exturlusage&euquery=www.gazprom.ru&eunamespace=0&format=json

Поиск других статей ресурса, цитирующих выбранную страницу

https://traditio.wiki/w/api.php?action=query&titles=Мрамор&prop=linkshere&lhlimit=200&lhnamespace=0&format=json

Cсылки из статьи на другие статьи ресурса (links) и внешние сайты (extlinks)

https://traditio.wiki/w/api.php?action=query&titles=Иран&prop=links|extlinks&ellimit=500&elexpandurl=true&format=json

Поиск статьи по тексту

https://traditio.wiki/w/api.php?action=query&list=search&srsearch=Бельмондо&srwhat=title&utf8=&format=json

Статистика просмотров страниц

Запрос ниже возвращает ошибку Unrecognized value for parameter "prop": pageviews

https://traditio.wiki/w/api.php?action=query&titles=Жан-Поль Бельмондо&prop=pageviews&format=json

🔝


Руксперт

У сервиса доступен MediaWiki Action API, ниже приведены примеры базовых запросов.

Сведения о статье

https://ruxpert.ru/api.php?action=parse&page=Мифы_о_России&format=json

Найти все статьи по категории

https://ruxpert.ru/api.php?cmtitle=Category:Мифы&action=query&list=categorymembers&cmlimit=100&cmprop=title|timestamp&format=json

История правок статьи

https://ruxpert.ru/api.php?action=query&titles=Мифы_о_России&prop=revisions&rvslots=main&rvlimit=10&rvdir=newer&rvstart=2021-12-01T00:00:00Z&rvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|content|tags&format=json

Список пользователей, которые правили страницу

https://ruxpert.ru/api.php?action=query&titles=Мифы_о_России&prop=contributors&pclimit=200&format=json.

Список всех правок пользователя

https://ruxpert.ru/api.php?action=query&list=allrevisions&arvuser=AlexBond&arvslots=*&arvprop=ids|flags|timestamp|user|userid|size|contentmodel|comment|parsedcomment|tags&arvlimit=5&format=json

Поиск статей, цитирующих внешний web-сайт

https://ruxpert.ru/api.php?action=query&list=exturlusage&euquery=www.gazprom.ru&eunamespace=0&format=json

Поиск других статей ресурса, цитирующих выбранную страницу

https://ruxpert.ru/api.php?action=query&titles=Мифы о России&prop=linkshere&lhlimit=200&lhnamespace=0&format=json

Cсылки из статьи на другие статьи ресурса (links) и внешние сайты (extlinks)

https://ruxpert.ru/api.php?action=query&titles=Мифы о России&prop=links|extlinks&ellimit=500&elexpandurl=true&format=json

Поиск статьи по тексту

https://ruxpert.ru/api.php?action=query&list=search&srsearch=Газпром&srwhat=text&utf8=&format=json

Статистика просмотров страниц

Запрос ниже возвращает ошибку Unrecognized value for parameter "prop": pageviews

https://ruxpert.ru/api.php?action=query&titles=%D0%A1%D0%B8%D0%BB%D0%B0%20%D0%A1%D0%B8%D0%B1%D0%B8%D1%80%D0%B8&prop=pageviews&format=json

🔝


📌 Приложение 2. Другие русскоязычные проекты

Ниже представлены русскоязычные ресурсы на основе MediaWiki. Перечень не претендует на полноту и составлен с единственной целью – показать читателям тематическое многообразие порталов, доступ к содержимому которых возможен через API-интерфейс.

Научно-образовательные и профессиональные порталы

Региональные порталы

На сайте проекта Летописи – https://letopisi.org можно найти много региональных образовательных вики-сайтов, созданных с целью развития у школьников и студентов навыков подготовки вики-материалов.

Разное

Вики-сообщества на Fandom

На сайте Fandom (портал, предоставляющий бесплатную возможность создания вики-сайта) можно найти большой список вики-сообществ. Портал ориентируется главным образом на сообщества фанатов медиа-культуры. Подавляющее большинство сообществ в списке прекратили обновляться, не достигнув и 100 статей. Несмотря на непривычный интерфейс, сайты основаны на Mediawiki, поэтому для обращения к ним можно использовать вышеописанные запросы.

Среди многочисленных фан-сообществ можно найти крупные русскоязычные проекты другой направленности:

Вики-сообщества на Miraheze

Сайт Miraheze предоставляет (как и Fandom) возможность бесплатного создания собственного Wiki-проекта. Каталог русскоязычных вики-проектов содержит десятки разнообразных проектов:

🔝


📌 Приложение 3. Вики-проекты на других языках

Каталоги

Почти случайные примеры

В некоторых проектов API-интерфейс, к сожалению, отключен:

  • http://wiki.gis.com – Wiki.GIS.com is an encyclopedia dedicated to geographic information systems (GIS). API: MediaWiki API is not enabled for this site.

  • https://proteopedia.org – Proteopedia. A Database of proteins, supported by The Israel Structural Proteomics Center at the Weizmann Institute of Science. API: MediaWiki API is not enabled for this site.

🔝


📌 Приложение 4. Сервисы Wikimedia

🔝


📌 Приложение 5. Wiki-сервисы не на MediaWiki

https://www.wikipathways.org/

http://www.subtiwiki.uni-goettingen.de/

https://wikibase.world/wiki/Project:Home

📌 Будущие проекты MediaWiki


Обратная связь

Если сделаете pull request, постараюсь принять.

Лицензия

Знание – людям!

Позиция по поводу открытых энциклопедий

Я убежден в том, что возможности оригинальных Вики-сервисов (Wikipedia, Wikidata и др.) следует изучать прежде всего для того, чтобы знать “как оно может быть”. Надеюсь, что после ознакомления с перечисленными в данном материале возможностями Вики-сервисов, читатели смогут по-новому взглянуть на практическую ценность любых других онлайн-ресурсов (особенно тех, которыми предлагается импортозамещать Wikipedia).

About

Примеры запросов к API и SPARQL интерфейсам Wiki сервисов

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published