<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWDBase%2Fdoc</id>
	<title>Модуль:WDBase/doc - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWDBase%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/doc&amp;action=history"/>
	<updated>2026-04-21T01:10:00Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/doc&amp;diff=238771&amp;oldid=prev</id>
		<title>Karaby: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/doc&amp;diff=238771&amp;oldid=prev"/>
		<updated>2025-07-27T15:38:25Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 15:38, 27 июля 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki:diff:1.41:old-238770:rev-238771 --&gt;
&lt;/table&gt;</summary>
		<author><name>Karaby</name></author>
	</entry>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/doc&amp;diff=238770&amp;oldid=prev</id>
		<title>Буквица&gt;D6194c-1cc: /* План разработки */ Реализовано</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/doc&amp;diff=238770&amp;oldid=prev"/>
		<updated>2023-07-29T11:23:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;План разработки: &lt;/span&gt; Реализовано&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Модуль-библиотека с базовыми функциями для работы с Викиданными. Содержит функции для получения утверждений, фильтрации, получения значений утверждений, приведения утверждений к текстовому виду.&lt;br /&gt;
&lt;br /&gt;
Модуль используется другим, более высокоуровневым модулем-библиотекой [[Модуль:WDCommon]]. на модуле WDBase основаны модули [[Модуль:WDBackend]] и [[Модуль:WDFormat]].&lt;br /&gt;
&lt;br /&gt;
== Функции ==&lt;br /&gt;
В функциях используются понятия &amp;#039;&amp;#039;&amp;#039;значения&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;value&amp;#039;&amp;#039;) и &amp;#039;&amp;#039;&amp;#039;текстового&amp;#039;&amp;#039;&amp;#039; представления (&amp;#039;&amp;#039;text&amp;#039;&amp;#039;). Значение может быть текстом, таблицей с датой или идентификатором элемента Викиданных. Текстовое представление предполагает преобразование значения в текстовый вид, которы уже можно использовать для отображения.&lt;br /&gt;
&lt;br /&gt;
Получаемые из Викиданных данные представлены в специальном сериализованном формате. В этом формате есть понятия &amp;#039;&amp;#039;&amp;#039;утверждения&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;statement&amp;#039;&amp;#039;) и &amp;#039;&amp;#039;&amp;#039;снека&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;snak&amp;#039;&amp;#039;). Утверждения — это значения для заданного свойства с дополнительными уточняющими данными и источниками. Снеки — часть утверждений, у которых есть только значение. Каждое утверждение может иметь в себе основной снек и квалификаторы. Данные в квалификаторах представлены только лишь снеками.&lt;br /&gt;
&lt;br /&gt;
Работа с элементом Викиданных:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;statements&amp;#039;&amp;#039;&amp;#039; — получить массив утверждений для указанного свойства.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;statementsByProperties&amp;#039;&amp;#039;&amp;#039; — получить массив утверждений для указанных свойств, скомбинировав их (учитываются порядковые номера, указанные через квалификаторы).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; — получить значение свойства элемента Викиданных (берётся первое утверждение).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039; — получить текстовое представление свойства элемента Викиданных (берётся первое утверждение).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;wikilink&amp;#039;&amp;#039;&amp;#039; — получить викиссылку на статью по элементу Викиданных.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;resolveParent&amp;#039;&amp;#039;&amp;#039; — получить основной элемент Викиданных (издание, на котором основано текущее издание).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;instanceOf&amp;#039;&amp;#039;&amp;#039; — проверить является ли элемент Викиданных частным случаем одной из указанных сущностей.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;valueByQualifier&amp;#039;&amp;#039;&amp;#039; — получить значение утверждения, которому соответствует квалификатор с указанным свойством и значением.&lt;br /&gt;
&lt;br /&gt;
Работа с утверждениями:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;valueByStatement&amp;#039;&amp;#039;&amp;#039; — получить значение из утверждения.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;textByStatement&amp;#039;&amp;#039;&amp;#039; — привести утверждение к текстовому виду.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;dataByStatement&amp;#039;&amp;#039;&amp;#039; — получить таблицу с данными в удобном для использования формате из утверждения.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;statementQualifier&amp;#039;&amp;#039;&amp;#039; — получить снек квалификатора по идентификатору свойства.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;tryFilterStatementsByLang&amp;#039;&amp;#039;&amp;#039; — попытаться отфильтровать утверждения по языку. Если заданного языка не найдено, возвращает все утверждения. Если передан аргумент &amp;#039;&amp;#039;forceLang&amp;#039;&amp;#039;, то не возвращает утверждений, если по указанному языку они не найдены.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;filterStatementsByUnit&amp;#039;&amp;#039;&amp;#039; — отфильтровать утверждения по QID единицы измерения.&lt;br /&gt;
&lt;br /&gt;
Работа со снеками:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;valueBySnak&amp;#039;&amp;#039;&amp;#039; — получить значение из снека.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;dataBySnak&amp;#039;&amp;#039;&amp;#039; — получить таблицу с данными в удобном для использования формате из снека.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;tryFilterSnaksByLang&amp;#039;&amp;#039;&amp;#039; — попытаться отфильтровать снеки по языку. Если заданного языка не найдено, возвращает все снеки.&lt;br /&gt;
&lt;br /&gt;
Работа с типами:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;dateFromDatavalue&amp;#039;&amp;#039;&amp;#039; — получить таблицу с распарсенной датой из данных снека.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;dateToStr&amp;#039;&amp;#039;&amp;#039; — преобразовать таблицу с датой в строку.&lt;br /&gt;
&lt;br /&gt;
== Внесение изменений ==&lt;br /&gt;
При исправлении ошибки, пожалуйста, сначала добавьте &amp;#039;&amp;#039;&amp;#039;тест&amp;#039;&amp;#039;&amp;#039;, который будет проваливаться из-за обнаруженной &amp;#039;&amp;#039;&amp;#039;ошибки&amp;#039;&amp;#039;&amp;#039;, и только затем вносите исправление. При внесении исправления проверьте, чтобы все тесты проходили. Вносить исправление можно только, если оно не ломает другие тесты.&lt;br /&gt;
&lt;br /&gt;
Добавление нового функционала рекомендуется делать у себя в &amp;#039;&amp;#039;&amp;#039;песочнице&amp;#039;&amp;#039;&amp;#039;, скопировав в неё модуль. В правке копирования необходимо указать тот факт, что делается копирование, и сделать ссылку на оригинальный модуль в виде викитекста. При добавлении нового функционала сначала желательно добавить тест на этот функционал, затем добавить сам функционал, убедившись, что все тесты при этом проходят.&lt;br /&gt;
&lt;br /&gt;
== Тесты ==&lt;br /&gt;
{{См. также|{{replace|{{FULLPAGENAME}}|/doc|}}/testcases}}&lt;br /&gt;
{{#invoke:{{replace|{{PAGENAME}}|/doc|}}/testcases|run|displayMode=table}}&lt;br /&gt;
&lt;br /&gt;
== План разработки ==&lt;br /&gt;
{{To-do&lt;br /&gt;
| содержание =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Категория:Модули:Викиданные]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Буквица&gt;D6194c-1cc</name></author>
	</entry>
</feed>