Модуль:Wikibase

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку


Модуль:Wikibase (обг. · [ред.] · історія · посилання · документація · підсторінки · тести – результати)


Документація — на ru:Модуль:Wikibase

Функції[ред. код]

function M.id(f)
  • без параметрів — повертає id елемента поточної сторінки на Вікіданих або порожній рядок на сторінці без Елемента Вікіданих
  • задано параметр |1= — дістає id значення вказаної в ньому Властивості
    • |2= - роздільник, якщо значень кілька ("; " за замовчуванням)
    • |n= — позиція, порядковий номер значення із таблиці значень
    • |3= - формат для строкової властивості, за замовчуванням "%s"
поточна сторінка: Q8565357 Властивість P31 (для поточної сторінки): Q15184295
function M.label(f)

--Мітка (label) елемента Вікіданих у 1-му параметрі

поточна сторінка: Модуль:Wikibase для Q5: людина: людина
function M.labelq(f) для q5 дасть наступне: людина (q5)
function M.labelp(f) для p31 дасть наступне: є одним із (p31)
function M.iwiki(f)

-- Інтервікі для вказаної мови (лише з ВД)

поточна (de): Помилка Lua у Модуль:Uses_Wikidata/пісочниця у рядку 115: attempt to index field '?' (a nil value). todo -- для qid : Помилка Lua у Модуль:Uses_Wikidata/пісочниця у рядку 115: attempt to index field '?' (a nil value).
function M.iwikiall(f)

-- Усі посилання, прив'язані до елементу на ВД, у т.ч. Вікігід та Сховище

поточна: для Q5:
function M.page(f)

-- сторінка Укрвікі для даного елемента

для Q5: Людина
function M.wdprops(f)

-- список усіх властивостей із ВД у вигляді, придатному для читання людиною

є підкласом класу
є одним із модуль проекту Вікімедіа*
не плутати із Template:WikiBaseball*
основна тема елемент Wikibase*
Wikibase*
є підкласом класу особа
ідентифікатор Freebase /m/0dgw9r
властивості Вікіданих для цього типу Англія
берилій
гучномовець
мистецтво
Гаяна
Ірландія
d:Q106
Південна Америка
нечесна гра
Норвегія
Північна Ірландія
травень
Крок-мадам*
Осама бен Ладен
Словаччина
цирконій
лев
pneumonoultramicroscopicsilicovolcanoconiosis*
Септіміус Северус*
Антіполо*
Рамсес IV
Неспецифічний виразковий коліт
Уельс
Шотландія
22 вересня
фінська мова
січень
відхідник
кал
Бонн
d:Q640
Кофі Аннан
26 березня
Альберт Ейнштейн
2006
Supercalifragilisticexpialidocious*
1907
1994
Австрія
d:Q2605
Mundaneum*
Бельгія
Rhônexpress*
Мекленбург-Передня Померанія
Музей галло-римської цивілізації*
Селевк II
Свазіленд
тулій
Торонто
ідентифікатор PSH 2693
еквівалентний клас http://dbpedia.org/ontology/Person
http://schema.org/Person
основна категорія теми сторінки
ідентифікатор в Енциклопедії Британніка онлайн topic/human-being
код NLI 000710772
ідентифікатор теми на Quora Humans
поданий звук голос
чоловіча форма language = iotext = homulo
ймовірно одне і те ж з Людина розумна
частина від Людство
світ
використовує що штучний фізичний об'єкт*
складається з людський організм*
ідентифікатор тезауруса ASC Лейдена 294923772
головний шаблон за темою Шаблон:Особа
Template:Infobox Biographie2*
Шаблон:Особа2
не плутати із народ
вигаданий персонаж*
subreddit HumanPorn
наука, що вивчає об'єкт антропологія
значення в OmegaWiki 2234
постійний дублікат d:Q22828631
має властивість особове ім'я
вік людини*
гендер*
Сексуальна орієнтація
human skin color*
Природа людини
прізвище
facial feature*
самосвідомість*
Самосвідомість
Категорія:Волосся на обличчі*
Особистість
ідентифікатор теми JSTOR humans
продукція штучний фізичний об'єкт*
артефакт
ідентифікатор NE.se människan
ідентифікатор NARA 10639765
є одним із вернакулярна назва тварини
об'єкт, який використовується як одиниця вимірювання сам по собі*
описується в джерелах Кругосвет
Католицька енциклопедія*
Енциклопедичний словник Брокгауза і Єфрона
d:Q24515684
Малий енциклопедичний словник Брокгауза і Єфрона*
Єврейська енциклопедія Брокгауза та Ефрона
Біблійна енциклопедія архімандрита Никифора
зображення Akha cropped hires.JPG
Cape Dombey people.jpg
викликає штучний об'єкт*
ідентифікатор GND 4038639-9
категорія Вікісховища People
ідентифікатор BabelNet 00044576n
точно відповідає http://xmlns.com/foaf/spec/Person
ідентифікатор Енциклопедії сучасної України онлайн 59900
робочий список проекту Вікімедіа Вікіпедія:Статті, які повинні бути у всіх вікіпедіях*
жіноча форма language = ittext = umana
language = estext = ser humana
language = eotext = homino
language = iotext = homino
function M.wbview(ref,id)

