Модуль:WD/doc

Материал из Народные Сказки
Версия от 16:32, 12 февраля 2024; ru>Andras
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Это страница документации Модуль: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 на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|P569|en}} → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|P569|de}} → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|P569|la}} → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|P97|ru}} → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|P97|en}} → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|P97|la}} (нет метки на латыни) → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).

Примеры для элементов:

  • {{#invoke:WD|label|Q2|ru}} → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|Q2|en}} → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|Q2|de}} → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|Q2|la}} → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|label|Q8258093|ru}} (перенаправление Q8258093 → Q6305566) → Ошибка Lua в Модуль:WD на строке 295: attempt to index field 'wikibase' (a nil value).

Примеры ошибок:

  • {{#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 на строке 311: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|description|P569|en}} → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|description|P569|de}} → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|description|P97|ru}} → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|description|P97|en}} → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|description|P97|la}} (нет описания на латыни) → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).

Примеры для элементов:

  • {{#invoke:WD|description|Q2|ru}} → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|description|Q2|en}} → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|description|Q2|de}} → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|description|Q2|la}} (нет описания на латыни) → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|description|Q8258093|ru}} (перенаправление Q8258093 → Q6305566) → Ошибка Lua в Модуль:WD на строке 311: attempt to index field 'wikibase' (a nil value).

Примеры ошибок:

  • {{#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 на строке 326: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|datatype|P1687}} → Ошибка Lua в Модуль:WD на строке 326: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|datatype|P304}} → Ошибка Lua в Модуль:WD на строке 326: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|datatype|P1476}} → Ошибка Lua в Модуль:WD на строке 326: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|datatype|P18}} → Ошибка Lua в Модуль:WD на строке 326: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|datatype|P854}} → Ошибка Lua в Модуль:WD на строке 326: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|datatype|P569}} → Ошибка Lua в Модуль:WD на строке 326: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|datatype|P625}} → Ошибка Lua в Модуль:WD на строке 326: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|datatype|P2067}} → Ошибка Lua в Модуль:WD на строке 326: attempt to index field 'wikibase' (a nil value).

Примеры ошибок:

  • {{#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 на строке 450: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_property|P569|en}} → Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_property|P569|de}} → Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_property|P569|la}} → Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_property|P97|ru}} → Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_property|P97|en}} → Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_property|P97|la}} (нет метки на латыни) → Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).

Примеры ошибок:

  • {{#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 на строке 480: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_item|Q2|en}} → Ошибка Lua в Модуль:WD на строке 480: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_item|Q2|de}} → Ошибка Lua в Модуль:WD на строке 480: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_item|Q2|la}} → Ошибка Lua в Модуль:WD на строке 480: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WD|format_item|Q8258093|ru}} (перенаправление Q8258093 → Q6305566) → Ошибка Lua в Модуль:WD на строке 480: attempt to index field 'wikibase' (a nil value).

Примеры ошибок:

  • {{#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.getEntity() для указанного элемента или свойства Викиданных.
Использование
{{#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 на строке 550: attempt to index field 'wikibase' (a nil value).
{{#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 на строке 589: attempt to index field 'wikibase' (a nil value).
{{#invoke:WD|dump_statements|Q15920521|P1476}} Ошибка Lua в Модуль:WD на строке 589: attempt to index field 'wikibase' (a nil value).
{{#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()