Перейти к содержанию

Модуль:WD/doc

Материал из Викиучебника — открытых книг для открытого мира

Это страница документации Модуль: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 «Введённый идентификатор не известен системе. Используйте один из действующих идентификаторов сущностей»

datatype()

[править]

Описание

Возвращает тип данных свойства Викиданных (одно из значений констант 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_item()

[править]

is_statement()

[править]

get_statement_value()

[править]

get_item_id()

[править]

get_item_qid()

[править]

has_valid_item_value()

[править]

get_label()

[править]

get_description()

[править]

get_sitelink()

[править]

[править]

table_to_string()

[править]