This is the documentation page for Модул:Wikidata/P512

Содержит функции для форматирования учёных степеней, получаемых из свойства викиданных d:Property:P512. По сравнению с formatPropertyDefault() из Модул:Wikidata включает в себя следующую логику:

  1. В викиданных отмечаются факты получения всех степеней, но в карточке нет смысла показывать кандидатскую при наличии соответствующей докторской. Например Путилов, Борис Николаевич (показывается только д. ф. н.), Зайцев, Александр Иосифович (показывается и к. ф. н. и д. и. н.)
  2. После самой учёной степени в скобках показывается год её присвоения (из квалификатора d:P585). Иногда для указания этой же информации используют d:P580, но первый вариант гораздо распространённее (ср. [1] и [2])
  3. В статью добавляется соответствующая степени категория (например Гурӯҳ:Кандидаты искусствоведения)

Для правильной реализации пунктов 1 и 3 нужно загружать элемент, соответствующий каждой ученой степени персоны и обращаться к свойствам d:P156 и d:P910 соответственно. Однако, для первой версии, решено захардкодить связи между степенями первой и второй ступени, а также соответствующими категориями по соображениям производительности и для минимизации зависимостей данного модуля от других.

Названия функций данного модуля, а также их сигнатуры могут меняться без предупреждения, поэтому не рекомендуется использовать их напрямую. Штатно модуль используется из шаблона {{wikidata/p512}}, в котором осуществляется вызов {{#invoke:Wikidata|formatStatements с параметрами property-module=Wikidata/P512 и property-function=formatAcademicDegree

Санҷишҳо вироиш

6 тестов провалено.

test_formatAcademicDegree:

Текст Ожидаемое значение Фактическое значение
 N demo <span class="wikidata-claim" data-wikidata-property-id="P512" data-wikidata-claim-id="Q4115189$2fb0ce43-4ffe-9e6e-6dab-0d101b0ceac0">доктори илмҳои филология</span>[[Гурӯҳ:Докторони улуми филология]] <span class="wikidata-claim" data-wikidata-property-id="P512" data-wikidata-claim-id="Q4115189$2fb0ce43-4ffe-9e6e-6dab-0d101b0ceac0">доктори илмҳои филология</span>

test_formatCorrespondingCategory:

Текст Ожидаемое значение Фактическое значение
 N d:Q752297[1] Гурӯҳ:Докторони фалсафа
  d:Q849697[1]
 N d:Q913404[1] Гурӯҳ:Докторони тиб
 N d:Q959320[1] Гурӯҳ:Докторони ҳуқуқ
  d:Q5978719[1]
 N d:Q17281180[1] Гурӯҳ:Докторони ҳунаршиносӣ
 N d:Q19603972[1] Гурӯҳ:Номзадҳои улуми фалсафа

test_formatQualifier:

Текст Ожидаемое значение Фактическое значение
  {} "" ""
  {1987} " (1987)" " (1987)"
  {2017, 2024} " (2017)" " (2017)"

test_getPreviousDegrees:

Текст Ожидаемое значение Фактическое значение
  {} {} {}
  {1} {} {}
  {1, 16698078, 19610224} {[19610224]=true} {[19610224]=true}
  {17281125, 17281125} {[18071588]=true} {[18071588]=true}