Программирование Викиданных

Материал из Викиверситет
Перейти к: навигация, поиск
Иконка программы Pywikibot
Эта статья — часть материалов: кафедры Веб-технологии

Программирование Викиданных (с листингами, рисунками и упражнениями) — это курс, обучающий работе с Викиданными. Курс предназначен для студентов и преподавателей технических вузов, а также для школьников старших классов, углублённо изучающих информатику. В этом курсе вы с необходимостью познакомитесь с языками Python, SPARQL, системой Pywikibot, средой Викиданные.

Автором курса является Крижановский Андрей. Каждая глава курса представляет собой серию задач на одну тему. Решением поставленных задач, оформлением и описанием путей решения занимаются студенты Петрозаводского государственного университета в ходе выполнения работ по предметам "Интернет-математика" и "Автоматическая обработка текста".

Перевод завершённых глав публикуется в Английском Викиверситете в проекте Research in programming Wikidata.

Оглавление[править]

Список принятых работ. В какой-то мере это образцы для подражания.

  • банки и коммерческие организации
  • войны и битвы
  • вузы
  • заповедники и ООПТ
  • катастрофы
  • кино, мультфильмы, телевидение
  • техника: корабли, воздушные суда и танки
  • технология, информатика

В процессе[править]

Статьи над которыми работа ещё не завершена. Чтобы выяснить, что именно осталось сделать — посетите страницу обсуждения соответствующей статьи.

  • вузы

Алгоритм работы[править]

Задание для студентов
N Описание
1 Выбор темы (выбор типа объекта)
  1. Выберите главу (ниже на этой странице), допишите справа ФИО и ник (выбираем класс объектов для работы).
  2. Ⓐ Зарегистрируйтесь на сайте Authorea (укажите при регистрации свои имя и фамилию по-английски, например: Andrew Krizhanovsky или Denis Kovalchuk, укажите в affilation свой вуз, а именно: Petrozavodsk State University). Сообщите преподавателю (1) свой e-mail и (2) название своей главы на этой странице в Викиверситете. Затем вы получите приглашение к редактированию статьи в LaTeX на Authorea. После каждого выполненного этапа работы (со значком Ⓐ) скопируйте текст и иллюстрации из Викиверситета в Authorea. Проверьте, что после добавления текста в LaTeX — этот текст компилируется в PDF-файл без ошибок.
2 Ⓐ Программирование: список объектов

Напишите скрипт для вывода всех объектов этого типа. Укажите полученное число записей.

3 Знакомство со свойствами объектов. Заполнение данных вручную

Выберите три примера наиболее полно описанных объектов на сайте Викиданных (например, из списка ИС или ХС), выберите три "плохих" (неполных или пустых) примера объектов. При условии, что про "плохие" объекты есть достаточно полные статьи в Русской Википедии или в Английской Википедии. Прочитайте эти статьи и максимально заполните все поля "плохих" объектов, сделайте их "хорошими", заполните в том числе Label и Description на двух языках (английский и русский). Укажите три "хороших" и три "плохих" объекта со ссылками на Викиданные в своей статье. Сообщите преподавателю о выполнении задания.

Label. Если статья есть, то Label — это название статьи в Википедии. Если статьи нет, то переведите Label самостоятельно. См. документацию d:Help:Label/ru.
Description — это краткое, но полноценное описание объекта. Описание начинается со строчной буквы, в конце точка не ставится. См. документацию d:Help:Description/ru.

Подробности и условия:

  1. Выбирая "хорошие" (максимально заполненные) объекты своего типа, возьмите один из образцовых объектов со страницы d:Wikidata:Showcase items.
  2. Два из трёх "плохих" объектов должны относиться к России или русскому языку, если это применимо.
  3. Для удобства проверки заполняемые свойства должны быть переведены на английский язык. То есть если из "плохого" объекта идёт ссылка на объект, называемый "QNNN", то следует зайти по ссылке в этот объект QNNN и добавить название на английском языке (поле Label).

Довесок: Заполнить десять пустых объектов вместо трёх.

4 Ⓐ ТЗ: предложить школьникам три SPARQL-задачи (неформальное название: Нафантазировать задачную трилогию с картиной и Россией)

