Модуль:WD/doc

< Модуль:WD
Версия от 12:03, 7 февраля 2022; Adam (обсуждение | вклад) (Новая страница: «== Назначение == В модуле собираются сервисные фукнции, связанные с чтением Тептар данных. <!-- Используется в шаблонах {{tl|WD item}}, {{tl|WD property}}, {{tl|WD label}} и {{tl|WD description}}. --> == Функции, доступные из Тептар-разметки == === label() === Описание : Возвращает метку свойства ил...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Это страница документации Модуль: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}} →
  • {{#invoke:WD|format_property|P569|en}} →
  • {{#invoke:WD|format_property|P569|de}} →
  • {{#invoke:WD|format_property|P569|la}} →
  • {{#invoke:WD|format_property|P97|ru}} →
  • {{#invoke:WD|format_property|P97|en}} →
  • {{#invoke:WD|format_property|P97|la}} (нет метки на латыни) →

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

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