Модуль:WD/doc: различия между версиями

Материал из Народные Сказки
мНет описания правки
 
м (1 версия импортирована)
 
(нет различий)

Текущая версия от 13:26, 1 мая 2024

Назначение[править код]

В модуле собираются сервисные фукнции, связанные с чтением Викиданных.

Функции, доступные из вики-разметки[править код]

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()[править код]