Придумайте и сформулируйте на СО своей статьи три задачи, которые можно решить с помощью SPARQL-запросов или связки Python и Pywikibot, используя данные ваших объектов. Укажите поля (свойства объектов), требуемые для решения задач (см. идеи задач про войны, страны). См. в разделе "Ссылки" ниже "SPARQL examples".

Если вы будете работать с Python и Pywikibot, то сообщите преподавателю свой логин на сайте GitHub для включения в проект botva.

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

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

  • национальные парки всего мира и России,
  • города мира (или каких-либо стран) и России,
  • вузы мира и России.

Довесок: Нужно будет решить одну из трёх придуманных своих или предложенных задач. Задачу выбирает преподаватель. Если идей не будет, то нужно будет решить три задачи, а не одну.

5 Ⓐ Полнота Викиданных и оформление литературы

Напишите в разделе той задачи, которую вы уже решили (то есть написали скрипт), подраздел "Полнота Викиданных" с критикой и анализом этой полноты. См. пример заготовки в статье "Программирование Викиданных/Страны". Вот, что у студентки получилось в итоге: Программирование Викиданных/Страны#Полнота Викиданных.

Библиографическую ссылку на авторитетный источник, который вы упоминаете при описании полноты, укажите в разделе == Литература == и поставьте на него ссылку с помощью шаблона {{sfn}}. См. ниже раздел "Оформление ссылок".

Довесок: поработать на славу Петрозаводского государственного университета, см. ПетрГУ.

6 Ⓐ Скриншот, сотня, скриншот (не та сотня, а ваша, трудовая)

Заполните свойства, требуемые для решения задачи, у исследуемых объектов. Решите поставленную ранее задачу.

Подробнее:

  1. Сделайте скриншот (или сохраните иллюстрацию иначе из Викиданных), если результат по исследуемому свойству представлен (в ходе выполнения SPARQL-скрипта) в виде иллюстрации. Если результат в виде таблицы, то укажите число - сколько было этих объектов с таким-то свойством на такую-то дату.
  2. Заполните свойства, требуемые для решения задачи, у исследуемых объектов. Те самые свойства, о неполноте которых вы сокрушались в разделе "Полнота Викиданных". Заполнить свойство, требуемое вам для решения задачи, у 100 объектов.
  3. Сделайте скриншот или укажите число записей в таблице после заполнения данных (отметьте ‒ в какой момент времени получены новые результаты).