--допоміжна функція для підпису з Вікіданих, не для виклику з шаблонів

function M.struc(f)

-- Відлагоджувальна функція, має бути перенесена в окремий модуль

--Структуру див. mw:Extension:WikibaseClient/Lua#Entity table and data structure

{claims = {P1889 = {1 = {id = Q8565357$918b2c5c-4e3d-eb7a-66d2-6f634205d33a; mainsnak = {datatype = wikibase-item; datavalue = {type = wikibase-entityid; value = {entity-type = item; id = Q14936030; numeric-id = 14936030}}; property = P1889; snaktype = value}; rank = normal; type = statement}}; P279 = {1 = {id = Q8565357$d8d3761d-4208-68c2-3ca0-1b7141531bf9; mainsnak = {datatype = wikibase-item; datavalue = {type = wikibase-entityid; value = {entity-type = item; id = Q30876264; numeric-id = 30876264}}; property = P279; snaktype = value}; rank = normal; type = statement}}; P31 = {1 = {id = q8565357$E8CA5415-37B8-41FD-B0F3-F2AC6B3B4FEA; mainsnak = {datatype = wikibase-item; datavalue = {type = wikibase-entityid; value = {entity-type = item; id = Q15184295; numeric-id = 15184295}}; property = P31; snaktype = value}; rank = normal; type = statement}}; P921 = {1 = {id = Q8565357$75ff08a2-47e9-5f14-597d-984c2775f5ba; mainsnak = {datatype = wikibase-item; datavalue = {type = wikibase-entityid; value = {entity-type = item; id = Q29934200; numeric-id = 29934200}}; property = P921; snaktype = value}; rank = normal; type = statement}; 2 = {id = Q8565357$82f93256-4a04-3584-e087-17873efd9ece; mainsnak = {datatype = wikibase-item; datavalue = {type = wikibase-entityid; value = {entity-type = item; id = Q16354758; numeric-id = 16354758}}; property = P921; snaktype = value}; rank = normal; type = statement}}}; descriptions = {an = {language = an; value = lua Modulo}; ar = {language = ar; value = وحدة}; ast = {language = ast; value = lua Módulu}; ba = {language = ba; value = Модуль}; be-tarask = {language = be-tarask; value = Модуль}; bg = {language = bg; value = Уикимедия модул}; bn = {language = bn; value = মডিউল}; bs = {language = bs; value = lua Modul}; ca = {language = ca; value = Mòdul Lua}; crh-latn = {language = crh-latn; value = lua Modul}; cs = {language = cs; value = lua Modul}; cy = {language = cy; value = lua Modiwl}; da = {language = da; value = lua Modul}; de = {language = de; value = Lua-Modul}; dsb = {language = dsb; value = lua Modul}; dv = {language = dv; value = މޮޑިއުލް}; en = {language = en; value = Wikimedia module}; en-ca = {language = en-ca; value = Wikimedia module}; en-gb = {language = en-gb; value = Wikimedia module}; eo = {language = eo; value = Modulo lua}; es = {language = es; value = módulo de Wikipedia}; et = {language = et; value = lua Moodul}; eu = {language = eu; value = Modulu lua}; fa = {language = fa; value = پودمان}; fr = {language = fr; value = lua Module}; gl = {language = gl; value = Módulo de Wikipedia}; he = {language = he; value = חידה}; hsb = {language = hsb; value = Modul lua}; hu = {language = hu; value = Modul lua}; id = {language = id; value = modul skrip Lua untuk ekstensi Wikibase}; ilo = {language = ilo; value = modulo ti Lua}; it = {language = it; value = modulo Lua}; ja = {language = ja; value = モジュール}; ka = {language = ka; value = მოდული}; ko = {language = ko; value = 모듈}; min = {language = min; value = modul skrip Lua untuak ekstensi Wikibase}; ms = {language = ms; value = Modul lua}; nb = {language = nb; value = Modullua}; nl = {language = nl; value = lua Module}; nn = {language = nn; value = Modul lua}; pl = {language = pl; value = Moduł lua}; pt = {language = pt; value = Módulo lua}; pt-br = {language = pt-br; value = Módulo lua}; ru = {language = ru; value = Модуль}; sk = {language = sk; value = Modul lua}; sl = {language = sl; value = Modul lua}; sq = {language = sq; value = modul i Wikimedias}; sv = {language = sv; value = Modul lua}; tr = {language = tr; value = Modül lua}; uk = {language = uk; value = Модуль}; vi = {language = vi; value = Mô_đun}; yue = {language = yue; value = 模組}; zh = {language = zh; value = Lua模組}; zh-hans = {language = zh-hans; value = 用于Wikibase扩展的Lua模块}; zh-hant = {language = zh-hant; value = Lua 模組}}; id = Q8565357; labels = {af = {language = af; value = Module:Wikibase}; ar = {language = ar; value = وحدة:Wikibase}; ast = {language = ast; value = Módulu:Wikibase}; az = {language = az; value = Module:Wikibase}; ba = {language = ba; value = Модуль:Wikibase}; be = {language = be; value = Модуль:Wikibase}; be-tarask = {language = be-tarask; value = Модуль:Wikibase}; bg = {language = bg; value = Module:Wikibase}; bn = {language = bn; value = মডিউল:উইকিবেস}; bs = {language = bs; value = Modul:Wikibase}; ca = {language = ca; value = Wikibase}; ce = {language = ce; value = Модуль:Wikibase}; cs = {language = cs; value = Modul:Wikibase}; cv = {language = cv; value = Модуль:Wikibase}; cy = {language = cy; value = Modiwl:Wikibase}; da = {language = da; value = Modul:Wikibase}; de = {language = de; value = Module:Wikibase}; din = {language = din; value = Mukääcëtök:Wikibase}; el = {language = el; value = Module:Wikibase}; en = {language = en; value = Module:Wikibase}; en-ca = {language = en-ca; value = Module:Wikibase}; en-gb = {language = en-gb; value = Module:Wikibase}; eo = {language = eo; value = Modulo:Wikibase}; es = {language = es; value = Wikibase}; eu = {language = eu; value = Modulu:Wikibase}; fa = {language = fa; value = پودمان:Wikibase}; fi = {language = fi; value = Module:Wikibase}; fo = {language = fo; value = Module:Wikibase}; fr = {language = fr; value = Module:Wikibase}; ga = {language = ga; value = Module:Wikibase}; gl = {language = gl; value = Wikibase}; gu = {language = gu; value = વિભાગ:Wikibase}; hi = {language = hi; value = Module:Wikibase}; hu = {language = hu; value = Modul:Wikibase}; hy = {language = hy; value = Մոդուլ:Wikibase}; id = {language = id; value = Module:Wikibase}; ilo = {language = ilo; value = Modulo:Wikibase}; it = {language = it; value = Modulo:Wikibase}; ja = {language = ja; value = モジュール:Wikibase}; jv = {language = jv; value = Modhul:Wikibase}; kab = {language = kab; value = Module:Wikibase}; kk = {language = kk; value = Module:Wikibase}; ko = {language = ko; value = 모듈:Wikibase}; krc = {language = krc; value = Модуль:Wikibase}; ku = {language = ku; value = Module:Wikibase}; lb = {language = lb; value = Modul:Wikibase}; lv = {language = lv; value = Modulis:Wikibase}; min = {language = min; value = Module:Wikibase}; mk = {language = mk; value = Модул:Wikibase}; mr = {language = mr; value = विभाग:Wikibase}; my = {language = my; value = Module:Wikibase}; nb = {language = nb; value = Modul:Wikibase signature}; nl = {language = nl; value = Module:Wikibase}; or = {language = or; value = Module:Wikibase}; pl = {language = pl; value = Moduł:Wikibase}; pt = {language = pt; value = Módulo:Wikibase}; pt-br = {language = pt-br; value = Módulo:Wikibase}; ru = {language = ru; value = Модуль:Wikibase}; sah = {language = sah; value = Модуль:Wikibase}; sco = {language = sco; value = Module:Wikibase}; si = {language = si; value = Module:Wikibase}; sl = {language = sl; value = Modul:Wikibase}; sq = {language = sq; value = Moduli:Wikibase}; sr = {language = sr; value = Модул:Wikibase}; sv = {language = sv; value = Modul:Wikibase}; tg = {language = tg; value = Модул:Wikibase}; tl = {language = tl; value = Module:Wikibase}; tr = {language = tr; value = Modül:Wikibase}; ts = {language = ts; value = Module:Wikibase}; tt = {language = tt; value = Модуль:Wikibase}; uk = {language = uk; value = Модуль:Wikibase}; ur = {language = ur; value = ماڈیول:Wikibase}; uz = {language = uz; value = Module:Wikibase}; vi = {language = vi; value = Mô đun:Wikibase}; yue = {language = yue; value = 模組:Wikibase}; zh = {language = zh; value = Module:Wikibase}; zh-hans = {language = zh-hans; value = 模块:Wikibase}; zh-hant = {language = zh-hant; value = 模組:Wikibase}}; schemaVersion = 2; sitelinks = {afwiki = {badges = {}; site = afwiki; title = Module:Wikibase}; arwiki = {badges = {}; site = arwiki; title = وحدة:Wikibase}; arwikisource = {badges = {}; site = arwikisource; title = وحدة:Wikibase}; astwiki = {badges = {}; site = astwiki; title = Módulu:Wikibase}; azwiki = {badges = {}; site = azwiki; title = Module:Wikibase}; bawiki = {badges = {}; site = bawiki; title = Модуль:Wikibase}; be_x_oldwiki = {badges = {}; site = be_x_oldwiki; title = Модуль:Wikibase}; bewiki = {badges = {}; site = bewiki; title = Модуль:Wikibase}; bewikisource = {badges = {}; site = bewikisource; title = Модуль:Wikibase}; bgwiki = {badges = {}; site = bgwiki; title = Модул:Wikibase}; bnwiki = {badges = {}; site = bnwiki; title = মডিউল:উইকিবেস}; bnwikisource = {badges = {}; site = bnwikisource; title = মডিউল:Wikibase}; bnwikivoyage = {badges = {}; site = bnwikivoyage; title = মডিউল:Wikibase}; bswiki = {badges = {}; site = bswiki; title = Modul:Wikibase}; cawiki = {badges = {}; site = cawiki; title = Mòdul:Wikibase}; cawikibooks = {badges = {}; site = cawikibooks; title = Mòdul:Wikibase}; cewiki = {badges = {}; site = cewiki; title = Модуль:Wikibase}; cvwiki = {badges = {}; site = cvwiki; title = Модуль:Wikibase}; cywiki = {badges = {}; site = cywiki; title = Modiwl:Wikibase}; dawiki = {badges = {}; site = dawiki; title = Modul:Wikibase}; dinwiki = {badges = {}; site = dinwiki; title = Mukääcëtök:Wikibase}; elwiki = {badges = {}; site = elwiki; title = Module:Wikibase}; enwiki = {badges = {}; site = enwiki; title = Module:Wikibase}; enwikibooks = {badges = {}; site = enwikibooks; title = Module:Wikibase}; enwikisource = {badges = {}; site = enwikisource; title = Module:Wikibase}; enwikiversity = {badges = {}; site = enwikiversity; title = Module:Wikibase}; enwikivoyage = {badges = {}; site = enwikivoyage; title = Module:Wikibase}; enwiktionary = {badges = {}; site = enwiktionary; title = Module:Wikibase}; eowiki = {badges = {}; site = eowiki; title = Modulo:Wikibase}; eowikisource = {badges = {}; site = eowikisource; title = Modulo:Wikibase}; eswiki = {badges = {}; site = eswiki; title = Módulo:Wikibase}; eswikinews = {badges = {}; site = eswikinews; title = Módulo:Wikibase}; eswikisource = {badges = {}; site = eswikisource; title = Módulo:Wikibase}; eswikivoyage = {badges = {}; site = eswikivoyage; title = Módulo:Wikibase}; euwiki = {badges = {}; site = euwiki; title = Modulu:Wikibase}; fawiki = {badges = {}; site = fawiki; title = پودمان:Wikibase}; fawikivoyage = {badges = {}; site = fawikivoyage; title = پودمان:Wikibase}; fiwiki = {badges = {}; site = fiwiki; title = Moduuli:Wikibase}; fiwikibooks = {badges = {}; site = fiwikibooks; title = Moduuli:Wikibase}; fiwikinews = {badges = {}; site = fiwikinews; title = Moduuli:Wikibase}; fiwikiquote = {badges = {}; site = fiwikiquote; title = Moduuli:Wikibase}; fiwikisource = {badges = {}; site = fiwikisource; title = Moduuli:Wikibase}; fiwikiversity = {badges = {}; site = fiwikiversity; title = Moduuli:Wikibase}; fiwikivoyage = {badges = {}; site = fiwikivoyage; title = Moduuli:Wikibase}; fiwiktionary = {badges = {}; site = fiwiktionary; title = Moduuli:Wikibase}; fowiki = {badges = {}; site = fowiki; title = Module:Wikibase}; frwikisource = {badges = {}; site = frwikisource; title = Module:Wikibase}; frwikivoyage = {badges = {}; site = frwikivoyage; title = Module:Wikibase}; gawiki = {badges = {}; site = gawiki; title = Module:Wikibase}; glwiki = {badges = {}; site = glwiki; title = Módulo:Wikibase}; guwiki = {badges = {}; site = guwiki; title = વિભાગ:Wikibase}; hiwikivoyage = {badges = {}; site = hiwikivoyage; title = Module:Wikibase}; huwiki = {badges = {}; site = huwiki; title = Modul:Wikibase}; huwikisource = {badges = {}; site = huwikisource; title = Modul:Wikibase}; hywiki = {badges = {}; site = hywiki; title = Մոդուլ:Wikibase}; idwiki = {badges = {}; site = idwiki; title = Modul:Wikibase}; ilowiki = {badges = {}; site = ilowiki; title = Modulo:Wikibase}; itwikisource = {badges = {}; site = itwikisource; title = Modulo:Wikibase}; itwikivoyage = {badges = {}; site = itwikivoyage; title = Modulo:Wikibase}; jawiki = {badges = {}; site = jawiki; title = モジュール:Wikibase}; jvwiki = {badges = {}; site = jvwiki; title = Modhul:Wikibase}; kabwiki = {badges = {}; site = kabwiki; title = Module:Wikibase}; kkwiki = {badges = {}; site = kkwiki; title = Module:Wikibase}; kowiki = {badges = {}; site = kowiki; title = 모듈:Wikibase}; kowikisource = {badges = {}; site = kowikisource; title = 모듈:Wikibase}; krcwiki = {badges = {}; site = krcwiki; title = Модуль:Wikibase}; kuwiki = {badges = {}; site = kuwiki; title = Module:Wikibase}; lbwiki = {badges = {}; site = lbwiki; title = Modul:Wikibase}; lvwiki = {badges = {}; site = lvwiki; title = Modulis:Wikibase}; mediawikiwiki = {badges = {}; site = mediawikiwiki; title = Module:Wikibase signature}; metawiki = {badges = {}; site = metawiki; title = Module:Wikibase}; mkwiki = {badges = {}; site = mkwiki; title = Модул:Wikibase}; mrwiki = {badges = {}; site = mrwiki; title = विभाग:Wikibase}; mywiki = {badges = {}; site = mywiki; title = Module:Wikibase}; nlwiki = {badges = {}; site = nlwiki; title = Module:Wikibase}; nowiki = {badges = {}; site = nowiki; title = Modul:Wikibase signature}; orwiki = {badges = {}; site = orwiki; title = ମଡ୍ୟୁଲ:Wikibase}; orwikisource = {badges = {}; site = orwikisource; title = Module:Wikibase}; plwikisource = {badges = {}; site = plwikisource; title = Moduł:Wikibase}; ptwiki = {badges = {}; site = ptwiki; title = Módulo:Wikibase}; ptwikisource = {badges = {}; site = ptwikisource; title = Módulo:Wikibase}; ptwikivoyage = {badges = {}; site = ptwikivoyage; title = Módulo:Wikibase}; ruwiki = {badges = {}; site = ruwiki; title = Модуль:Wikibase}; ruwikiquote = {badges = {}; site = ruwikiquote; title = Модуль:Wikibase}; ruwikivoyage = {badges = {}; site = ruwikivoyage; title = Модуль:Wikibase}; sahwiki = {badges = {}; site = sahwiki; title = Модуль:Wikibase}; scowiki = {badges = {}; site = scowiki; title = Module:Wikibase}; simplewiki = {badges = {}; site = simplewiki; title = Module:Wikibase}; siwiki = {badges = {}; site = siwiki; title = Module:Wikibase}; slwiki = {badges = {}; site = slwiki; title = Modul:Wikibase}; sqwiki = {badges = {}; site = sqwiki; title = Moduli:Wikibase}; srwiki = {badges = {}; site = srwiki; title = Модул:Wikibase}; svwikivoyage = {badges = {}; site = svwikivoyage; title = Modul:Wikibase}; tgwiki = {badges = {}; site = tgwiki; title = Модул:Wikibase}; tlwiki = {badges = {}; site = tlwiki; title = Module:Wikibase}; trwiki = {badges = {}; site = trwiki; title = Modül:Wikibase}; tswiki = {badges = {}; site = tswiki; title = Module:Wikibase}; ttwiki = {badges = {}; site = ttwiki; title = Модуль:Wikibase}; ukwiki = {badges = {}; site = ukwiki; title = Модуль:Wikibase}; ukwikisource = {badges = {}; site = ukwikisource; title = Модуль:Wikibase}; ukwikivoyage = {badges = {}; site = ukwikivoyage; title = Модуль:Wikibase}; urwiki = {badges = {}; site = urwiki; title = ماڈیول:Wikibase}; uzwiki = {badges = {}; site = uzwiki; title = Module:Wikibase}; viwiki = {badges = {}; site = viwiki; title = Mô đun:Wikibase}; viwikisource = {badges = {}; site = viwikisource; title = Mô đun:Wikibase}; wikidatawiki = {badges = {}; site = wikidatawiki; title = Module:Wikibase}; zh_yuewiki = {badges = {}; site = zh_yuewiki; title = 模組:Wikibase}; zhwiki = {badges = {}; site = zhwiki; title = 模块:Wikibase}; zhwikisource = {badges = {}; site = zhwikisource; title = 模块:Wikibase}; zhwikivoyage = {badges = {}; site = zhwikivoyage; title = 模块:Wikibase}}; type = item}

