Модуль: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}}
{{#invoke:WD|dump_sitelinks|Q644102}}

dump_statements()

Описание

Отладочная функция, позволяющая показать утверждения данного свойства в формате JSON для указанного элемента или свойства Викиданных.

Использование

{{#invoke:WD|dump_statements|идентификатор|свойство}}

Параметры:

  • идентификатор — идентификатор свойства (Pxxx или pxxx) или элемента Викиданных (Qxxx или qxxx);
  • свойство — идентификатор свойства (Pxxx или pxxx), значение которого надо показать.

Примеры:

Вызов Результат
{{#invoke:WD|dump_statements|Q359|P856}}
{{#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}}

Функции, доступные из других модулей

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()