Документация по модулю [ просмотреть ] [ изменить ] [ историю ] [ очистить ]
Этот модуль содержит код шаблона {{ Authority control }}. См. Его документацию.
Параметры, свойства Викиданных и категории отслеживания
Параметр | Этикетка | Викиданные свойство | Категории отслеживания и количество страниц | |||
---|---|---|---|---|---|---|
Статьи | Страницы пользователей | Разное. страницы | Неверные идентификаторы | |||
AAG | AAG | P3372 : ID художника Оклендской художественной галереи | 1,766 | 0 | 1 | 0 |
ACM-DL | ACM DL | P864 : ID автора цифровой библиотеки ACM | 1,568 | 2 | 3 | 0 |
АБР | АБР | P1907 : Австралийский биографический словарь ID | 6 540 | 0 | 1 | 9 |
AGSA | AGSA | P6804 : ID создателя Художественной галереи Южной Австралии | 2 002 | 0 | 1 | 0 |
autores.uy | autores.uy | P2558 : идентификатор autores.uy | 758 | 0 | 1 | 0 |
AWR | AWR | P4186 : Регистрационный номер австралийских женщин | 1,499 | 0 | 1 | 0 |
БАЛАТ | БАЛАТ | P3293 : ID объекта BALaT | 47 | 0 | 1 | 0 |
BIBSYS | BIBSYS | P1015 : ID BIBSYS | 72 709 | 0 | 14 | 0 |
Билдиндекс | Билдиндекс | P2092 : Bildindex der Kunst und Architektur ID | 62 | 0 | 1 | 0 |
BNC | BNC | P1890 : идентификатор CCAB | 1,057 | 0 | 3 | 0 |
BNE | BNE | P950 : Biblioteca Nacional de España ID | 88 414 | 1 | 12 | 3 |
BNF | BNF | P268 : ID Национальной библиотеки Франции. | 291 257 | 3 | 60 | 0 |
Ботаник | Ботаник | P428 : аббревиатура автора ботаника | 5 592 | 0 | 1 | 0 |
BPN | BPN | P651 : Biografisch Portaal van Nederland ID. | 7,122 | 0 | 1 | 0 |
CANTIC | CANTIC | P1273 : CANTIC ID | 29 190 | 0 | 4 | 0 |
CINII | CiNii | P271 : ID автора CiNii (книги) | 27 061 | 0 | 10 | 0 |
CWGC | CWGC | P1908 : ID человека CWGC | 1 981 | 0 | 1 | 0 |
DAAO | DAAO | P1707 : ID DAAO | 944 | 0 | 1 | 9 |
DBLP | DBLP | P2456 : ID автора DBLP | 6,332 | 4 | 4 | 3 |
DIB | DIB | P6829 : Словарь ирландской биографии ID | 5 031 | 0 | 1 | 1 |
DSI | DSI | P2349 : Штутгартская база данных научных иллюстраторов. | 3 398 | 0 | 1 | 0 |
FNZA | FNZA | P6792 : Найти идентификатор исполнителя из Новой Зеландии | 966 | 0 | 1 | 1 |
GND | GND | P227 : GND ID | 391 497 | 29 | 394 | 7 |
HDS | HDS | P902 : идентификатор HDS | 8 349 | 0 | 4 | 0 |
ИААФ | ИААФ | P1146 : Идентификационный номер атлета мира по легкой атлетике. | 18 899 | 0 | 1 | 0 |
ICCU | ICCU | P396 : ID автора SBN | 15,637 | 0 | 6 | 0 |
ICIA | ICIA | P1736 : Информационный центр израильского художественного художника ID | 454 | 0 | 1 | 0 |
IEU | IEU | P9070 : ID Интернет-энциклопедии Украины. | 594 | 0 | 1 | 2 |
ISNI | ISNI | P213 : ISNI | 509 684 | 27 | 154 | 8 |
Joconde | Joconde | P347 : рабочий идентификатор Joconde | 247 | 0 | 1 | 0 |
КУЛЬТУРНАВ | KulturNav | P1248 : KulturNav-ID | 4,588 | 0 | 1 | 2 |
LCCN | LCCN | P244 : ID авторитетного источника в Библиотеке Конгресса. | 651 797 | 29 | 530 | 4 |
LIR | LIR | P886 : ID Lexicon istoric retic. | 113 | 0 | 1 | 0 |
LNB | LNB | P1368 : ID LNB | 19 222 | 0 | 3 | 20 |
Леонора | Леонора | P640 : ID Леонора | 5631 | 0 | 7 | 0 |
MA | MA | P6366 : Microsoft Academic ID | 41 835 | 1 | 1 | 15 |
MBA | MBA | P434 : идентификатор исполнителя MusicBrainz | 133 448 | 1 | 59 | 1 |
MBAREA | MBAREA | P982 : ID зоны MusicBrainz | 28 046 | 0 | 1 | 0 |
MBI | MBI | P1330 : идентификатор инструмента MusicBrainz | 274 | 0 | 1 | 0 |
MBL | MBL | P966 : идентификатор лейбла MusicBrainz | 3793 | 0 | 2 | 2 |
MBP | MBP | P1004 : идентификатор места MusicBrainz | 2 266 | 0 | 1 | 0 |
MBRG | MBRG | P436 : идентификатор группы выпуска MusicBrainz | 111 548 | 0 | 1 | 0 |
МБС | МБС | P1407 : ID серии MusicBrainz | 204 | 0 | 1 | 0 |
MBW | MBW работы | P435 : рабочий идентификатор MusicBrainz | 25 690 | 0 | 1 | 0 |
MGP | MGP | P549 : ID проекта по математической генеалогии | 13 752 | 0 | 2 | 0 |
НАРА | НАРА | P1225 : Идентификатор Национального архива США. | 19 415 | 0 | 1 | 1 |
NCL | NBL | P1048 : идентификатор NCL | 534 | 0 | 1 | 1 |
NDL | NDL | P349 : Идентификатор Национальной парламентской библиотеки. | 56 415 | 0 | 27 | 1 |
NGV | NGV | P2041 : Идентификатор художника Национальной галереи Виктории. | 2 836 | 0 | 1 | 0 |
NKC | NKC | P691 : NKCR AUT ID | 166 676 | 0 | 16 | 0 |
NLA | NLA | P409 : Библиотеки Австралии ID | 38 794 | 1 | 13 | 0 |
NLG | NLG | P3348 : ID Национальной библиотеки Греции. | 19 390 | 0 | 3 | 0 |
NLI | NLI | P949 : ID Национальной библиотеки Израиля. | 48 901 | 0 | 12 | 1 |
NLK | NLK | P5034 : ID Национальной библиотеки Кореи. | 32 117 | 0 | 6 | 0 |
НЛП | НЛП | P1695 : NLP ID (уникальный) | 35 316 | 0 | 5 | 0 |
NLR | NLR | P1003 : ID Национальной библиотеки Румынии | 155 | 0 | 1 | 3 |
NSK | NSK | P1375 : Идентификатор NSK | 9 401 | 0 | 3 | 0 |
NTA | NTA | P1006 : Национальный тезаурус для авторского удостоверения | 222 412 | 0 | 28 год | 0 |
ORCID | ORCID | P496 : ORCID iD | 11 005 | 420 | 74 | 0 |
ПОС | ПОС | P2750 : идентификационный номер в каталоге фотографов. | 10 020 | 0 | 2 | 0 |
PLWABN | PLWABN | P7293 : ID PLWABN | 120 814 | 0 | 6 | 1 |
Publons | Publons | P3829 : ID автора Publons | 1,743 | 0 | 5 | 1 |
ИЗБАВЛЯТЬ | ResearcherID | P1053 : ResearcherID | 2,499 | 23 | 17 | 5 |
RERO | RERO | P3065 : RERO ID | 19 226 | 0 | 8 | 5 |
РКДартисты | РКД | P650 : RKDartists ID | 34 409 | 0 | 6 | 1 |
RKDID | RKDimages ID | P350 : RKDimages ID | 693 | 0 | 1 | 0 |
RSL | RSL | P947 : идентификатор RSL (человек) | 838 | 0 | 7 | 0 |
SELIBR | SELIBR | P906 : SELIBR ID | 38 597 | 0 | 25 | 11 |
СИКАРТ | СИКАРТ | P781 : SIKART ID | 1 127 | 0 | 1 | 0 |
SNAC-ID | SNAC | P3430 : ИДЕНТИФИКАТОР SNAC ARK | 129 808 | 0 | 3 | 0 |
СУДОК | СУДОК | P269 : IDREF ID | 237 790 | 7 | 56 | 0 |
S2AuthorId | S2AuthorId | P4012 : ID автора Semantic Scholar | 1,404 | 3 | 4 | 0 |
TA98 | TA98 | P1323 : Terminologia Anatomica 98 ID | 2 875 | 0 | 1 | 0 |
TDVİA | TDVİA | P7314 : ID TDV İslam Ansiklopedisi. | 1,661 | 0 | 2 | 0 |
TE | TE | P1693 : Terminologia Embryologica | 160 | 0 | 1 | 0 |
TePapa | TePapa | P3544 : ID агента Te Papa | 3 288 | 0 | 1 | 0 |
TH | TH | P1694 : Гистологическая терминология | 301 | 0 | 1 | 0 |
TLS | TLS | P1362 : Theaterlexikon der Schweiz ID | 573 | 0 | 1 | 3 |
Trove | Trove | P1315 : ID трофея NLA | 62 637 | 2 | 6 | 5 |
UKPARL | UKPARL | P6213 : Идентификатор парламента Великобритании. | 1,037 | 0 | 1 | 2 |
УЛАН | УЛАН | P245 : ID списка имен артистов Союза | 45 643 | 0 | 11 | 0 |
Конгресс США | Конгресс США | P1157 : Биологическое удостоверение Конгресса США | 12 804 | 0 | 1 | 0 |
VcBA | VcBA | P8034 : Идентификатор VcBA библиотеки Ватикана | 40 299 | 0 | 1 | 3 |
VIAF | VIAF | P214 : идентификатор VIAF | 884 192 | 101 | 1,142 | 0 |
МИР | WorldCat Identities | P7859 : идентификатор WorldCat Identities | 746 092 | 0 | 15 | 0 |
- | WorldCat-LCCN | - | 4 035 | - | - | - |
- | WorldCat-VIAF | - | 138 635 | - | - | - |
Дополнительные категории отслеживания
Этот модуль также реализует следующие скрытые категории отслеживания:
- Категория: страницы с красными ссылками на категории управления авторитетом (0) - категория ошибки для определения отсутствующих категорий
- Категория: статьи Википедии с устаревшими идентификаторами контроля доступа (0) - исправить / перенести / удалить устаревшие идентификаторы
- Категория: статьи Википедии с подавленными идентификаторами контроля полномочий (9823) - только отслеживание (без ошибок)
- Категория: статьи Википедии с несколькими идентификаторами (46 002) - только отслеживание (без ошибок)
- Категория: Страницы, использующие авторитетный контроль с параметрами (1346) - по возможности перенесите идентификаторы в Викиданные (без ошибок)
- Категория: Страницы, использующие авторитетный контроль с параметрами, отличными от Викиданных (388) - определение / удаление неправильных идентификаторов и переход на Викиданные
- Категория: Страницы, использующие авторитетный контроль с параметрами, соответствующими Викиданным (31) - параметры шаблона можно безопасно удалить
- Категория: VIAF не в Викиданных (573) - перенесите идентификаторы в Викиданные, если возможно (без ошибок)
- Категория: VIAF разные в Викиданных (85) - разрешите, если возможно
Количество идентификаторов
- Категория: 0 элементов переменного тока (655,524)
- Категория: AC 25-элементный (556)
- Категория: Кондиционер на 26 элементов (403)
- Категория: 27-элементный кондиционер (330)
- Категория: 28-элементный кондиционер (223)
- Категория: Переменный ток на 29 элементов (186)
- Категория: 30-элементный кондиционер (130)
- Категория: 31 элемент переменного тока (88)
- Категория: 32 элемента переменного тока (40)
- Категория: Кондиционер 33 элемента (24)
- Категория: Кондиционер на 34 элемента (18)
- Категория: AC на 35 элементов (10)
- Категория: AC на 36 элементов (3)
- Категория: AC 37 элементов (2)
- Категория: AC на 38 элементов (2)
- Категория: Кондиционер 39 элементов (1)
- Категория: AC на 40 элементов (0)
- Категория: AC 41 элемент (0)
- Категория: Кондиционер на 42 элемента (0)
- Категория: Кондиционер 43 элемента (0)
- Категория: Кондиционер на 44 элемента (0)
- Категория: Кондиционер 45 элементов (0)
Смотрите также
- m: Interwiki map - определение глобальных пользовательских префиксов интервики
require ( 'Модуль: без глобальных переменных' )местный p = {}местное название = mw . название . getCurrentTitle ()локальное пространство имен = заголовок . пространство именlocal testcases = ( string.sub ( title . subpageText , 1 , 9 ) == 'testcases' )- [[============================================== ============================]]- [[Функции категории]]- [[============================================== ============================]]функция p . getCatForId ( идентификатор )местное catName = ''если пространство имен == 0, тоcatName = 'Статьи Википедии с идентификаторами ' .. id .. 'elseif namespace == 2, а не title . isSubpage тогдаcatName = 'Страницы пользователей с идентификаторами ' .. id .. 'ещеcatName = 'Разные страницы с идентификаторами ' .. id .. 'конецreturn '[[Категория:' .. catName .. ']]' .. p . redCatLink ( catName )конецфункция p . redCatLink ( catName ) --catName == 'Blah' (не 'Category: Blah', а не '[[Category: Blah]]')если catName и catName ~ = '' и testcases == false и мв . название . новый ( catName , 14 ). существует == ложьтогдаreturn '[[Категория: страницы с красными ссылками на категории контроля доступа]]'конецвернуться ''конецфункция p . createRow ( идентификатор , метка , rawValues , ссылка , ссылки , withUid , specialCat )local catName = 'Статьи Википедии с ошибочными' .. ( specialCat или id ) .. 'идентификаторами'если ссылки, то все ссылки [] используют withUid = false; проверка не требуетсяlocal row = '* ' .. labelместный totlen = 0для i , l в ipairs ( ссылки ) делаемесли я == 1, то строка = строка .. ''else row = row .. ',' конецесли л , тоrow = row .. '' .. l .. ''ещеrow = row .. '' .. id .. 'id' .. rawValues [ i ] .. 'недействителен. [[Категория:' .. catName . . ']]' .. стр . redCatLink ( catName )конецtotlen = totlen + # rawValues [ я ] + 3 - 3 символы ч / б ссылкиконецесли totlen > 79, тоrow = string.gsub ( row , '"nowrap"' , '""' ) - избегайте [[A – Z Series]]конецвозвратная строка .. ' \ n 'elseif ссылка тогдаесли withUid тоreturn '* ' .. label .. '' .. link .. ' \ n 'конецreturn '* ' .. label .. '' .. link .. ' \ n 'конецreturn '* ' .. id .. 'id' .. rawValues .. 'недействителен. [[Категория:' .. catName .. ']]' . . p . redCatLink ( catName ) .. ' \ n 'конец- [[============================================== ============================]]- [[Функции форматирования свойств]]- [[============================================== ============================]]- Если ссылка имеет подходящую запись в глобальной таблице префиксов между вики в [[: m: Interwiki_map]], рассмотрите возможность маршрутизации через этот префикс, а не как URL внешней ссылки. Это упростит обслуживание в будущем, поскольку необходимые обновления ссылки можно будет выполнять централизованно, а не путем обновления этого модуля. Значок «внешняя ссылка» исчезнет для таких записей.функция p . aagLink ( идентификатор )- Регулярное выражение формата P3372: \ d + (например, 1)если не id : match ( '^% d + $' ), товернуть ложьконецreturn '[https://www.aucklandartgallery.com/explore-art-and-ideas/artist/' .. id .. '/' .. id .. ']' .. p . getCatForId ( 'AAG' )конецфункция p . acmLink ( идентификатор )- Регулярное выражение формата P864: \ d {11} (например, 12345678901)если не id : match ( '^% d% d% d% d% d% d% d% d% d% d% d $' ), товернуть ложьконецreturn '[https://dl.acm.org/profile/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'ACM-DL' )конецфункция p . adbLink ( идентификатор )Регулярное выражение формата --P1907: [az] [- az] + - ([1-2] \ d | [1-9]) \ d {0,3} (например, barton-sir-edmund-toby-71)если не id : match ( '^ [az] [- az] + - [1-2]% d% d?% d?% d? $' ) и not id : match ( '^ [az] [- az] + - [1-9]% d?% d?% d? $' ) тогдавернуть ложьконецreturn '[http://adb.anu.edu.au/biography/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'ADB' )конецфункция p . agsaLink ( идентификатор )- Регулярное выражение формата P6804: [1-9] \ d * (например, 3625)если не id : match ( '^ [1-9]% d * $' ), товернуть ложьконецreturn '[https://www.agsa.sa.gov.au/collection-publications/collection/creators/_/' .. id .. '/' .. id .. ']' .. p . getCatForId ( 'AGSA' )конецфункция p . autoresuyLink ( id )- Регулярное выражение формата P2558: [1-9] \ d {0,4} (например, 12345)если не id : match ( '^ [1-9]% d?% d?% d?% d? $' ), товернуть ложьконецreturn '[https://autores.uy/autor/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'autores.uy' )конецфункция p . awrLink ( идентификатор )- Регулярное выражение формата P4186: (([AZ] {3} \ d {4}) | ([AZ] {2} \ d {5})) [az] (например, PR00768b)если не идентификатор : совпадение ( '^ [AZ] [AZ] [AZ]% d% d% d% d [az] $' ) и not id : match ( '^ [AZ] [AZ]% d% d% d% d% d [az] $' ), затемвернуть ложьконецreturn '[http://www.womenustralia.info/biogs/' .. id .. '.htm' .. id .. ']' .. p . getCatForId ( 'AWR' )конецфункция p . balatLink ( id )- Регулярное выражение формата P3293: \ d + (например, 1)если не id : match ( '^% d + $' ), товернуть ложьконецreturn '[http://balat.kikirpa.be/object/104257' .. id .. '' .. id .. ']' .. p . getCatForId ( 'BALaT' ) - нет https по состоянию на 9/2019конецфункция p . bibsysLink ( идентификатор )- Регулярное выражение формата P1015: [1-9] \ d * или [1-9] (\ d {0,8} | \ d {12}) (например, 1234567890123)--TODO: продолжить @ [[d: Property talk: P1015 # Несоответствие между двумя ограничениями регулярных выражений]] или обсудить / изучитьесли не id : match ( '^ [1-9]% d?% d?% d?% d?% d?% d?% d?% d? $' ) и not id : match ( '^ [1-9]% d% d% d% d% d% d% d% d% d% d% d% d $' ), затемвернуть ложьконецreturn '[https://authority.bibsys.no/authority/rest/authorities/html/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'BIBSYS' )конецфункция p . bildLink ( идентификатор )- Регулярное выражение формата P2092: \ d + (например, 1)если не id : match ( '^% d + $' ), товернуть ложьконецreturn '[https://www.bildindex.de/document/obj' .. id .. '' .. id .. ']' .. p . getCatForId ( 'Bildindex' )конецфункция p . bncLink ( идентификатор )- Регулярное выражение формата P1890: \ d {9} (например, 123456789)если не id : match ( '^% d% d% d% d% d% d% d% d% d $' ), товернуть ложьконецreturn '[http://www.bncatalogo.cl/F?func=direct&local_base=red10&doc_number=' .. id .. '' .. id .. ']' .. p . getCatForId ( 'BNC' )конецфункция p . bneLink ( идентификатор )- Регулярное выражение формата P950: (XX | FF | a) \ d {4,7} | (bima | bimo | bica | bis [eo] | bivi | Mise | Mimo | Mima) \ d {10} (например, XX1234567)если не id : match ( '^ [XF] [XF]% d% d% d% d% d?% d?% d? $' ) и not id : match ( '^ a% d% d% d% d% d?% d?% d? $' ) и not id : match ( '^ bi [mcsv] [aoei]% d% d% d% d% d% d% d% d% d% d $' ) и not id : match ( '^ Mi [sm] [eoa]% d% d% d% d% d% d% d% d% d% d $' ), затемвернуть ложьконецreturn '[http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&authority_id=' .. id .. '' .. id .. ']' .. p . getCatForId ( 'BNE' ) - нет https по состоянию на 9/2019конецфункция p . bnfLink ( идентификатор )- Регулярное выражение формата P268: \ d {8} [0-9bcdfghjkmnpqrstvwxz] (например, 123456789)если не id : match ( '^ c? b?% d% d% d% d% d% d% d% d [0-9bcdfghjkmnpqrstvwxz] $' ), товернуть ложьконец- Добавить префикс cb, если он был удаленесли не id : match ( '^ cb. + $' ), тоid = 'cb' .. idконецreturn '[https://catalogue.bnf.fr/ark:/12148/' .. id .. '' .. id .. '] [https://data.bnf.fr/ark:/12148/' .. id .. '(данные)]' .. p . getCatForId ( 'BNF' )конецфункция p . botanistLink ( id )- Регулярное выражение формата P428: ('t)? (D')? (De)? (La)? (Van (der)?)? (Ma? C)? (De)? (Di)? \ P {Lu }? C? ['\ P {Ll}] * ([-'.] * (Van)? (Y)? (D [ae] [nr]? [-])? (Ma? C)? [\ p {Lu} bht]? C? ['\ p {Ll}] *) * \.? ? f? \.? (например, Л.)- не легко / осмысленно реализовать в регулярном выражении Lua, поскольку "(this)?" не разрешено...если не мв . ustring . match ( id , "^ [% u% l% d%. '-] + $" ), затем - лучше, чем ничеговернуть ложьконецлокальный идентификатор2 = идентификатор : gsub ( '+' , '%% 20' )return '[https://www.ipni.org/ipni/advAuthorSearch.do?find_abbreviation=' .. id2 .. '' .. id .. ']' .. p . getCatForId ( 'Ботаник' )конецфункция p . bpnLink ( идентификатор )- Регулярное выражение формата P651: \ d {6,8} (например, 00123456)если не id : match ( '^% d% d% d% d% d% d% d% d $' ) и регулярное выражение --original format, изменено 8/2019 на not id : match ( '^ 0?% d% d% d% d% d% d% d $' ) и --allow 1-2 ведущих 0, разрешенных веб-сайтом not id : match ( '^ 0? 0?% d% d% d% d% d% d $' ) тогдавернуть ложьконецreturn '[http://www.biografischportaal.nl/en/persoon/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'BPN' ) - нет https по состоянию на 9/2019конецфункция p . canticLink ( идентификатор )- Регулярное выражение формата P1273: a \ d {7} [0-9x] (например, a10640745)если не id : match ( '^ a% d% d% d% d% d% d% d [% dx] $' ), товернуть ложьконецreturn '[http://cantic.bnc.cat/registres/CUCId/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'CANTIC' ) - нет https по состоянию на 10/2019конецфункция p . ciniiLink ( id )- Регулярное выражение формата P271: DA \ d {7} [\ dX] (например, DA12345678)если не id : match ( '^ DA% d% d% d% d% d% d% d [% dX] $' ), товернуть ложьконецreturn '[https://ci.nii.ac.jp/author/' .. id .. '? l = en' .. id .. ']' .. p . getCatForId ( 'CINII' )конецфункция p . cwgcLink ( идентификатор )- Регулярное выражение формата P1908: [1-9] \ d * (например, 75228351)если не id : match ( '^ [1-9]% d * $' ), товернуть ложьконецreturn '[https://www.cwgc.org/find-war-dead/casualty/' .. id .. '/' .. id .. ']' .. p . getCatForId ( 'CWGC' )конецфункция p . daaoLink ( идентификатор )- Регулярное выражение формата P1707: [az \ -] + \ d * (например, rolf-harris)если не id : match ( '^ [az% -] +% d * $' ), товернуть ложьконецreturn '[https://www.daao.org.au/bio/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'DAAO' )конецфункция p . dblpLink ( идентификатор )- Регулярное выражение формата P2456: \ d {2,3} / \ d + (- \ d +)? | [Az] / [a-zA-Z] [0-9A-Za-z] * (- \ d +)? (например, 123/123)если не id : match ( '^% d% d% d? /% d + $' ) и not id : match ( '^% d% d% d? /% d +% -% d + $' ) и не id : match ( '^ [az] / [a-zA-Z] [0-9A-Za-z] * $' ) и not id : match ( '^ [az] / [a-zA-Z] [0-9A-Za-z] *% -% d + $' ), затемвернуть ложьконецreturn '[https://dblp.org/pid/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'DBLP' )конецфункция p . dibLink ( идентификатор )- Регулярное выражение формата P6829: a \ d {4} \ d? (- [AD])? (например, a1953)если не id : match ( '^ a% d% d% d% d% d?% -? [AD]? $' ), товернуть ложьконецreturn '[https://dib.cambridge.org/viewReadPage.do?articleId=' .. id .. '' .. id .. ']' .. p . getCatForId ( 'DIB' )конецфункция p . dsiLink ( идентификатор )- Регулярное выражение формата P2349: [1-9] \ d * (например, 1538)если не id : match ( '^ [1-9]% d * $' ), товернуть ложьконецreturn '[http://www.uni-stuttgart.de/hi/gnt/dsi2/index.php?table_name=dsi&function=details&where_field=id&where_value=' .. id .. '' .. id .. ']' . . p . getCatForId ( 'DSI' )конецфункция p . fnzaLink ( идентификатор )- Регулярное выражение формата P6792: [1-9] \ d * (например, 9785)если не id : match ( '^ [1-9]% d * $' ), товернуть ложьконецreturn '[https://findnzartists.org.nz/artist/' .. id .. '/' .. id .. ']' .. p . getCatForId ( 'FNZA' )конецфункция p . gndLink ( идентификатор )- Регулярное выражение формата P227: 1 [012]? \ D {7} [0-9X] | [47] \ d {6} - \ d | [1-9] \ d {0,7} - [0- 9X] | 3 \ d {7} [0-9X] (например, 4079154-3)если не id : match ( '^ 1 [012]?% d% d% d% d% d% d% d [0-9X] $' ) и not id : match ( '^ [47]% d% d% d% d% d% d% -% d $' ) и не id : match ( '^ [1-9]% d?% d?% d?% d?% d?% d?% d?% - [0-9X] $' ) и not id : match ( '^ 3% d% d% d% d% d% d% d [0-9X] $' ), затемвернуть ложьконецreturn '[https://d-nb.info/gnd/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'GND' )конецфункция p . hdsLink ( идентификатор )- Регулярное выражение формата P902: \ d {6} (например, 050123)если не id : match ( '^% d% d% d% d% d% d $' ), товернуть ложьконецreturn '[https://hls-dhs-dss.ch/fr/articles/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'HDS' )конецфункция p . iaafLink ( идентификатор )- Регулярное выражение формата P1146: [0-9] [0-9] * (например, 012)если не id : match ( '^% d + $' ), товернуть ложьконецreturn '[https://www.iaaf.org/athletes/_/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'ИААФ' )конецфункция p . iciaLink ( идентификатор )- Регулярное выражение формата P1736: \ d + (например, 1)если не id : match ( '^% d + $' ), товернуть ложьконецreturn '[https://www.imj.org.il/artcenter/newsite/en/?artist=' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'ICIA' )конецфункция p . ieuLink ( идентификатор )- Регулярное выражение формата P9070: [AZ] \\ [AZ] \\ [A-Za-z0-9] + (например, K \ Y \ Kyiv)если не id : match ( '^ [AZ] \\ [AZ] \\ % w + $' ), товернуть ложьконецreturn '[http://www.encyclopediaofukraine.com/display.asp?linkpath=pages \\ ' .. id .. '' .. id .. ']' .. p . getCatForId ( 'IEU' )конецфункция p . isniLink ( идентификатор )id = p . validateIsni ( id ) - например, 0000-0000-6653-4145если не идентификатор, товернуть ложьконецreturn '[https://isni.org/isni/' .. id .. '' .. id : sub ( 1 , 4 ) .. '' .. id : sub ( 5 , 8 ) .. '' . . id : sub ( 9 , 12 ) .. '' .. id : sub ( 13 , 16 ) .. ']' .. p . getCatForId ( 'ISNI' ) - нет https по состоянию на 9/2019конецфункция p . jocondeLink ( id )Регулярное выражение формата --P347: [\ -0-9A-Za-z] {11} (например, 12345678901)локальное регулярное выражение = '^' .. string.rep ( '[% -0-9A-Za-z]' , 11 ) .. '$'если не id : match ( regex ), товернуть ложьконецreturn '[https://www.pop.culture.gouv.fr/notice/joconde/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'Joconde' )конецфункция p . kulturnavLink ( id )- Регулярное выражение формата P1248: [0-9a-f] {8} \ - [0-9a-f] {4} \ - [0-9a-f] {4} \ - [0-9a-f] { 4} \ - [0-9a-f] {12} (например, 12345678-1234-1234-1234-1234567890AB)если не id : match ( '^% x% x% x% x% x% x% x% x% -% x% x% x% x% -% x% x% x% x% -% x% x % x% x% -% x% x% x% x% x% x% x% x% x% x% x% x $ ' ) затемвернуть ложьконецreturn '[http://kulturnav.org/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'KULTURNAV' ) - нет https по состоянию на 9/2019конецфункция p . lccnLink ( идентификатор )местные части = п . splitLccn ( id ) - например, n78039510если не части, товернуть ложьконецlocal lccnType = parts [ 1 ] ~ = 'sh' и 'имена' или 'темы'id = parts [ 1 ] .. parts [ 2 ] .. p . добавить ( части [ 3 ], '0' , 6 )return '[https://id.loc.gov/authorities/' .. lccnType .. '/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'LCCN' )конецфункция p . lirLink ( идентификатор )- Регулярное выражение формата P886: \ d + (например, 1)если не id : match ( '^% d + $' ), товернуть ложьконецверните '[http://www.e-lir.ch/e-LIR___Lexicon.' .. id .. '.450.0.html' .. id .. ']' .. p . getCatForId ( 'LIR' ) - нет https по состоянию на 9/2019конецфункция p . lnbLink ( идентификатор )- Регулярное выражение формата P1368: \ d {9} (например, 123456789)если не id : match ( '^% d% d% d% d% d% d% d% d% d $' ), товернуть ложьконецreturn '[https://kopkatalogs.lv/F?func=direct&local_base=lnc10&doc_number=' .. id .. '& P_CON_LNG = ENG' .. id .. ']' .. стр . getCatForId ( 'LNB' )конецфункция p . leonoreLink ( id )- Регулярное выражение формата P640: LH / \ d {1,4} / \ d {1,3} | 19800035 / \ d {1,4} / \ d {1,5} (Bis)? | C / 0 / \ d {1,2} (например, LH / 2064/18)если не id : match ( '^ LH /% d% d?% d?% d? /% d% d?% d? $' ) и --ID от LH / 1/1 до LH / 2794/54 ( легионеры) not id : match ( '^ 19800035 /% d% d?% d?% d? /% d% d?% d?% d?% d? $' ) и --ID от 19800035/1/1 до 19800035 / 385/51670 (легионеры, умершие в 1954-1977 гг. И некоторые умершие <1954 г.) not id : match ( '^ C / 0 /% d% d? $' ) затем --ID от C / 0/1 до C / 0/84 (84 известных легионера)вернуть ложьконецreturn '[http://www.culture.gouv.fr/public/mistral/leonore_fr?ACTION=CHERCHER&FIELD_1=COTE&VALUE_1=' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'Léonore' ) - нет https по состоянию на 9/2019конецфункция p . maLink ( id )- Регулярное выражение формата P6366: [1-9] \ d {4,9} (например, 1498221862)если не id : match ( '^ [1-9]% d% d% d% d% d?% d?% d?% d?% d? $' ), товернуть ложьконецreturn '[https://academic.microsoft.com/v2/detail/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'MA' )конецфункция p . mbaLink ( идентификатор )- Регулярное выражение формата P434: [0-9a-f] {8} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {12} (например, 12345678-1234-1234-1234-1234567890AB)если не id : match ( '^% x% x% x% x% x% x% x% x% -% x% x% x% x% -% x% x% x% x% -% x% x % x% x% -% x% x% x% x% x% x% x% x% x% x% x% x $ ' ) затемвернуть ложьконецreturn '[https://musicbrainz.org/artist/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'MusicBrainz' ) - название специальной категорииконецфункция p . mbareaLink ( идентификатор )- Регулярное выражение формата P982: [0-9a-f] {8} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {12} (например, 12345678-1234-1234-1234-1234567890AB)если не id : match ( '^% x% x% x% x% x% x% x% x% -% x% x% x% x% -% x% x% x% x% -% x% x % x% x% -% x% x% x% x% x% x% x% x% x% x% x% x $ ' ) затемвернуть ложьконецreturn '[https://musicbrainz.org/area/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'MusicBrainz area' ) - название специальной категорииконецфункция p . mbiLink ( идентификатор )- Регулярное выражение формата P1330: [0-9a-f] {8} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {12} (например, 12345678-1234-1234-1234-1234567890AB)если не id : match ( '^% x% x% x% x% x% x% x% x% -% x% x% x% x% -% x% x% x% x% -% x% x % x% x% -% x% x% x% x% x% x% x% x% x% x% x% x $ ' ) затемвернуть ложьконецreturn '[https://musicbrainz.org/instrument/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'MusicBrainz instrument' ) - название специальной категорииконецфункция p . mblLink ( идентификатор )- Регулярное выражение формата P966: [0-9a-f] {8} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {12} (например, 12345678-1234-1234-1234-1234567890AB)если не id : match ( '^% x% x% x% x% x% x% x% x% -% x% x% x% x% -% x% x% x% x% -% x% x % x% x% -% x% x% x% x% x% x% x% x% x% x% x% x $ ' ) затемвернуть ложьконецreturn '[https://musicbrainz.org/label/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'MusicBrainz label' ) - название специальной категорииконецфункция p . mbpLink ( идентификатор )- Регулярное выражение формата P1004: [0-9a-f] {8} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {12} (например, 12345678-1234-1234-1234-1234567890AB)если не id : match ( '^% x% x% x% x% x% x% x% x% -% x% x% x% x% -% x% x% x% x% -% x% x % x% x% -% x% x% x% x% x% x% x% x% x% x% x% x $ ' ) затемвернуть ложьконецreturn '[https://musicbrainz.org/place/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'MusicBrainz place' ) - название специальной категорииконецфункция p . mbrgLink ( идентификатор )- Регулярное выражение формата P436: [0-9a-f] {8} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {12} (например, 12345678-1234-1234-1234-1234567890AB)если не id : match ( '^% x% x% x% x% x% x% x% x% -% x% x% x% x% -% x% x% x% x% -% x% x % x% x% -% x% x% x% x% x% x% x% x% x% x% x% x $ ' ) затемвернуть ложьконецreturn '[https://musicbrainz.org/release-group/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'MusicBrainz release group' ) - название специальной категорииконецфункция p . mbsLink ( идентификатор )- Регулярное выражение формата P1407: [0-9a-f] {8} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {12} (например, 12345678-1234-1234-1234-1234567890AB)если не id : match ( '^% x% x% x% x% x% x% x% x% -% x% x% x% x% -% x% x% x% x% -% x% x % x% x% -% x% x% x% x% x% x% x% x% x% x% x% x $ ' ) затемвернуть ложьконецreturn '[https://musicbrainz.org/series/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'MusicBrainz series' ) - название специальной категорииконецфункция p . mbwLink ( идентификатор )- Регулярное выражение формата P435: [0-9a-f] {8} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {12} (например, 12345678-1234-1234-1234-1234567890AB)если не id : match ( '^% x% x% x% x% x% x% x% x% -% x% x% x% x% -% x% x% x% x% -% x% x % x% x% -% x% x% x% x% x% x% x% x% x% x% x% x $ ' ) затемвернуть ложьконецreturn '[https://musicbrainz.org/work/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'MusicBrainz work' ) - название специальной категорииконецфункция p . mgpLink ( идентификатор )- Регулярное выражение формата P549: \ d {1,6} (например, 123456)если не id : match ( '^% d% d?% d?% d?% d?% d? $' ), товернуть ложьконецreturn '[https://genealogy.math.ndsu.nodak.edu/id.php?id=' .. id .. '' .. id .. ']' .. p . getCatForId ( 'MGP' )конецфункция p . naraLink ( идентификатор )- Регулярное выражение формата P1225: ^ ([1-9] \ d {0,8}) $ (например, 123456789)если не id : match ( '^ [1-9]% d?% d?% d?% d?% d?% d?% d?% d? $' ), товернуть ложьконецreturn '[https://catalog.archives.gov/id/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'НАРА' )конецфункция p . nclLink ( идентификатор )- Регулярное выражение формата P1048: \ d + (например, 1081436)если не id : match ( '^% d + $' ), товернуть ложьконецreturn '[http://aleweb.ncl.edu.tw/F/?func=accref&acc_sequence=' .. id .. '& CON_LNG = ENG' .. id .. ']' .. стр . getCatForId ( 'NCL' ) - нет https по состоянию на 9/2019конецфункция p . ndlLink ( идентификатор )- Регулярное выражение формата P349: 0? \ D {8} (например, 012345678)если не id : match ( '^ 0?% d% d% d% d% d% d% d% d $' ), товернуть ложьконецreturn '[https://id.ndl.go.jp/auth/ndlna/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'NDL' )конецфункция p . ngvLink ( идентификатор )- Регулярное выражение формата P2041: \ d + (например, 12354)если не id : match ( '^% d + $' ), товернуть ложьконецreturn '[https://www.ngv.vic.gov.au/explore/collection/artist/' .. id .. '/' .. id .. ']' .. p . getCatForId ( 'NGV' )конецфункция p . nkcLink ( идентификатор )- Регулярное выражение формата P691: [az] {2,4} [0-9] {2,14} (например, abcd12345678901234)если не id : match ( '^ [az] [az] [az]? [az]?% d% d% d?% d?% d?% d?% d?% d?% d?% d? % d?% d?% d?% d? $ ' ) тогдавернуть ложьконецreturn '[https://aleph.nkp.cz/F/?func=find-c&local_base=aut&ccl_term=ica=' .. id .. '& CON_LNG = ENG' .. id .. ']' .. стр . getCatForId ( 'NKC' )конецфункция p . nlaLink ( идентификатор )- Регулярное выражение формата P409: [1-9] [0-9] {0,11} (например, 123456789012)если не id : match ( '^ [1-9]% d?% d?% d?% d?% d?% d?% d?% d?% d?% d?% d? $' ), товернуть ложьконецreturn '[https://nla.gov.au/anbd.aut-an' .. id .. '' .. id .. ']' .. p . getCatForId ( 'NLA' )конецфункция p . nlgLink ( идентификатор )- Регулярное выражение формата P3348: [1-9] \ d * (например, 1)если не id : match ( '^ [1-9]% d * $' ), товернуть ложьконецreturn '[https://data.nlg.gr/resource/authority/record' .. id .. '' .. id .. ']' .. p . getCatForId ( 'NLG' )конецфункция p . nliLink ( идентификатор )- Регулярное выражение формата P949: \ d {9} (например, 123456789)если не id : match ( '^% d% d% d% d% d% d% d% d% d $' ), товернуть ложьконецreturn '[http://uli.nli.org.il/F/?func=direct&doc_number=' .. id .. '& local_base = nlx10' .. '' .. id .. ']' .. стр . getCatForId ( 'NLI' )конецфункция p . nlkLink ( идентификатор )- Регулярное выражение формата P5034: KA. (19 | 20). {7} (например, KAC201501465)если не id : match ( '^ KA.19 ....... $' ) и not id : match ( '^ KA.20 ....... $' ) тогдавернуть ложьконецreturn '[https://nl.go.kr/authorities/resource/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'NLK' )конецфункция p . nlpLink ( идентификатор )- Регулярное выражение формата P1695: 9810 [0-9] \ d * или A [0-9] {7} [0-9X] (например, 9810123456789012345 или A10414836)если не id : match ( '^ 9810% d + $' ) и not id : match ( '^ A% d% d% d% d% d% d% d [% dX] $' ), затемвернуть ложьконецreturn '[https://tools.wmflabs.org/wikidata-externalid-url?p=1695&id=' .. id .. '' .. id .. ']' .. p . getCatForId ( 'НЛП' )конецфункция p . nlrLink ( идентификатор )- Регулярное выражение формата P1003: \ d {9} (например, 123456789)если не id : match ( '^% d% d% d% d% d% d% d% d% d $' ), товернуть ложьконецreturn '[http://aleph.bibnat.ro:8991/F/?func=direct&local_base=NLR10&doc_number=' .. id .. ']' .. стр . getCatForId ( 'NLR' )конецфункция p . nskLink ( идентификатор )- Регулярное выражение формата P1375: \ d {9} (например, 123456789)если не id : match ( '^% d% d% d% d% d% d% d% d% d $' ), товернуть ложьконецreturn '[http://katalog.nsk.hr/F/?func=direct&doc_number=' .. id .. '& local_base = nsk10' .. id .. ']' .. стр . getCatForId ( 'NSK' ) - нет https по состоянию на 9/2019конецфункция p . ntaLink ( идентификатор )- Регулярное выражение формата P1006: \ d {8} [\ dX] (например, 12345678X)если не id : match ( '^% d% d% d% d% d% d% d% d [% dX] $' ), товернуть ложьконецreturn '[http://data.bibliotheken.nl/id/thes/p' .. id .. '' .. id .. ']' .. p . getCatForId ( 'NTA' )конецфункция p . orcidLink ( идентификатор )id = p . validateIsni ( id ) - например, 0000-0002-7398-5483если не идентификатор, товернуть ложьконецid = id : sub ( 1 , 4 ) .. '-' .. id : sub ( 5 , 8 ) .. '-' .. id : sub ( 9 , 12 ) .. '-' .. id : sub ( 13 , 16 )return '[https://orcid.org/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'ORCID' )конецфункция p . plwabnLink ( идентификатор )- Регулярное выражение формата P7293: 981 [0-9] {8} 05606 (например, 9810696457305606)если не id : match ( '^ 981% d% d% d% d% d% d% d% d05606 * $' ), товернуть ложьконецreturn '[http://mak.bn.org.pl/cgi-bin/KHW/makwww.exe?BM=1&NU=1&IM=4&WI=' .. id .. '' .. id .. ']' . . p . getCatForId ( 'PLWABN' )конецфункция p . publonsLink ( id )- Регулярное выражение формата P3829: \ d + (например, 654601)если не id : match ( '^% d + $' ), товернуть ложьконецreturn '[https://publons.com/author/' .. id .. '/' .. id .. ']' .. p . getCatForId ( 'Publons' )конецфункция p . picLink ( идентификатор )- Регулярное выражение формата P2750: [1-9] \ d * (например, 1)если не id : match ( '^ [1-9]% d * $' ), товернуть ложьконецreturn '[https://pic.nypl.org/constituents/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'ПОС' )конецфункция p . ridLink ( идентификатор )- Регулярное выражение формата P1053: [AZ] {1,3} - \ d {4} - (19 | 20) \ d \ d (например, AAS-5150-2020)если не id : match ( '^ [AZ] [AZ]? [AZ]?% -% d% d% d% d% -19% d% d $' ) и not id : match ( '^ [AZ] [AZ]? [AZ]?% -% d% d% d% d% -20% d% d $' ), затемвернуть ложьконецreturn '[https://www.researcherid.com/rid/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'RID' )конецфункция p . reroLink ( id )- Регулярное выражение формата P3065: 0 [1-2] - [A-Z0-9] {1,10} (например, 02-A012345678)if not id : match ( '^ 0 [1-2]% - [AZ% d] [AZ% d]? [AZ% d]? [AZ% d]? [AZ% d]? [AZ% d] ? [AZ% d]? [AZ% d]? [AZ% d]? [AZ% d]? $ ' ) Тогдавернуть ложьконецreturn '[http://data.rero.ch/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'RERO' )конецфункция p . rkdartistsLink ( идентификатор )- Регулярное выражение формата P650: [1-9] \ d {0,5} (например, 123456)если не id : match ( '^ [1-9]% d?% d?% d?% d?% d? $' ), товернуть ложьконецreturn '[https://rkd.nl/en/explore/artists/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'RKDartists' )конецфункция p . rkdidLink ( идентификатор )- Регулярное выражение формата P350: [1-9] \ d {0,5} (например, 123456)если не id : match ( '^ [1-9]% d?% d?% d?% d?% d? $' ), товернуть ложьконецreturn '[https://rkd.nl/nl/explore/images/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'RKDID' )конецфункция p . rslLink ( идентификатор )- Регулярное выражение формата P947: \ d {1,9} (например, 123456789)если не id : match ( '^% d% d?% d?% d?% d?% d?% d?% d?% d? $' ), товернуть ложьконецreturn '[http://aleph.rsl.ru/F?func=find-b&find_code=SYS&adjacent=Y&local_base=RSL11&request=' .. id .. '& CON_LNG = ENG' .. id .. ']' .. стр . getCatForId ( 'RSL' ) - нет https по состоянию на 9/2019конецфункция p . iccuLink ( идентификатор )- Регулярное выражение формата P396: IT \\ ICCU \\ (\ d {10} | \ D \ D [\ D \ d] \ D \\\ d {6}) (например, IT \ ICCU \ CFIV \ 000163)если не id : match ( '^ IT \\ ICCU \\ % d% d% d% d% d% d% d% d% d% d $' ) и not id : match ( '^ IT \\ ICCU \\ % u% u [% u% d]% u \\ % d% d% d% d% d% d $' ), затем --legacy:% u использовано здесь вместо% D (но неверный ID cat пуст, из ~ 12k использований)вернуть ложьконецreturn '[https://opac.sbn.it/opacsbn/opac/iccu/scheda_authority.jsp?bid=' .. id .. '' .. id .. ']' .. p . getCatForId ( 'ICCU' ) конецфункция p . selibrLink ( идентификатор )- Регулярное выражение формата P906: [1-9] \ d {4,5} (например, 123456)если не id : match ( '^ [1-9]% d% d% d% d% d? $' ), товернуть ложьконецreturn '[https://libris.kb.se/auth/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'SELIBR' )конецфункция p . sikartLink ( id )- Регулярное выражение формата P781: \ d {7,9} (например, 123456789)если не id : match ( '^% d% d% d% d% d% d% d% d?% d? $' ), товернуть ложьконецreturn '[http://www.sikart.ch/KuenstlerInnen.aspx?id=' .. id .. '& lng = en' .. id .. ']' .. p . getCatForId ( 'SIKART' ) - нет https по состоянию на 9/2019конецфункция p . snacLink ( идентификатор )Регулярное выражение формата --P3430: \ d * [A-Za-z] [0-9A-Za-z] * (например, A)если не id : match ( '^% d * [A-Za-z] [0-9A-Za-z] * $' ), товернуть ложьконецreturn '[https://snaccooperative.org/ark:/99166/' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'SNAC-ID' )конецфункция p . SudocLink ( идентификатор )- Регулярное выражение формата P269: (\ d {8} [\ dX] |) (например, 026927608)если не id : match ( '^% d% d% d% d% d% d% d% d [% dxX] $' ), то --legacy: разрешить строчную букву 'x'вернуть ложьконецreturn '[https://www.idref.fr/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'СУДОК' )конецфункция p . s2authoridLink ( идентификатор )- Регулярное выражение формата P4012: [1-9] \ d * (например, 1796130)если не id : match ( '^ [1-9]% d * $' ), товернуть ложьконецreturn '[https://www.semanticscholar.org/author/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'Semantic Scholar author' ) - название специальной категорииконецфункция p . ta98Link ( id )- Регулярное выражение формата P1323: A \ d {2} \. \ D \. \ D {2} \. \ D {3} [FM]? (например, A12.3.45.678)если не id : match ( '^ A% d% d%.% d%.% d% d%.% d% d% d [FM]? $' ), товернуть ложьконецreturn '[http://tools.wmflabs.org/wikidata-externalid-url/?p=1323&url_prefix=https:%2F%2Fwww.unifr.ch%2Fifaa%2FPublic%2FEntryPage%2FTA98%20Tree%2FEntity%20TA98%20EN % 2F & url_suffix =% 20Entity% 20TA98% 20EN.htm & id = ' .. id .. ' ' .. id .. '] ' .. p . getCatForId ( 'TA98' )конецфункция p . tdviaLink ( идентификатор )Регулярное выражение формата --P7314: [az / -] +] (например, barkan-omer-lutfi)если не id : match ( '^ [az / -] + $' ), товернуть ложьконецreturn '[https://islamansiklopedisi.org.tr/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'TDVİA' )конецфункция p . teLink ( идентификатор )- Регулярное выражение формата P1693: E [1-8] \. \ D {1,2} \. \ D {1,2} \. \ D {1,2} \. \ D {1} \. \ D {1} \. \ D {1,3} (например, E1.23.45.67.8.9.0)локальный e1 , e2 = id : match ( '^ E ([1-8])%. (% d% d?)%.% d% d?%.% d% d?%.% d%.% d %.% d% d?% d? $ ' )если не e1 товернуть ложьконецlocal TEnum = 'TEe0' .. e1 - нет URL-адреса форматирования в WD, вероятно, из-за этой сложностиесли e1 == '5' или e1 == '7', тоесли # e2 == 1, то e2 = '0' .. e2 endTEnum = TEnum .. e2конецreturn '[http://www.unifr.ch/ifaa/Public/EntryPage/ViewTE/' .. TEnum .. '.html' .. id .. ']' .. p . getCatForId ( 'TE' )конецфункция p . tepapaLink ( id )- Регулярное выражение формата P3544: \ d + (например, 1)если не id : match ( '^% d + $' ), товернуть ложьконецreturn '[https://collections.tepapa.govt.nz/agent/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'TePapa' )конецфункция p . thLink ( id )- Регулярное выражение формата P1694: H \ d \. \ D {2} \. \ D {2} \. \ D \. \ D {5} (например, H1.23.45.6.78901)local h1 , h2 = id : match ( '^ H (% d)%. (% d% d)%.% d% d%.% d%.% d% d% d% d% d $' )если не h1 товернуть ложьконецlocal THnum = 'THh' .. h1 .. h2 - нет URL-адреса форматирования в WD, вероятно, из-за этой сложностиreturn '[http://www.unifr.ch/ifaa/Public/EntryPage/ViewTH/' .. THnum .. '.html' .. id .. ']' .. p . getCatForId ( 'TH' )конецфункция p . tlsLink ( идентификатор )локальный идентификатор2 = идентификатор : gsub ( '+' , '_' )- Регулярное выражение формата P1362: \ p {Lu} [\ p {L} \ d _ ', \. \ - \ (\) \ * / -] {3,59} (например, Abcd)local class = "[% a% d _ ',%.% -% (%)% * / -]"local regex = "^% u" .. string.rep ( class , 3 ) .. string.rep ( class .. "?" , 56 ) .. "$"если не мв . ustring . match ( id2 , regex ), затемвернуть ложьконецreturn '[http://tls.theaterwissenschaft.ch/wiki/' .. id2 .. '' .. id .. ']' .. p . getCatForId ( 'TLS' ) - нет https по состоянию на 9/2019конецфункция p . TroveLink ( идентификатор )- Регулярное выражение формата P1315: [1-9] \ d {5,7} (например, 12345678)если не id : match ( '^ [1-9]% d% d% d% d% d% d?% d? $' ), товернуть ложьконецreturn '[https://trove.nla.gov.au/people/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'Trove' )конецфункция p . ukparlLink ( идентификатор )- Регулярное выражение формата P6213: [a-zA-Z \ d] {8} (например, AQUupyiR)если не id : match ( '^ [a-zA-Z% d] [a-zA-Z% d] [a-zA-Z% d] [a-zA-Z% d] [a-zA-Z % d] [a-zA-Z% d] [a-zA-Z% d] [a-zA-Z% d] $ ' ) тогдавернуть ложьконецreturn '[https://id.par Parliament.uk/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'UKPARL' )конецфункция p . ulanLink ( идентификатор )- Регулярное выражение формата P245: 500 \ d {6} (например, 500123456)если не id : match ( '^ 500% d% d% d% d% d% d $' ), товернуть ложьконецreturn '[https://www.getty.edu/vow/ULANFullDisplay?find=&role=&nation=&subjectid=' .. id .. '' .. id .. ']' .. стр . getCatForId ( 'ULAN' )конецфункция p . uscongressLink ( идентификатор )- Регулярное выражение формата P1157: [AZ] 00 [01] \ d {3} (например, A000123)если не id : match ( '^ [AZ] 00 [01]% d% d% d $' ), товернуть ложьконецreturn '[http://bioguide.congress.gov/scripts/biodisplay.pl?index=' .. id .. '' .. id .. ']' .. p . getCatForId ( 'USCongress' ) - нет https по состоянию на 9/2019конецфункция p . vcbaLink ( идентификатор )- Регулярное выражение формата P8034: \ d {3} \ / [1-9] \ d {0,5} (например, 494/9793)если не id : match ( '^% d% d% d \ / [1-9]% d?% d?% d?% d?% d? $' ), товернуть ложьконецлокальный идентификатор2 = идентификатор : gsub ( ' \ /' , '_' )return '[https://opac.vatlib.it/auth/detail/' .. id2 .. '' .. id .. ']' .. p . getCatForId ( 'VcBA' )конецфункция p . viafLink ( идентификатор )- Регулярное выражение формата P214: [1-9] \ d (\ d {0,7} | \ d {17,20}) (например, 123456789, 1234567890123456789012)если не id : match ( '^ [1-9]% d% d?% d?% d?% d?% d?% d?% d? $' ) и not id : match ( '^ [1-9]% d% d% d% d% d% d% d% d% d% d% d% d% d% d% d% d% d% d% d ?% d?% d? $ ' ) тогдавернуть ложьконец- Если запись «VIAF» на [[: m: Interwiki map]] будет преобразована в «https://viaf.org/viaf/$1» (вместо «http://viaf.org/viaf/$1» , как и сейчас), приведенный ниже код может измениться с '[https://viaf.org/viaf/'..id ..' '..id ..'] 'на' [[: VIAF: ' ..id .. '|' .. id .. ']]'.return '[https://viaf.org/viaf/' .. id .. '' .. id .. ']' .. p . getCatForId ( 'VIAF' )конец- [[=========================== Вспомогательные функции ================= ============]]функция p . добавить ( str , c , length )в то время как str : len () < длина делатьstr = c .. strконецreturn strконец- Возвращает контрольную цифру ISNI. Isni должна быть строкой, в которой первые 15 элементов являются цифрами, например 0000000066534145.функция p . getIsniCheckDigit ( исни )местный итог = 0для i = 1 , 15 сделатьlocal digit = isni : byte ( i ) - 48 - получить целочисленное значениеитого = ( итого + цифра ) * 2конецлокальный остаток = всего % 11локальный результат = ( 12 - остаток ) % 11если результат == 10, товернуть "X"конецвозврат в строку ( результат )конец--Проверить ISNI (и ORCID) и преобразовать его как строку из 16 символов или вернуть false, если он недействителен- См. Http://support.orcid.org/knowledgebase/articles/116780-structure-of-the-orcid-identifierфункция p . validateIsni ( идентификатор )--P213 (ISNI) регулярное выражение формата: [0-9] {4} [0-9] {4} [0-9] {4} [0-9] {3} [0-9X] (например, 0000- 0000-6653-4145)- Регулярное выражение формата P496 (ORCID): 0000-000 (1- [5-9] | 2- [0-9] | 3- [0-4]) \ d {3} - \ d {3} [\ dX] (например, 0000-0002-7398-5483)id = id : gsub ( '[% -]' , '' ): upper ()если не id : match ( '^% d% d% d% d% d% d% d% d% d% d% d% d% d% d% d [% dX] $' ), товернуть ложьконецесли п . getIsniCheckDigit ( id ) ~ = string.char ( id : byte ( 16 ) ), затемвернуть ложьконецвернуть идентификаторконецфункция p . splitLccn ( идентификатор )- Регулярное выражение формата P244: (n | nb | nr | no | ns | sh) ([4-9] [0-9] | 00 | 20 [0-1] [0-9]) [0-9] {6} (например, n78039510)если id : match ( '^% l% l?% l?% d% d% d% d% d% d% d% d% d?% d? $' ), тоid = id : gsub ( '^ (% l +) (% d +) (% d% d% d% d% d% d) $' , '% 1 /% 2 /% 3' )конецесли id : match ( '^% l% l?% l? /% d% d% d?% d? /% d + $' ), товернуть мв . текст . разделить ( идентификатор , '/' )конецвернуть ложьконец- [[============================================== ============================]]- [[Функции Викиданных и документации]]- [[============================================== ============================]]функция p . getIdsFromWikidata ( itemId , свойство )местные идентификаторы = {}локальные операторы = mw . викибаза . getBestStatements ( itemId , свойство )если утверждения, тоfor _ , оператор в ipairs ( операторы ) doесли заявление . mainsnak . DataValue затемtable.insert ( идентификаторы , утверждение . mainsnak . DataValue . значение )конецконецконецвернуть идентификаторыконецфункция p . matchWikidataRequirements ( itemId , reqs )для _ , группа в ipairs ( reqs ) делатьlocal property = 'P' .. group [ 1 ]местный qid = группа [ 2 ]локальные операторы = mw . викибаза . getBestStatements ( itemId , свойство )если утверждения, тоfor _ , оператор в ipairs ( операторы ) doесли заявление . mainsnak . DataValue затемесли заявление . mainsnak . значение данных . value [ 'numeric-id' ] == qid, затемвернуть истинуконец конец конец конец конецвернуть ложьконец- Создает удобочитаемую автономную версию p.conf, доступную для вики, и отслеживает категории с подсчетом страниц для использования в документации.функция p . docConfTable ( фрейм )local wikiTable = '{| class = "wikitable sortable" \ n ' .. '! rowspan = 2 | Параметр \ n ' .. '! rowspan = 2 | Ярлык \ n ' .. '! rowspan = 2; data-sort-type = число | Свойство Викиданных \ n ' .. '! colspan = 4 | Категории отслеживания и количество страниц \ n ' .. '| - \ n ' .. '! [[: Категория: статьи в Википедии с информацией о полномочиях | ' .. 'Статьи]] \ n ' .. '! [[: Категория: Пользовательские страницы с информацией для управления правами | ' .. 'Страницы пользователей]] \ n ' .. '! [[: Категория: Разные страницы с информацией о полномочиях | ' .. 'Разное. страницы]] \ n ' .. '! [[: Категория: статьи в Википедии с неверной информацией о полномочиях | ' .. 'Неверные идентификаторы]] \ n ' .. '| - \ n 'местные языки = мвт . getContentLanguage ()для _ , конф в паре ( стр . конф ) делатьлокальный параметр , ссылка , pid = conf [ 1 ], conf [ 2 ], conf [ 3 ]местная категория = конф . категория или параметрлокальные аргументы = { id = 'f' , pid }local wpl = frame : expandTemplate { title = 'Ссылка на свойство Викиданных' , args = args }- кошкиlocal articleCat = 'Статьи Википедии с идентификаторами' .. category .. 'local userCat = 'Страницы пользователей с идентификаторами' .. category .. 'local miscCat = 'Разные страницы с идентификаторами' .. category .. 'local faultyCat = 'Статьи Википедии с ошибочными' .. category .. 'идентификаторами'--счетовместный articleCount = языки : formatNum ( мвт . сайт . Статистика . PAGESINCATEGORY ( articleCat , 'страница' ) )local userCount = lang : formatNum ( mw . site . stats . pagesInCategory ( userCat , 'страницы' ) )local miscCount = lang : formatNum ( mw . site . stats . pagesInCategory ( miscCat , 'страницы' ) )local faultyCount = lang : formatNum ( mw . site . stats . pagesInCategory ( faultyCat , 'страницы' ) )--конкатwikiTable = wikiTable .. ' \ n ' ..'| - \ n ' ..'||' .. параметр ..'||' .. ссылка ..'|| data-sort-value =' .. pid .. '|' .. wpl ..'|| style = "text-align: right;" | [[: Категория:' .. articleCat .. '|' .. articleCount .. ']]' ..'|| style = "text-align: right;" | [[: Категория:' .. userCat .. '|' .. userCount .. ']]' ..'|| style = "text-align: right;" | [[: Категория:' .. miscCat .. '|' .. miscCount .. ']]' ..'|| style = "text-align: right;" | [[: Категория:' .. faultyCat .. '|' .. faultyCount .. ']]'конец- добавить производных кошек WorldCatlocal wcd = { 'WorldCat-LCCN' , 'WorldCat-VIAF' }для _ , ш в парах ( УБС ) делатьlocal articleCat = 'Статьи Википедии с идентификаторами' .. w .. 'местный articleCount = языки : formatNum ( мвт . сайт . Статистика . PAGESINCATEGORY ( articleCat , 'страница' ) )wikiTable = wikiTable .. ' \ n ' ..'| - \ n ' ..'||' .. '-' ..'||' .. w ..'|| значение-сортировки-данных =' .. ш .. '|' .. '-' ..'|| style = "text-align: right;" | [[: Категория:' .. articleCat .. '|' .. articleCount .. ']]' ..'|| style = "text-align: right;" | -' ..'|| style = "text-align: right;" | -' ..'|| style = "text-align: right;" | -'конецвернуть wikiTable .. ' \ n |}'конец- [[============================================== ============================]]- [[Конфигурация]]- [[============================================== ============================]]- Если для идентификатора существует конкретное «(идентификатор) перенаправление», выполните маршрутизацию через это конкретное перенаправление, а не связывайтесь напрямую с целевой страницей. Это уменьшает беспорядок в разделе «Какие ссылки здесь» и улучшает обратный поиск статей, в которых используется проявление этого конкретного идентификатора.- Убедитесь, что элемент Викиданных имеет это свойство -> значение, прежде чем добавлять егоместные запросы = {}- Формат параметра: {'имя параметра', 'метка', propertyId # в Викиданных, функция форматирования / проверки}стр . conf = {{ 'AAG' , '[[AAG (идентификатор) | AAG]]' , 3372 , стр . aagLink },{ 'ACM-DL' , '[[ACM DL (идентификатор) | ACM DL]]' , 864 , стр . acmLink },{ 'ADB' , '[[ADB (идентификатор) | ADB]]' , 1907 , стр . adbLink },{ 'AGSA' , '[[AGSA (идентификатор) | AGSA]]' , 6804 , стр . agsaLink },{ 'autores.uy' , '[[autores.uy (идентификатор) | autores.uy]]' , 2558 , стр . autoresuyLink },{ 'AWR' , '[[AWR (идентификатор) | AWR]]' , 4186 , стр . awrLink },{ 'BALaT' , '[[BALaT (идентификатор) | BALaT]]' , 3293 , стр . balatLink },{ 'BIBSYS' , '[[BIBSYS (идентификатор) | BIBSYS]]' , 1015 , стр . bibsysLink },{ 'Bildindex' , '[[Bildindex (идентификатор) | Bildindex]]' , 2092 , стр . bildLink },{ 'BNC' , '[[BNC (идентификатор) | BNC]]' , 1890 , стр . bncLink },{ 'BNE' , '[[BNE (идентификатор) | BNE]]' , 950 , стр . bneLink },{ 'BNF' , '[[BNF (идентификатор) | BNF]]' , 268 , с . bnfLink },{ 'Ботаник' , '[[Ботаник (идентификатор) | Ботаник]]' , 428 , стр . botanistLink },{ 'BPN' , '[[BPN (идентификатор) | BPN]]' , 651 , стр . bpnLink },{ 'CANTIC' , '[[CANTIC (идентификатор) | CANTIC]]' , 1273 , стр . canticLink },{ 'CINII' , '[[CiNii (идентификатор) | CiNii]]' , 271 , стр . ciniiLink },{ 'CWGC' , '[[CWGC (идентификатор) | CWGC]]' , 1908 , стр . cwgcLink },{ 'DAAO' , '[[DAAO (идентификатор) | DAAO]]' , 1707 , стр . daaoLink },{ 'DBLP' , '[[DBLP (идентификатор) | DBLP]]' , 2456 , стр . dblpLink },{ 'DIB' , '[[DIB (идентификатор) | DIB]]' , 6829 , стр . dibLink },{ 'DSI' , '[[DSI (идентификатор) | DSI]]' , 2349 , стр . dsiLink },{ 'FNZA' , '[[FNZA (идентификатор) | FNZA]]' , 6792 , стр . fnzaLink }, --wd{ 'GND' , '[[GND (идентификатор) | GND]]' , 227 , стр . gndLink },{ 'HDS' , '[[HDS (идентификатор) | HDS]]' , 902 , стр . hdsLink },{ 'ИААФ' , '[[ИААФ (идентификатор) | ИААФ]]' , 1146 , стр . iaafLink },{ 'ICCU' , '[[ICCU (идентификатор) | ICCU]]' , 396 , стр . iccuLink }, - ранее SBN{ 'ICIA' , '[[ICIA (идентификатор) | ICIA]]' , 1736 , стр . iciaLink },{ 'IEU' , '[[IEU (идентификатор) | IEU]]' , 9070 , стр . ieuLink },{ 'ISNI' , '[[ISNI (идентификатор) | ISNI]]' , 213 , с . isniLink },{ 'Joconde' , '[[Joconde (идентификатор) | Joconde]]' , 347 , стр . jocondeLink },{ 'KULTURNAV' , '[[KulturNav (идентификатор) | KulturNav]]' , 1248 , с . kulturnavLink },{ 'LCCN' , '[[LCCN (идентификатор) | LCCN]]' , 244 , стр . lccnLink },{ 'LIR' , '[[LIR (идентификатор) | LIR]]' , 886 , стр . lirLink },{ 'LNB' , '[[LNB (идентификатор) | LNB]]' , 1368 , стр . lnbLink },{ 'Léonore' , '[[Léonore (идентификатор) | Léonore]]' , 640 , p . leonoreLink },{ 'MA' , '[[MA (идентификатор) | MA]]' , 6366 , стр . maLink },{ 'MBA' , '[[MBA (идентификатор) | MBA]]' , 434 , стр . mbaLink , category = 'MusicBrainz' }, - название специальной категории{ 'MBAREA' , '[[MBAREA (идентификатор) | MBAREA]]' , 982 , стр . mbareaLink , category = 'MusicBrainz area' }, - название специальной категории{ 'MBI' , '[[MBI (идентификатор) | MBI]]' , 1330 , стр . mbiLink , category = 'MusicBrainz instrument' }, - название специальной категории{ 'MBL' , '[[MBL (идентификатор) | MBL]]' , 966 , стр . mblLink , category = 'MusicBrainz label' }, - название специальной категории{ 'MBP' , '[[MBP (идентификатор) | MBP]]' , 1004 , стр . mbpLink , category = 'MusicBrainz place' }, - название специальной категории{ 'MBRG' , '[[MBRG (идентификатор) | MBRG]]' , 436 , стр . mbrgLink , category = 'MusicBrainz release group' }, - название специальной категории{ 'MBS' , '[[MBS (идентификатор) | MBS]]' , 1407 , стр . mbsLink , category = 'MusicBrainz series' }, - название специальной категории{ 'MBW' , '[[MBW (идентификатор) | MBW]] работа' , 435 , с . mbwLink , category = 'MusicBrainz work' }, - название специальной категории{ 'MGP' , '[[MGP (идентификатор) | MGP]]' , 549 , стр . mgpLink },{ 'NARA' , '[[NARA (идентификатор) | NARA]]' , 1225 , стр . naraLink },{ 'NCL' , '[[NCL (идентификатор) | NBL]]' , 1048 , стр . nclLink },{ 'NDL' , '[[NDL (идентификатор) | NDL]]' , 349 , стр . ndlLink },{ 'NGV' , '[[NGV (идентификатор) | NGV]]' , 2041 , стр . ngvLink },{ 'NKC' , '[[NKC (идентификатор) | NKC]]' , 691 , стр . nkcLink },{ 'NLA' , '[[NLA (идентификатор) | NLA]]' , 409 , стр . nlaLink },{ 'NLG' , '[[NLG (идентификатор) | NLG]]' , 3348 , стр . nlgLink },{ 'NLI' , '[[NLI (идентификатор) | NLI]]' , 949 , стр . nliLink },{ 'NLK' , '[[NLK (идентификатор) | NLK]]' , 5034 , стр . nlkLink },{ 'НЛП' , '[[НЛП (идентификатор) | НЛП]]' , 1695 , стр . nlpLink },{ 'NLR' , '[[NLR (идентификатор) | NLR]]' , 1003 , стр . nlrLink },{ 'NSK' , '[[NSK (идентификатор) | NSK]]' , 1375 , стр . nskLink },{ 'NTA' , '[[NTA (идентификатор) | NTA]]' , 1006 , стр . ntaLink },{ 'ORCID' , '[[ORCID (идентификатор) | ORCID]]' , 496 , стр . orcidLink },{ 'PIC' , '[[PIC (идентификатор) | PIC]]' , 2750 , стр . picLink }, --wd{ 'PLWABN' , '[[PLWABN (идентификатор) | PLWABN]]' , 7293 , стр . plwabnLink },{ 'Publons' , '[[Publons (идентификатор) | Publons]]' , 3829 , стр . publonsLink },{ 'RID' , '[[RID (идентификатор) | ResearcherID]]' , 1053 , стр . ridLink },{ 'RERO' , '[[RERO (идентификатор) | RERO]]' , 3065 , стр . reroLink },{ 'RKDartists' , '[[RKDartists (идентификатор) | RKD]]' , 650 , с . rkdartistsLink },{ 'RKDID' , '[[RKDID (идентификатор) | RKDimages ID]]' , 350 , с . rkdidLink },{ 'RSL' , '[[RSL (идентификатор) | RSL]]' , 947 , стр . rslLink },{ 'SELIBR' , '[[SELIBR (идентификатор) | SELIBR]]' , 906 , стр . selibrLink },{ 'СИКАРТ' , '[[СИКАРТ (идентификатор) | СИКАРТ]]' , 781 , стр . sikartLink },{ 'SNAC-ID' , '[[SNAC-ID (идентификатор) | SNAC]]' , 3430 , стр . snacLink },{ 'SUDOC' , '[[SUDOC (идентификатор) | SUDOC]]' , 269 , стр . sudocLink },{ 'S2AuthorId' , '[[S2AuthorId (идентификатор) | S2AuthorId]]' , 4012 , стр . s2authoridLink , category = 'Semantic Scholar author' }, --special category name{ 'TA98' , '[[TA98 (идентификатор) | TA98]]' , 1323 , стр . ta98Link },{ 'TDVİA' , '[[TDVİA (идентификатор) | TDVİA]]' , 7314 , стр . tdviaLink },{ 'TE' , '[[TE (идентификатор) | TE]]' , 1693 , стр . teLink },{ 'TePapa' , '[[TePapa (идентификатор) | TePapa]]' , 3544 , стр . tepapaLink },{ 'TH' , '[[TH (идентификатор) | TH]]' , 1694 , стр . thLink },{ 'TLS' , '[[TLS (идентификатор) | TLS]]' , 1362 , стр . tlsLink },{ 'Trove' , '[[Trove (идентификатор) | Trove]]' , 1315 , стр . troveLink }, - ранее NLA-person{ 'UKPARL' , '[[UKPARL (идентификатор) | UKPARL]]' , 6213 , стр . ukparlLink },{ 'ULAN' , '[[ULAN (идентификатор) | ULAN]]' , 245 , стр . ulanLink },{ 'Конгресс США' , '[[Конгресс США (идентификатор) | Конгресс США]]' , 1157 , стр . uscongressLink },{ 'VcBA' , '[[VcBA (идентификатор) | VcBA]]' , 8034 , стр . vcbaLink },{ 'VIAF' , '[[VIAF (идентификатор) | VIAF]]' , 214 , с . viafLink },{ 'WORLDCATID' , '[[WorldCat Identities (идентификатор) | WorldCat Identities]]' , 7859 , ноль },}- Допустимые псевдонимы для p.conf, для удобства- Формат: {'псевдоним', 'имя параметра в p.conf'}стр . aliases = {{ 'DNB' , 'GND' }, - Немецкая национальная библиотека -> Gemeinsame Normdatei{ «Леонора» , «Леонора» }, --alias имя без диакритики{ 'leonore' , 'Léonore' }, - вариант нижнего регистра без диакритических знаков{ 'MusicBrainz' , 'MBA' },{ 'MusicBrainz artist' , 'MBA' },{ 'MusicBrainz label' , 'MBL' },{ 'MusicBrainz release group' , 'MBRG' },{ 'MusicBrainz work' , 'MBW' },{ 'SBN' , 'ICCU' }, - псевдонимSBN будет исключен на более позднем этапе{ 'TDVIA' , 'TDVİA' }, - псевдоним без диакритических знаков{ 'tdvia' , 'TDVİA' }, --низкий вариант без диакритических знаков}- Устаревшие псевдонимы для p.conf; отслеживается в [[Категория: статьи Википедии с устаревшими идентификаторами контроля доступа]]- Формат: {'устаревшее имя параметра', 'замещающее имя параметра в p.conf'}стр . устаревший = {{ 'GKD' , 'GND' },{ 'PND' , 'GND' },{ 'RLS' , 'RSL' },{ 'SWD' , 'GND' },{ 'НАРА-организация' , 'НАРА' },{ 'НАРА-человек' , 'НАРА' },}- [[============================================== ============================]]--[[ Основной ]]- [[============================================== ============================]]функция p . AuthorityControl ( кадр )local resolveEntity = require ( "Модуль: ResolveEntityId" )локальный parentArgs = кадр : getParent (). args - идентификаторы WD, добавленные сюда позжеlocal iParentArgs = 0 - подсчитать исходные / ручные родительские аргументы только позжеlocal elements = {} - создать / вставить строки позжелокальный мирcatCat = ''локальный multipleIdCat = ''местный suppressedIdCat = ''local deprecatedIdCat = ''местные разныеOnWDCat = ''местный sameOnWDCat = ''--Переадресовать псевдонимы на правильные имена параметровдля _ , в парах ( стр . псевдонимы ) делать локальный псевдоним , param = a [ 1 ], a [ 2 ]если ( parentArgs [ param ] == nil или parentArgs [ param ] == '' ) и parentArgs [ псевдоним ], тогдаparentArgs [ параметр ] = parentArgs [ псевдоним ]конецконец- Перенаправить устаревшие параметры на правильные имена параметров и назначить отслеживающую кошкудля _ , д в паре ( р . устаревший ) делатьлокальный dep , param = d [ 1 ], d [ 2 ]если ( parentArgs [ пары ] == ноль или parentArgs [ пары ] == '' ) и parentArgs [ DEP ] , тоparentArgs [ пары ] = parentArgs [ DEP ]если пространство имен == 0, тоdeprecatedIdCat = '[[Категория: статьи Википедии с устаревшими идентификаторами контроля доступа |' .. деп .. ']]'конецконецконец- Используйте параметр QID = только для целей тестирования / примераlocal itemId = нольесли пространство имен ~ = 0, тоlocal qid = parentArgs [ 'qid' ] или parentArgs [ 'QID' ]если qid, тоitemId = 'Q' .. mw . ustring . gsub ( qid , '^ [Qq]' , '' )itemId = resolveEntity . _id ( ItemId ) --nil , если неразрешимымиконецещеitemId = mw . викибаза . getEntityIdForCurrentPage ()конец- Резервный вариант Викиданных, если он доступенесли itemId, толокальные iMatches = 0для _ , параметры в ipairs ( стр . conf ) делаютесли params [ 3 ] > 0, тоlocal val = parentArgs [ mw . ustring . lower ( params [ 1 ])] или parentArgs [ params [ 1 ]]если val == nil или val == '' тоlocal canUseWikidata = nilесли reqs [ params [ 1 ]], то- поскольку reqs {} имеет значение nil afaicr, p.matchesWikidataRequirements никогда не будет вызываться--TODO: reqs {} не кажется полезным / необходимым; придаток ранней инкорпорации WD?canUseWikidata = p . matchWikidataRequirements ( itemId , reqs [ params [ 1 ]] )ещеcanUseWikidata = trueконецесли можно использовать Wikidata, тоlocal wikidataIds = p . getIdsFromWikidata ( itemId , 'P' .. params [ 3 ] )если wikidataIds [ 1 ], тоесли val == '' и ( пространство имен == 0 или тестовые наборы ), тоsuppressedIdCat = '[[Категория: статьи Википедии с подавленными идентификаторами контроля доступа |' .. params [ 1 ] .. ']]'ещеparentArgs [ params [ 1 ]] = wikidataIds [ 1 ] - добавить идентификатор из WDконецконецконецещеiParentArgs = iParentArgs + 1local wikidataIds = p . getIdsFromWikidata ( itemId , 'P' .. params [ 3 ] )если wikidataIds [ 1 ] и differentOnWDCat == '', толокальный bMatch = ложьдля _ , wd в парах ( wikidataIds ) делатьесли val == wd, тоiMatches = iMatches + 1bMatch = trueконецконецесли bMatch == false, тоdifferentOnWDCat = '[[Категория: страницы, использующие авторитетный контроль с параметрами, отличными от Викиданных |' .. params [ 1 ] .. ']]'конец конец конец конец конецесли iMatches > 0 и iMatches == iParentArgs, тогдаsameOnWDCat = '[[Категория: страницы, использующие авторитетный контроль со всеми параметрами, соответствующими Викиданным]]'конецконец- Настроенные строкиместный rct = 0для _ , параметры в ipairs ( стр . conf ) делаютlocal val = parentArgs [ mw . ustring . lower ( params [ 1 ])] или parentArgs [ params [ 1 ]]local tval , tlinks = {}, {} --init таблицыесли val и val ~ = '' и введите ( params [ 4 ]) == 'function', тогдаtable.insert ( tval , val )table.insert ( tlinks , params [ 4 ] ( val ) )конец- собрать другие уникальные валы (идентификаторы) от WD, если они естьесли itemId и tval [ 1 ], тоlocal wikidataIds = p . getIdsFromWikidata ( itemId , 'P' .. params [ 3 ] )для _ , v в пар ( wikidataIds ) делатьместный bnew = trueдля _ , ш в парах ( TVal ) делатьесли v == w, то bnew = false endконецесли bnew тоtable.insert ( tval , v )table.insert ( tlinks , params [ 4 ] ( v ) )конецконецконец- собратьесли tval [ 1 ], тоtable.insert ( elements , p . createRow ( params [ 1 ], params [ 2 ] .. ':' , tval , nil , tlinks , true , params . category ) )rct = rct + 1если tval [ 2 ], тоmultipleIdCat = p . getCatForId ( 'несколько' )конецконецконец--WorldCatlocal worldcatId = parentArgs [ 'worldcatid' ] или parentArgs [ 'WORLDCATID' ]if worldcatId и worldcatId ~ = '', то --if WORLDCATID присутствует и не подавленtable.insert ( elements , p . createRow ( 'WORLDCATID' , '' , worldcatId , '[[WorldCat Identities (идентификатор) | WorldCat Identities]]: [https://www.worldcat.org/identities/' .. mw . URI . закодировать ( worldcatId , 'PATH' ) .. '' .. worldcatId .. ']' , ноль , ложь ) ) --Validation?worldcatCat = p . getCatForId ( 'WORLDCATID' )elseif worldcatId == nil, затем --if WORLDCATID отсутствует, но не подавленlocal viafId = parentArgs [ 'viaf' ] или parentArgs [ 'VIAF' ]local lccnId = parentArgs [ 'lccn' ] или parentArgs [ 'LCCN' ]если viafId и viafId ~ = '' и p . viafLink ( viafId ), тогда --VIAF должен присутствовать, не подавляться и подтверждатьсяtable.insert ( elements , p . createRow ( 'VIAF' , '' , viafId , '[[WorldCat Identities (идентификатор) | WorldCat Identities]] (через VIAF): [https://www.worldcat.org/identities/ containsVIAFID / ' .. viafId .. ' ' .. viafId .. '] ' , nil , false ) )если пространство имен == 0, то worldcatCat = '[[Категория: статьи Википедии с идентификаторами WorldCat-VIAF]]'конецelseif lccnId и lccnId ~ = '' и p . lccnLink ( lccnId ), затем --LCCN должен присутствовать, не подавлен и подтвержденлокальный lccnParts = p . splitLccn ( lccnId )если lccnParts и lccnParts [ 1 ] ~ = 'sh', тоlocal lccnIdFmtd = lccnParts [ 1 ] .. lccnParts [ 2 ] .. '-' .. lccnParts [ 3 ]table.insert ( elements , p . createRow ( 'LCCN' , '' , lccnId , '[[WorldCat Identities (идентификатор) | WorldCat Identities]] (через LCCN): [https://www.worldcat.org/identities/ lccn- ' .. lccnIdFmtd .. ' ' .. lccnIdFmtd .. '] ' , nil , false ) )если пространство имен == 0, тоworldcatCat = '[[Категория: статьи Википедии с идентификаторами WorldCat-LCCN]]'конецконецконецelseif worldcatId == '' затем --if WORLDCATID подавленsuppressedIdCat = '[[Категория: статьи Википедии с подавленными идентификаторами контроля доступа | WORLDCATID]]'конецlocal Navbox = require ( 'Модуль: Navbox' )локальные элементыCat = ''если rct == 0 или rct > = 25, тоlocal eCat = 'AC с элементами' .. rct .. 'elementsCat = '[[Категория:' .. eCat .. ']]' .. стр . redCatLink ( eCat )конецлокальный outString = ''если # элементов > 0, тоlocal args = { pid = 'identifiers' } - #target список идентификаторовесли testcases и ItemId затем Args = { PID = 'идентификаторы' , QID = ItemId } конец --expensiveлокальный карандаш = frame : expandTemplate { title = 'EditAtWikidata' , args = args }outString = НавБокс . _navbox ( {name = 'Авторитетный контроль' ,navboxclass = 'авторитет-контроль' ,bodyclass = 'hlist' ,group1 = '[[Help: Авторитетный контроль | Авторитетный контроль]]' .. карандаш ,песни1 = table.concat ( элементы )} )конецlocal auxCats = worldcatCat .. elementsCat .. multipleIdCat .. suppressedIdCat .. deprecatedIdCat .. differentOnWDCat .. sameOnWDCatесли тесты, тоauxCats = мвт . ustring . gsub ( auxCats , '(% [% [) (Category)' , '% 1:% 2' ) - для упрощения проверкиконецoutString = outString .. auxCatsесли пространство имен ~ = 0, тоoutString = mw . ustring . gsub ( outString , '(% [% [) (Категория: статьи Википедии)' , '% 1:% 2' ) - по определениюконецвернуть outStringконецвернуть p