Задание может выполняться как в ручном, так и в автоматическом режиме (#выжпрограммисты). См. самолётный пример автоматического заполнения Викиданных.

7 Ⓐ Иллюстрирование статьи. Добавьте в главу иллюстрации с помощью Викисклада:
  • сделайте иллюстрации штатными средствами query.wikidata.org или используйте программу Gephi,
  • загрузите иллюстрации на Викисклад (файл с рисунком или анимацией называйте длинно (3-7 слов) и только по-английски). Для загрузки новых версий рисунков не создавайте новых страниц на Викискладе, а жмите кнопку "Загрузить новую версию файла".
  • у загруженного на Викисклад файла укажите категорию Category:Research in programming Wikidata by Wikiversity, см. примеры работы других студентов в этой категории. Прочитайте брошюру об основах иллюстрирования статей в Википедии и работе на Викискладе, которую перевела на русский язык группа студентов ПетрГУ в 2014 году.

Cм. подробности и правила оформлении иллюстраций.

8 Оформление ссылок (внутренних и внешних)
  • Если есть главы, связанные по смыслу с вашей главой, то добавьте раздел "== См. также ==" и поставьте внутренние ссылки на эти главы.
  • Ссылки на статьи и книги оформите с помощью шаблона Sfn, ссылающегося на публикации, представленные с помощью шаблонов книга, статья и ссылка. См. документацию на Шаблон:Sfn и примеры использования шаблонов в статьях Спорт и Работа в вики-среде (шаблон {{книга}}), в главе /Предисловие (шаблон {{статья}}).
9 Ⓐ Аннотация
  • Напишите аннотацию к своей странице в Викиверситете. См. w:Википедия:Преамбула. Никакой заголовок не должен предшествовать преамбуле в вики-статье, преамбула идёт в самом начале статьи, до содержания.
  • Создайте файл abstract.tex в своей статье на сайте Authorea и повторите в нём аннотацию. Организуйте файл layout.md так, чтобы abstract.tex был первым в статье. Для указания заголовка раздела аннотации используйте команду \section{Аннотация}. Подумайте, как в Latex'е указать раздел для аннотации, но при этом выключить нумерацию, поскольку аннотация, введение и заключение в статьях традиционно не нумеруются.

Существует разница между преамбулой статьи в Википедии (см. любую хорошую статью в Википедии) и аннотацией научной статьи (см. научные статьи и их аннотации в журнале Труды КарНЦ РАН, математическая серия).

10 🚁 Разработка игры в форме упражнений (самое интересное задание)

Добавьте в свою главу последним разделом раздел "== Упражнения ==". Придумайте три упражнения, связанные с выбранным объектом, его свойствами. Ниже, после упражнений, приведите скрипты, с помощью которых можно удостовериться в правильности ответов. При этом:

  • если у объектов есть иллюстрации, то хотя бы одно из упражнений должно быть с картинками,
  • хотя бы одно упражнение должно относиться к вычислимому полю, (например, вопрос может касаться плотности, если у объекта нет свойства ‒ плотность, но есть количество и площадь; в SPARQL-скрипте с ответами плотность должна вычисляться и выводиться в результатах),
  • хотя бы один вопрос должен быть связан с Россией.

Эти вопросы-упражнения со скриптами не нужно переносить в свою статью на Authorea. Используйте разные типы вопросов (см. Help:Quiz, Help:Quiz-Simple).

Вопросы и ответы на них должны (1) иметь образовательный характер, (2) сообщать новые нетривиальные сведения, (3) быть настолько яркими и интересными, чтобы их можно было отправить в телепередачу Что? Где? Когда?

Довесок: WRN — написать рецензию на научную статью для m:Research:Newsletter.

11 Ⓐ Называние статьи

На странице обсуждения своей главы в Викиверситете создайте раздел ''==Название статьи на Authorea==''. Предложите в этом разделе пять разных названий для вашей статьи на Authorea. Названия должны соответствовать сути статьи, интриговать и привлекать читателя.

Сообщите преподавателю с помощью команды "@" (например, так: @[[User:AKA MBG|Andrew Krizhanovsky]]) о готовых названиях, чтобы обсудить и выбрать название. Утверждённое название напишите в заголовке статьи на Authorea. В разделе "Ссылки" статьи Викиверситета обновите ссылку на свою статью на сайте Authorea.

12 Будущая работа
  1. Создайте раздел "== Будущая работа ==" в конце статьи и до "Упражнений" (это только в статье Викиверситета, на Authorea не надо). Сформулируйте в нём интересные и глубокие вопросы для студентов, которые в следующем году продолжат исследовать ваш объект и продолжат писать статью. На каждый вопрос отведите по абзацу текста в нумерованном списке (также, как оформлен этот список).
  2. Вопросы такие, что для ответа на них нужно построить SPARQL-запрос. Хотя вас и не интересуют детали реализации ‒ это уже проблемы будущих студентов.
  3. Вопросов должно быть три.
  4. Визуализация. Хотя бы один вопрос должен давать возможность нарисовать ответ (например, в виде карты, графа, диаграммы или фотографий, связанных с объектом).
  5. Вычислимость. Для ответа хотя бы на один вопрос нужно использовать арифметические действия над свойствами объектов, искать максимум, минимум и тому подобное.

Викифицируйте объекты, упоминаемые в разделе. То есть проставьте ссылки с названий объектов на соответствующие статьи Русской Википедии с помощью конструкции [[w:|]].

Довесок: w:Участник:AKA MBG/Ptz — фото объекта на Земле и коллаж города России.

13 Перевод (English Wikiversity)

Создайте подстраницу курса Research in programming Wikidata в Английском Викиверситете. Переведите полностью страницу со своим исследованием на английский язык. Сохраните викификацию для тех объектов, о которых есть статьи в Английской Википедии, то есть замените, например, ссылку [[w:Москва|Москва]] на ссылку [[w:Moscow|Moscow]].

Довесок: n:User:AKA_MBG/newstask — написать новость по научной тематике в Русских Викиновостях.

14 Компиляция Латех в PDF

Скомпилируйте свою LaTeX-статью в PDF-файл на сайте Authorea. Загрузите полученный файл на сайт Научный корреспондент. (При регистрации в научкоре укажите свой вуз, чтобы ваше имя появилось в списке ПетрГУ. Фото в вашем профиле обязательно.) При желании можете выбрать для своей публикации какой-либо из конкурсов, проводимых Научным Корреспондентом. В поле "Описание работы" скопируйте аннотацию из статьи в LaTeX.

Добавьте в раздел ==Ссылки== в своей статье в Русском Викиверситете ссылку на загруженную статью на сайте Научного Корреспондента.

Примечания:

  1. Когда задание будет выполнено, отчитайтесь о проделанной работе на странице обсуждения своей главы. Не забывайте подписывать свои сообщения на страницах обсуждений с помощью четырёх тильд ~~~~.
  2. На сайте Authorea дайте своим листингам названия и ссылайтесь на них в тексте. На сайте Authorea в LaTeX на рисунки мы ссылаемся так: рис.~\ref{someFigureName}, на листинги ссылаемся так: см. листинг~\ref{someListingName}. См. пример именованного листинга в статье Example colored SPARQL-listing with reference. Для расцветки кода заполните свой файл header.tex.
  3. ⧖ Чтобы у студентов был спортивный интерес ‒ делать задания вовремя, к некоторым заданиям прилагаются довески, дополнительные задания.
  4. 😇 После выполнения заданий 4 и 10 на лекции и практике выходите и кратко рассказываете о проделанной работе. Задаёте вопросы студентам. Студенты отвечают, оценивают и обсуждают ваши задания-упражнения. При наличии замечаний мы с вами тут же исправляем и уточняем вопросы. Слушатели предлагают новые задачи для дальнейшего исследования объектов.

Темы на выбор[править]

Предложите свою тему или выберите одну из перечисленных тем ниже, указав свои данные следующим образом:

  • Название главы [[User:имя пользователя|Фамилия Имя Отчество]]

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


  • языки и названия
  • поселения, в том числе деревни и станицы
  • школы
  • вузы
  • институты, академии
  • СМИ и издательства
  • операции, функции, парадоксы и теоремы
  • науки (5 человек)
  • войны и битвы
  • корабли, воздушные суда и танки
  • выступления и радиопередачи
  • книги и литературные произведения, картины, музыка
  • красная книга (животные, растения)
  • японская анимация

Языкознание и литература[править]

  • корпус текстов - Татьяна
  • электронная библиотека - Татьяна
  • детский писатель - Татьяна

Математики[править]

Возможно, для поиска вклада учёных, кроме свойства "notable work", нужно будет воспользоваться solved by (P1136) или аналогичными (какими?).
Открытые задачи, связанные с математиками

+ связь возраста и наград в разных областях:

  1. Определить возраст (min, max, avg) получения первой награды. Меняется ли и как меняется этот возраст с каждым десятилетием?
  2. Работников каких областей математики награждают больше, чаше? Можно ли выделить разные эпохи в математике по превалирующим наградам в разных областях?
  3. Какие регионы чаще награждают?
  4. Выпускников каких вузов чаще награждают?

См. ещё задачи: Обсуждение:Программирование Викиданных/География математиков.


Работы[править]

Задачи по написанию скриптов (идеи)[править]

Вузы[править]

Корпуса текстов[править]

  • Анализ текстовых корпусов мира. См. text corpus.

Named after[править]

Свойство d:Property:P138 (named after, названо в честь).

Первая задача. Скрипты:

  1. Какие профессии "названцев" лидируют?
  2. Сравнить распределение лидерства названий по профессиям для двух стран.
  3. Выбрать какую-либо из отстающих отраслей (по числу улиц, названных в честь людей этой отрасли). Внести информацию в Викиданные, чтобы исказить полученную ранее картину, добиться того, чтобы эта отрасль (профессия) стала лидером.


  1. Что это за "различные объекты", кроме улиц? Привести список типов объектов, например: (1) Улица, (2) Танк, (3) Университет... с числом (1) улиц, названных именами людей, (2) танков с именами, (3) именованных университетов и так далее.
  2. Сравнить список типов объектов для России и какой-либо другой страны.

Ссылки[править]

SPARQL[править]

Pywikibot[править]