Модуль:WD/doc
Материал из ChronoWiki
Перейти к навигацииПерейти к поискуЭто страница документации Модуль:WD
Содержание
Назначение
В модуле собираются сервисные фукнции, связанные с чтением Викиданных.
Функции, доступные из вики-разметки
label()
Описание
- Возвращает метку свойства или элемента Викиданных на указанном языке. Если на указанном языке метки нет, возвращается метка на английском. Если нет метки и на английском, возвращается «нет метки» (константа MSG_NO_LABEL). Если указать несуществующее свойство или элемент Викиданных, будет сгенерирована ошибка Lua (см. константы ERRMSG_PROPERTY_NOT_FOUND, ERRMSG_ITEM_NOT_FOUND и ERRMSG_ENTITY_NOT_FOUND). Для элементов-перенаправлений возвращается метка элемента, на который оно указывает.
- Функция используется в шаблоне {{WD label}}.
Использование
- {{#invoke:WD|label|идентификатор|язык}}
Параметры:
- идентификатор — идентификатор свойства (Pxxx или pxxx) или элемента Викиданных (Qxxx или qxxx);
- язык — двухбуквенный код языка (ru, en, de и т. д.).
Примеры для свойств:
- {{#invoke:WD|label|P569|ru}} → Ошибка Lua в Модуль:WD на строке 300: свойство P569 не найдено.
- {{#invoke:WD|label|P569|en}} → Ошибка Lua в Модуль:WD на строке 300: свойство P569 не найдено.
- {{#invoke:WD|label|P569|de}} → Ошибка Lua в Модуль:WD на строке 300: свойство P569 не найдено.
- {{#invoke:WD|label|P569|la}} → Ошибка Lua в Модуль:WD на строке 300: свойство P569 не найдено.
- {{#invoke:WD|label|P97|ru}} → Ошибка Lua в Модуль:WD на строке 300: свойство P97 не найдено.
- {{#invoke:WD|label|P97|en}} → Ошибка Lua в Модуль:WD на строке 300: свойство P97 не найдено.
- {{#invoke:WD|label|P97|la}} (нет метки на латыни) → Ошибка Lua в Модуль:WD на строке 300: свойство P97 не найдено.
Примеры для элементов:
- {{#invoke:WD|label|Q2|ru}} → Ошибка Lua в Модуль:WD на строке 298: элемент Q2 не найден.
- {{#invoke:WD|label|Q2|en}} → Ошибка Lua в Модуль:WD на строке 298: элемент Q2 не найден.
- {{#invoke:WD|label|Q2|de}} → Ошибка Lua в Модуль:WD на строке 298: элемент Q2 не найден.
- {{#invoke:WD|label|Q2|la}} → Ошибка Lua в Модуль:WD на строке 298: элемент Q2 не найден.
- {{#invoke:WD|label|Q8258093|ru}} (перенаправление Q8258093 → Q6305566) → Ошибка Lua в Модуль:WD на строке 298: элемент Q8258093 не найден.
Примеры ошибок:
- {{#invoke:WD|label|P999999|ru}} (несуществующее свойство) → ошибка Lua «свойство P999999 не найдено»
- {{#invoke:WD|label|Q6|ru}} (несуществующий элемент) → ошибка Lua «элемент Q6 не найден»
- {{#invoke:WD|label|BOND007|ru}} (неверный идентификатор) → ошибка Lua «Введённый идентификатор не известен системе. Используйте один из действующих идентификаторов сущностей»
description()
Описание
- Возвращает описание свойства или элемента Викиданных на указанном языке. Если на указанном языке описания нет, возвращается описание на английском. Если нет описания и на английском, возвращается «нет описания» (константа MSG_NO_DESCRIPTION). Если указать несуществующее свойство или элемент Викиданных, будет сгенерирована ошибка Lua (см. константы ERRMSG_PROPERTY_NOT_FOUND, ERRMSG_ITEM_NOT_FOUND и ERRMSG_ENTITY_NOT_FOUND). Для элементов-перенаправлений возвращается описание элемента, на который оно указывает.
- Функция используется в шаблоне {{WD description}}.
Использование
- {{#invoke:WD|description|идентификатор|язык}}
Параметры:
- идентификатор — идентификатор свойства (Pxxx или pxxx) или элемента Викиданных (Qxxx или qxxx);
- язык — двухбуквенный код языка (ru, en, de и т. д.).
Примеры для свойств:
- {{#invoke:WD|description|P569|ru}} → Ошибка Lua в Модуль:WD на строке 316: свойство P569 не найдено.
- {{#invoke:WD|description|P569|en}} → Ошибка Lua в Модуль:WD на строке 316: свойство P569 не найдено.
- {{#invoke:WD|description|P569|de}} → Ошибка Lua в Модуль:WD на строке 316: свойство P569 не найдено.
- {{#invoke:WD|description|P97|ru}} → Ошибка Lua в Модуль:WD на строке 316: свойство P97 не найдено.
- {{#invoke:WD|description|P97|en}} → Ошибка Lua в Модуль:WD на строке 316: свойство P97 не найдено.
- {{#invoke:WD|description|P97|la}} (нет описания на латыни) → Ошибка Lua в Модуль:WD на строке 316: свойство P97 не найдено.
Примеры для элементов:
- {{#invoke:WD|description|Q2|ru}} → Ошибка Lua в Модуль:WD на строке 314: элемент Q2 не найден.
- {{#invoke:WD|description|Q2|en}} → Ошибка Lua в Модуль:WD на строке 314: элемент Q2 не найден.
- {{#invoke:WD|description|Q2|de}} → Ошибка Lua в Модуль:WD на строке 314: элемент Q2 не найден.
- {{#invoke:WD|description|Q2|la}} (нет описания на латыни) → Ошибка Lua в Модуль:WD на строке 314: элемент Q2 не найден.
- {{#invoke:WD|description|Q8258093|ru}} (перенаправление Q8258093 → Q6305566) → Ошибка Lua в Модуль:WD на строке 314: элемент Q8258093 не найден.
Примеры ошибок:
- {{#invoke:WD|description|P999999|ru}} (несуществующее свойство) → ошибка Lua «свойство P999999 не найдено»
- {{#invoke:WD|description|Q6|ru}} (несуществующий элемент) → ошибка Lua «элемент Q6 не найден»
- {{#invoke:WD|description|BOND007|ru}} (неверный идентификатор) → ошибка Lua «Введённый идентификатор не известен системе. Используйте один из действующих идентификаторов сущностей»
datatype()
Описание
- Возвращает тип данных свойства Викиданных (одно из значений констант DT_xxx). Если свойство не найдено или функции передан идентификатор элемента, генерируется ошибка Lua (константа ERRMSG_PROPERTY_NOT_FOUND).
Использование
- {{#invoke:WD|datatype|идентификатор}}
Примеры:
- {{#invoke:WD|datatype|P31}} → Ошибка Lua в Модуль:WD на строке 328: свойство P31 не найдено.
- {{#invoke:WD|datatype|P1687}} → Ошибка Lua в Модуль:WD на строке 328: свойство P1687 не найдено.
- {{#invoke:WD|datatype|P304}} → Ошибка Lua в Модуль:WD на строке 328: свойство P304 не найдено.
- {{#invoke:WD|datatype|P1476}} → Ошибка Lua в Модуль:WD на строке 328: свойство P1476 не найдено.
- {{#invoke:WD|datatype|P18}} → Ошибка Lua в Модуль:WD на строке 328: свойство P18 не найдено.
- {{#invoke:WD|datatype|P854}} → Ошибка Lua в Модуль:WD на строке 328: свойство P854 не найдено.
- {{#invoke:WD|datatype|P569}} → Ошибка Lua в Модуль:WD на строке 328: свойство P569 не найдено.
- {{#invoke:WD|datatype|P625}} → Ошибка Lua в Модуль:WD на строке 328: свойство P625 не найдено.
- {{#invoke:WD|datatype|P2067}} → Ошибка Lua в Модуль:WD на строке 328: свойство P2067 не найдено.
Примеры ошибок:
- {{#invoke:WD|datatype|P999999}} (несуществующее свойство) → ошибка Lua «свойство P999999 не найдено»
- {{#invoke:WD|datatype|Q2}} (элемент) → ошибка Lua «свойство Q2 не найдено»
- {{#invoke:WD|datatype|BOND007}} (неверный идентификатор) → ошибка Lua «Введённый идентификатор не известен системе. Используйте один из действующих идентификаторов сущностей»
format_property()
Описание
- Для указанного свойства Викиданных возвращает ссылку на него в виде [[:d:Property:Pxxx|<метка> (Pxxx)]] с меткой на указанном языке. Если на указанном языке метки нет, используется метка на английском. Если нет метки и на английском, вместо неё используется «нет метки». Если свойство не найдено или функции передан идентификатор элемента, генерируется ошибка Lua (константа ERRMSG_PROPERTY_NOT_FOUND).
- Функция используется в шаблоне {{WD property}}
Использование
- {{#invoke:WD|format_property|идентификатор|язык}}
Параметры:
- идентификатор — идентификатор свойства Викиданных (Pxxx или pxxx);
- язык — двухбуквенный код языка (ru, en, de и т. д.).
Примеры:
- {{#invoke:WD|format_property|P569|ru}} → Ошибка Lua в Модуль:WD на строке 452: свойство P569 не найдено.
- {{#invoke:WD|format_property|P569|en}} → Ошибка Lua в Модуль:WD на строке 452: свойство P569 не найдено.
- {{#invoke:WD|format_property|P569|de}} → Ошибка Lua в Модуль:WD на строке 452: свойство P569 не найдено.
- {{#invoke:WD|format_property|P569|la}} → Ошибка Lua в Модуль:WD на строке 452: свойство P569 не найдено.
- {{#invoke:WD|format_property|P97|ru}} → Ошибка Lua в Модуль:WD на строке 452: свойство P97 не найдено.
- {{#invoke:WD|format_property|P97|en}} → Ошибка Lua в Модуль:WD на строке 452: свойство P97 не найдено.
- {{#invoke:WD|format_property|P97|la}} (нет метки на латыни) → Ошибка Lua в Модуль:WD на строке 452: свойство P97 не найдено.
Примеры ошибок:
- {{#invoke:WD|format_property|P999999|ru}} (несуществующее свойство) → ошибка Lua «свойство P999999 не найдено»
- {{#invoke:WD|format_property|Q2|ru}} (не свойство) → ошибка Lua «свойство Q2 не найдено»
- {{#invoke:WD|format_property|BOND007|ru}} (неверный идентификатор) → ошибка Lua «Введённый идентификатор не известен системе. Используйте один из действующих идентификаторов сущностей»
format_item()
Описание
- Для указанного элемента Викиданных возвращает ссылку на него в виде [[:d:Qxxx|<метка> (Qxxx)]] с меткой на указанном языке. Если на указанном языке метки нет, используется метка на английском. Если нет метки и на английском, вместо неё используется «нет метки». Если элемент не найден или функции передан идентификатор свойства, генерируется ошибка Lua (константа ERRMSG_ITEM_NOT_FOUND). Для элементов-перенаправлений возвращается ссылка метка и идентификатор на того элемента, на который оно указывает.
- Функция используется в шаблоне {{WD item}}.
Использование
- {{#invoke:WD|format_item|идентификатор|язык}}
Параметры:
- идентификатор — идентификатор элемента Викиданных (Qxxx или qxxx);
- язык — двухбуквенный код языка (ru, en, de и т. д.).
Примеры:
- {{#invoke:WD|format_item|Q2|ru}} → Ошибка Lua в Модуль:WD на строке 482: элемент Q2 не найден.
- {{#invoke:WD|format_item|Q2|en}} → Ошибка Lua в Модуль:WD на строке 482: элемент Q2 не найден.
- {{#invoke:WD|format_item|Q2|de}} → Ошибка Lua в Модуль:WD на строке 482: элемент Q2 не найден.
- {{#invoke:WD|format_item|Q2|la}} → Ошибка Lua в Модуль:WD на строке 482: элемент Q2 не найден.
- {{#invoke:WD|format_item|Q8258093|ru}} (перенаправление Q8258093 → Q6305566) → Ошибка Lua в Модуль:WD на строке 482: элемент Q8258093 не найден.
Примеры ошибок:
- {{#invoke:WD|format_item|Q6|ru}} (несуществующий элемент) → ошибка Lua «элемент Q6 не найден»
- {{#invoke:WD|format_item|P569|ru}} (не элемент) → ошибка Lua «элемент P569 не найден»
- {{#invoke:WD|format_item|BOND007|ru}} (неверный идентификатор) → ошибка Lua «Введённый идентификатор не известен системе. Используйте один из действующих идентификаторов сущностей»
dump_entity()
Описание
- Отладочная функция, позволяющая показать значение в формате JSON, возвращаемое функцией mw.wikibase.getEntityObject() для указанного элемента или свойства Викиданных.
Использование
- {{#invoke:WD|dump_entity|идентификатор}}
Параметр:
- идентификатор — идентификатор свойства (Pxxx или pxxx) или элемента Викиданных (Qxxx или qxxx).
Примеры (из-за объёмности вывода результат не показан, чтобы увидеть его, используйте Служебная:Песочница для шаблонов):
- {{#invoke:WD|dump_entity|P569}}
- {{#invoke:WD|dump_entity|Q2188189}}
dump_sitelinks()
Описание
- Отладочная функция, позволяющая показать ссылки в формате JSON для указанного элемента Викиданных.
Использование
- {{#invoke:WD|dump_sitelinks|идентификатор}}
Параметр:
- идентификатор — идентификатор элемента Викиданных (Qxxx или qxxx).
Пример:
Вызов | Результат |
---|---|
{{#invoke:WD|dump_sitelinks|Q15920521}} | Ошибка Lua в Модуль:WD на строке 552: bad argument #2 to 'format' (string expected, got nil). |
{{#invoke:WD|dump_sitelinks|Q4100335}} | Ошибка Lua в Модуль:WD на строке 552: bad argument #2 to 'format' (string expected, got nil). |
{{#invoke:WD|dump_sitelinks|Q644102}} | Ошибка Lua в Модуль:WD на строке 552: bad argument #2 to 'format' (string expected, got nil). |
dump_statements()
Описание
- Отладочная функция, позволяющая показать утверждения данного свойства в формате JSON для указанного элемента или свойства Викиданных.
Использование
- {{#invoke:WD|dump_statements|идентификатор|свойство}}
Параметры:
- идентификатор — идентификатор свойства (Pxxx или pxxx) или элемента Викиданных (Qxxx или qxxx);
- свойство — идентификатор свойства (Pxxx или pxxx), значение которого надо показать.
Примеры:
Вызов | Результат |
---|---|
{{#invoke:WD|dump_statements|Q359|P856}} | Ошибка Lua в Модуль:WD на строке 592: элемент Q359 не найден. |
{{#invoke:WD|dump_statements|P527|P1696}} | Ошибка Lua в Модуль:WD на строке 594: свойство P527 не найдено. |
{{#invoke:WD|dump_statements|Q15920521|P1476}} | Ошибка Lua в Модуль:WD на строке 592: элемент Q15920521 не найден. |
{{#invoke:WD|dump_statements|Q4100335|P570}} | Ошибка Lua в Модуль:WD на строке 592: элемент Q4100335 не найден. |
Функции, доступные из других модулей
is_property()
…
is_item()
…
is_statement()
…
get_statement_value()
…
get_item_id()
…
get_item_qid()
…
has_valid_item_value()
…
get_label()
…
get_description()
…
get_sitelink()
…
get_sitelink_by_lang()
…
table_to_string()
…