-- Модуль для функціонала Вікіданих
local M={};

local function tabletostr(t,fmt,s,o,c)--не для використання на сторінках
    if type(t)=="table" then
            local f={};
            for k,v in pairs(t) do
                table.insert(f,string.format(fmt or '%s = %s',k,tabletostr(v,fmt,s,o,c)))
            end;
            table.sort(f);
            return (o or '')..table.concat(f, s or '')..(c or '')
        else return tostring(t)
        end
end

function M.wbview(ref,id)--допоміжна функція для підпису з Вікіданих
    local l=mw.wikibase.label(id);
    return l and ( l==ref and l or ref..'|'..l..(mw.ustring.lower(l)==mw.ustring.lower(ref) and '' or '<sup>*</sup>') ) or ref
end

function M.id(f)-- Елемент поточної сторінки на Вікіданих
    --Якщо викликаний із параметром, дістає id значення данної властивості, інакше повертає id сторінки
    --Другий параметр - роздільник, якщо значень кілька ("; " за замовчуванням),
    -- або можна вказати номер параметром n. Третій параметр - формат для строкової властивості,
    -- за замовчуванням "%s"
    local function try()
	    local e = mw.wikibase.getEntityObject();        
	    if f.args[1] then
			local function gv(i)
				local z=e.claims[f.args[1]][i].mainsnak.datavalue;
				if z.type == 'wikibase-entityid' then
					return 'Q'..z.value['numeric-id']
				else
					return string.format(f.args[3] or '%s',tabletostr(z.value,"%s",'; ','{','}'))
				end
			end
			if f.args['n'] then
				return gv(tonumber(f.args['n']))
			end
			local p,h = e.claims[f.args[1]],{}
	        for n,v in pairs(p) do
				h[n] = gv(n)
			end
			return table.concat(h,f.args[2] or "; ")
		else 
			return e.id
		end
	end
	local r, result = pcall(try);
    if r then
    	return result;
    else
    	return '';
    end
