Это страница документации Модуль:WD.

Назначение

править

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

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

править

Описание

Возвращает метку свойства или элемента Викиданных на указанном языке. Если на указанном языке метки нет, возвращается метка на английском. Если нет метки и на английском, возвращается «нет метки» (константа 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}} → дата рождения
  • {{#invoke:WD|label|P569|en}} → date of birth
  • {{#invoke:WD|label|P569|de}} → Geburtsdatum
  • {{#invoke:WD|label|P569|la}} → dies natalis
  • {{#invoke:WD|label|P97|ru}} → титул
  • {{#invoke:WD|label|P97|en}} → noble title
  • {{#invoke:WD|label|P97|la}} (нет метки на латыни) → noble title

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

  • {{#invoke:WD|label|Q2|ru}} → Земля
  • {{#invoke:WD|label|Q2|en}} → Earth
  • {{#invoke:WD|label|Q2|de}} → Erde
  • {{#invoke:WD|label|Q2|la}} → Tellus
  • {{#invoke:WD|label|Q8258093|ru}} (перенаправление Q8258093 → Q6305566) → Category:Aquitani

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

  • {{#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}} → день, месяц, год, в который субъект был рождён
  • {{#invoke:WD|description|P569|en}} → date on which the subject was born
  • {{#invoke:WD|description|P569|de}} → Datum, an dem eine Person geboren wurde
  • {{#invoke:WD|description|P97|ru}} → дворянский титул персоны
  • {{#invoke:WD|description|P97|en}} → titles held by the person
  • {{#invoke:WD|description|P97|la}} (нет описания на латыни) → titles held by the person

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

  • {{#invoke:WD|description|Q2|ru}} → третья от Солнца планета о солнечное системе
  • {{#invoke:WD|description|Q2|en}} → third planet from the Sun in the Solar System
  • {{#invoke:WD|description|Q2|de}} → dritter Planet von der Sonne aus im Sonnensystem
  • {{#invoke:WD|description|Q2|la}} (нет описания на латыни) → tertius planeta a Sole in systemate solari
  • {{#invoke:WD|description|Q8258093|ru}} (перенаправление Q8258093 → Q6305566) → категория в проекте Викимедиа

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

  • {{#invoke:WD|description|P999999|ru}} (несуществующее свойство) → ошибка Lua «свойство P999999 не найдено»
  • {{#invoke:WD|description|Q6|ru}} (несуществующий элемент) → ошибка Lua «элемент Q6 не найден»
  • {{#invoke:WD|description|BOND007|ru}} (неверный идентификатор) → ошибка Lua «Введённый идентификатор не известен системе. Используйте один из действующих идентификаторов сущностей»

Описание

Возвращает тип данных свойства Викиданных (одно из значений констант DT_xxx). Если свойство не найдено или функции передан идентификатор элемента, генерируется ошибка Lua (константа ERRMSG_PROPERTY_NOT_FOUND).

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

{{#invoke:WD|datatype|идентификатор}}

Примеры:

  • {{#invoke:WD|datatype|P31}} → wikibase-item
  • {{#invoke:WD|datatype|P1687}} → wikibase-property
  • {{#invoke:WD|datatype|P304}} → string
  • {{#invoke:WD|datatype|P1476}} → monolingualtext
  • {{#invoke:WD|datatype|P18}} → commonsMedia
  • {{#invoke:WD|datatype|P854}} → url
  • {{#invoke:WD|datatype|P569}} → time
  • {{#invoke:WD|datatype|P625}} → globe-coordinate
  • {{#invoke:WD|datatype|P2067}} → quantity

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

  • {{#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|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|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}} {
"ruwikisource": {
  "site": "ruwikisource",
  "title": "Ночные мысли (Гейне; Михайлов)",
  "badges": {    }
  }
}
{{#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}} {
1: {
  "mainsnak": {
    "snaktype": "value",
    "property": "P1696",
    "datavalue": {
      "value": {
        "id": "P361",
        "numeric-id": 361,
        "entity-type": "property"
        },
      "type": "wikibase-entityid"
      },
    "datatype": "wikibase-property"
    },
  "type": "statement",
  "id": "P527$a8ab8c55-4864-573a-67d0-613917797d1d",
  "rank": "normal"
  }
}
{{#invoke:WD|dump_statements|Q15920521|P1476}} {
1: {
  "mainsnak": {
    "snaktype": "value",
    "property": "P1476",
    "datavalue": {
      "value": {
        "language": "ru",
        "text": "Ночные мысли"
        },
      "type": "monolingualtext"
      },
    "datatype": "monolingualtext"
    },
  "type": "statement",
  "id": "Q15920521$f7c04336-4b68-8307-c98c-569412466eaa",
  "rank": "normal"
  }
}
{{#invoke:WD|dump_statements|Q4100335|P570}}

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

править

is_property()

править

is_statement()

править

get_statement_value()

править

get_item_id()

править

get_item_qid()

править

has_valid_item_value()

править

get_label()

править

get_description()

править

get_sitelink()

править

править

table_to_string()

править