end

function M.struc(f)-- Відлагоджувальна функція, має бути перенесена в окремий модуль
    --Структуру див. [[mw:Extension:WikibaseClient/Lua#Entity table and data structure]]
    local function try()
    	local i,e = 1,mw.wikibase.getEntityObject();
	    while f.args[i] do
	        e = e[ f.args[i] ] or e[ tonumber(f.args[i]) ];
	        i = i+1
	    end
		return tabletostr(e,f.args['f'],f.args['s'] or '; ','{','}')
	end
	local r, result = pcall(try);
    if r then
    	return result;
    else
    	return '';
    end
end

function M.label(f)--Коментар до елементу Вікіданих у 1-му параметрі
    local function try()
	    local id=f.args[1] or mw.wikibase.getEntityObject().id; -- error, якщо нема елемента
	    return mw.wikibase.label(id)
    end
	local r, result = pcall(try);
    if r then
    	return result;
    else
    	return '';
    end
end

function M.labelq(f)
	local id = f.args[1]
	local entity = mw.wikibase.getEntity(id)
	if entity and entity.labels then
		local label = entity.labels['uk']
		if label then
			return '[[:d:'..id..'|'..label.value..' <small>('..id..')</small>]]'
		     else
			return '[[:d:'..id..'|'..entity.labels['en'].value..' <small>(in English; '..id..')</small>]]'
		end
	end
end

function M.labelp(f)
	local id = f.args[1]
	local entity = mw.wikibase.getEntity(id)
	if entity and entity.labels then
		local label = entity.labels['uk']
		if label then
			return '[[:d:Property:'..id..'|'..label.value..' <small>('..id..')</small>]]'
		     else
			return '[[:d:Property:'..id..'|'..entity.labels['en'].value..' <small>(in English; '..id..')</small>]]'
		end
	end
end

function M.iwiki(f)-- Інтервікі для вказаної мови (лише з ВД)
    local function try()
	    if f.args[1] then
	        return mw.wikibase.getEntityObject().sitelinks[f.args[1]..'wiki'].title
	    else-- список інтервік
	        local r={};
	        for k,v in pairs( mw.wikibase.getEntityObject().sitelinks ) do
	            table.insert( r, string.format(f.args['f'] or "* [[:%s:%s]]\n", v.language, v.title) )
	        end
	        return table.concat(r)
	    end
	end
	local r, result = pcall(try);
    if r then
    	return result;
    else
    	return '';
    end
end

function M.iwikiall(f)-- Усі посилання, прив'язані до елементу на ВД, у т.ч. Вікігід та Сховище
	local function try()
	    if f.args[1] then
	        return mw.wikibase.getEntityObject().sitelinks[f.args[1]].title
	    else-- список інтервік
	        local r={};
	        for k,v in pairs( mw.wikibase.getEntityObject().sitelinks ) do
	            table.insert( r, string.format(f.args['f'] or "* [[:%s:%s]]\n", v.language, v.title) )
	        end
	        return table.concat(r)
	    end
	end
	local r, result = pcall(try);
    if r then
    	return result;
    else
    	return '';
    end
end

function M.page(f)-- сторінка Укрвікі (треба перевірити) для даного елемента
    local function try()
		return mw.wikibase.sitelink(f.args[1])
	end
	local r, result = pcall(try);
    if r then
    	return result;
    else
    	return '';
    end
end

function M.wdprops(f)-- список усіх властивостей із ВД у вигляді, придатному для читання людиною
    local function try()
	    local e,r = mw.wikibase.getEntityObject(),{};
	    for p,a in pairs(e.claims) do
	        local label = mw.wikibase.label(p) or string.format([[d:%s]],p);
	        local vals = {};
	        for n,v in pairs(a) do
	            local w=v.mainsnak.datavalue;
	            vals[n]=(
	                w.type=='wikibase-entityid'
	                and '[['.. M.wbview(
	                    mw.wikibase.sitelink('Q'..w.value['numeric-id'])
	                    or 'd:Q'..w.value['numeric-id'],
	                    'Q'..w.value['numeric-id']
	                )..']]' or tabletostr(w.value)
	            )
	        end
	        table.insert(r, string.format(
	            f.args['f'] or '\n|-\n|rowspan=%i|%s\n|%s',
	            #vals,
	            label,
	            table.concat(vals,f.args['s'] or '\n|-\n|')
	            )
	        )
	    end--for
    	return table.concat(r)
    end
	local r, result = pcall(try);
    if r then
    	return result;
    else
    	return '';
    end
end

return M