Module:Wikidata

Documentation icon Τεκμηρίωση module

Το κύριο module για εργασία με τα δεδομένα των Wikidata. Η βασική μορφή προέρχεται από test2wiki:Module:Wikidata, και έχει επεκταθεί με νέες δυνατότητες.

Το module διαιρείται σε υπό modules:

Δείτε επίσης τη λίστα των προτύπων που χρησιμοποιούν αυτό το module.

Χρήση

Τοποθετείστε το πρότυπο {{#invoke:Wikidata|λειτουργία|παράμετρος}}.

Οι παράμετροι και οι λειτουργίες που σημειώνονται με έναν αστερίσκο (*) δεν υποστηρίζονται πλήρως και δεν συνιστάται η χρήση τους. Αντίθετα, οι παράμετροι ή οι λειτουργίες που σημειώνονται με ένα σταυρό (†) είναι ξεπερασμένα και μπορεί σύντομα να αφαιρεθούν.

Επισκόπηση όλων των χαρακτηριστικών και παραμέτρων
ΛειτουργίαΠεριγραφή λειτουργίαςΠαράμετροςΑπαιτείταιΠεριγραφή παραμέτρου
formatStatementsανακτά τα δεδομένα, επιλέγει αξιώσεις, φιλτράρει, ταξινομεί και μορφοποιεί τις τιμές τους και επιστρέφει τη λίστα τουςidόχιένα αναγνωριστικό του αντικειμένου (το γράμμα "q" που ακολουθείται από ψηφία) ή τις ιδιότητες (το γράμμα "p" ακολουθούμενο από ψηφία) στα Wikidata, ποια δεδομένα θα πρέπει να ληφθούν για περαιτέρω εργασία μαζί του (σιωπηρά ένα στοιχείο που συνδέεται με αυτή τη σελίδα)
ofόχιτο αναγνωριστικό των ιδιοτήτων στις Wikidata (το γράμμα "p" που ακολουθείται από ψηφία) από το οποίο η οντότητα που πραγματικά χρησιμοποιεί το στοιχείο αποκτάται χρησιμοποιώντας την πρώτη προτιμώμενη τιμή της ιδιότητας
page*όχιτο όνομα της σελίδας της οποίας το αντικείμενο πρόκειται να χρησιμοποιηθεί για την ανάκτηση των δεδομένων
propertyναιαναγνωριστικό ιδιότητας Wikidata (το γράμμα "p" που ακολουθείται από ψηφία) της οποίας οι τιμές θα μορφοποιηθούν και θα εμφανιστούν
value*όχιεάν αυτή η παράμετρος έχει οριστεί, εμφανίζονται τα περιεχόμενά της
over*όχιαν είναι «αληθής», η κενή τιμή του «value» δεν θεωρείται καταχωρημένη
compare*όχιεάν είναι «αληθής» και η παράμετρος «value» έχει καθοριστεί, το module συγκρίνει το περιεχόμενό της και τα δεδομένα στα Wikidata σύμφωνα με τις άλλες παραμέτρους που καθορίζονται για το φιλτράρισμα δεδομένων και τις επισημαίνει με την κλάση CSS σύμφωνα με τη συνέπεια των δεδομένων
addlinkόχιαν «αληθής», ένα (e) εμφανίζεται απευθείας στην ιδιότητα στο τέλος των δεδομένων από το χώρο αποθήκευσης
addclassόχιαν είναι «ψευδής», καταστέλλει την ταξινόμηση δεδομένων της κλάσης CSS </ span> (χρήση μόνο σε σπάνιες περιπτώσεις)
value-formatterόχιτο υπό module του Module:Wikidata/Formatters (της υποσελίδας) που χρησιμοποιείται για τη μορφοποίηση των τιμών εάν το προεπιλεγμένο υπό module δεν είναι ικανοποιητικό
limitόχιο μέγιστος αριθμός τιμών που εμφανίζονται στη λίστα
rankόχιη απαιτούμενη κατάσταση της τιμής σε μια δήλωση:
μπορεί να είναι «all» - θα χρησιμοποιηθούν όλες οι δηλώσεις, best - θα χρησιμοποιηθούν είτε οι δηλώσεις που έχουν προτιμώμενη βαθμίδα είτε μόνο όσοι έχουν κανονική βαθμίδα αν δεν χρησιμοποιείται η προτιμώμενη. valid (προεπιλογή) - χρησιμοποιούνται τόσο οι δηλώσεις με προτιμώμενες όσο και με κανονικές βαθμίδες. preferred, normal, deprecated - μόνο δηλώσεις με την κατάλληλη βαθμίδα
withqualifierόχιΑναγνωριστικό ιδιότητας Wikidata (το γράμμα "p" που ακολουθείται από ψηφία), το οποίο πρέπει να αντιστοιχιστεί στη δεδομένη τιμή της δήλωσης ως ένας ορισμός
withlangόχιο κώδικας γλώσσας, στον οποίο πρέπει να είναι οι τιμές του μονογλωσσικού κειμένου
dateόχιημερομηνίας σε μορφή ΕΕΕΕ-ΜΜ-ΗΗ ή #now (σημερινή ημερομηνία) στην οποία θα πρέπει να ισχύει η δήλωση
sortόχιο τρόπος αλλαγής της προεπιλεγμένης σειράς κάθε τιμής. Η τιμή της παραμέτρου αντιστοιχεί σε δευτερεύουσες σελίδες που χωρίζονται με κόμματα του υπό module Module:Wikidata/Sorters
invertόχιαν έχει οριστεί «αληθής» και έχει οριστεί «sort», η ταξινόμηση θα είναι πτωτική, όχι η προεπιλεγμένη αύξουσα
patternόχιαν ο τύπος συμβολοσειράς είναι string (κείμενο), αυτή η μορφή είναι για μορφοποίηση, με το "$1" να αντικαθιστά το string
autoformat†όχιεάν είναι «αληθής» και ο τύπος συμβολοσειράς είναι string (κείμενο), το module θα προσπαθήσει να βρει αντικαταστάτη για την ιδιότητα (P1630) στη σελίδα ιδιοτήτων και να την εφαρμόσει
precisionόχιπροσαρμογή της μορφής του χρόνου (εάν η πραγματική ακρίβεια είναι μικρότερη, η μορφή προσαρμόζεται σε αυτήν). 11 – 25. Ιουνίου 2024, 10 – Ιουνίου 2024, 9 – 2024 κ.λπ.
somevalueόχιεάν συμπληρωθεί, το module θα εμφανίσει επίσης την ειδική τιμή "άγνωστη τιμή" μαζί με το κείμενο
novalueόχιεάν συμπληρωθεί, το module θα εμφανίσει επίσης την ειδική τιμή "καμία τιμή" μαζί με το κείμενο
showqualifierόχιτα αναγνωριστικά των προσδιοριστών της ιδιότητας στα Wikidata (το γράμμα "p" που ακολουθείται από ψηφία ή "time"), τα οποία χωρίζονται με κόμματα, που εμφανίζονται σε παρένθεση μετά την εκχώρηση της τιμής στην τιμή αυτή ως ορισμός
showtargetdata*όχιπαρόμοια με το "showqualifier", αλλά τα δεδομένα αντλούνται από το αντικείμενο στόχο
targetdate*όχιπαρόμοια με την "date", αναφέρεται στα στοιχεία του αντικειμένου στόχου
showsourceόχιαν είναι "αληθής", οι αναφορές προστίθενται στα δεδομένα
showmoreόχιpokud je hodnota „true“, tak se v případě, že existuje více hodnot, než kolik povoluje limit, zobrazí na konci jejich seznamu text „… více na Wikidatech“ s odkazem přímo na vlastnost
separatorόχιznaky, jimiž se v seznamu oddělí jednotlivé hodnoty, kromě předposlední a poslední (implicitně čárka)
conjunctionόχιznaky, jimiž se v seznamu oddělí předposlední a poslední hodnota (implicitně spojka „a“)
formatStatementsFromLuafunkce, kterou používají pouze jiné moduly a která je jinak shodná s „formatStatements“entityόχιtabulka s entitou, s níž má modul pracovat
dumpWikidataEntityzobrazí entitu v čitelné podobě, užitečná pro ladění a zavádění nových funkcí, nepoužívá se v šablonách nebo článcíchidόχιidentifikátor položky (písmeno „q“ následované číslicemi) nebo vlastnosti (písmeno „p“ následované číslicemi) na Wikidatech, jejíž entita se zobrazí (implicitně je to položka propojená s danou stránkou)
getSitelinkvrátí odkaz na článek daného projektusite / první nepojmenovanýόχιzkratka projektu (implicitně „cswiki“)
patternόχιvzor pro zformátování odkazu, kde „$1“ je název odkazovaného článku (implicitně „$1“)
idόχιidentifikátor položky (písmeno „q“ následované číslicemi) nebo vlastnosti (písmeno „p“ následované číslicemi) na Wikidatech, jejíž data se mají získat pro další práci s nimi (implicitně je to položka propojená s danou stránkou)
ofόχιidentifikátor vlastnosti na Wikidatech (písmeno „p“ následované číslicemi), ze kterého se získá entita, kterou modul skutečně využije, tak, že se použije první nejlepší hodnota vlastnosti
addclassόχιpokud je „true“, odkaz bude obalen CSS třídou
getLabelvrátí štítek položky v daném jazycelangόχιzkratka jazyka (implicitně „cs“)
idόχιidentifikátor položky (písmeno „q“ následované číslicemi) nebo vlastnosti (písmeno „p“ následované číslicemi) na Wikidatech, jejíž data se mají získat pro další práci s nimi (implicitně je to položka propojená s danou stránkou)
ofόχιidentifikátor vlastnosti na Wikidatech (písmeno „p“ následované číslicemi), ze kterého se získá entita, kterou modul skutečně využije, tak, že se použije první nejlepší hodnota vlastnosti
addclassόχιpokud je „true“, štítek bude obalen CSS třídou
getDescriptionvrátí popisek položky v daném jazycelangόχιzkratka jazyka (implicitně „cs“)
idόχιidentifikátor položky (písmeno „q“ následované číslicemi) nebo vlastnosti (písmeno „p“ následované číslicemi) na Wikidatech, jejíž data se mají získat pro další práci s nimi (implicitně je to položka propojená s danou stránkou)
ofόχιidentifikátor vlastnosti na Wikidatech (písmeno „p“ následované číslicemi), ze kterého se získá entita, kterou modul skutečně využije, tak, že se použije první nejlepší hodnota vlastnosti
addclassόχιpokud je „true“, popisek bude obalen CSS třídou
getAliasesvrátí aliasy položky v daném jazycelangόχιzkratka jazyka (implicitně „cs“)
limitόχιmaximální počet aliasů, který se má zobrazit
idόχιidentifikátor položky (písmeno „q“ následované číslicemi) nebo vlastnosti (písmeno „p“ následované číslicemi) na Wikidatech, jejíž data se mají získat pro další práci s nimi (implicitně je to položka propojená s danou stránkou)
ofόχιidentifikátor vlastnosti na Wikidatech (písmeno „p“ následované číslicemi), ze kterého se získá entita, kterou modul skutečně využije, tak, že se použije první nejlepší hodnota vlastnosti
separatorόχιznaky, jimiž se v seznamu oddělí jednotlivé aliasy, kromě předposledního a posledního (implicitně čárka)
conjunctionόχιznaky, jimiž se v seznamu oddělí předposlední a poslední alias (implicitně spojka „a“)
getBadgesvrátí štítek odznaku přiřazeného danému odkazu na článeksiteναιzkratka projektu
idόχιidentifikátor položky (písmeno „q“ následované číslicemi) nebo vlastnosti (písmeno „p“ následované číslicemi) na Wikidatech, jejíž data se mají získat pro další práci s nimi (implicitně je to položka propojená s danou stránkou)
ofόχιidentifikátor vlastnosti na Wikidatech (písmeno „p“ následované číslicemi), ze kterého se získá entita, kterou modul skutečně využije, tak, že se použije první nejlepší hodnota vlastnosti
getCountvrátí počet tvrzení podle daných kritériívšechny parametry pro filtrování
getCurrentIdvrátí id položky, se kterou je stránka propojena
getId*Vrátí id položky propojené se zadanou stránkou. Není-li propojená a jedná se o Βικιπαίδεια:Ανακατεύθυνση, následuje jej (i rekurzivně). Nepodaří-li se, zkusí další stránky, pokud jich bylo zadáno víc. Nedostane-li parametry přímo, zpracuje parametry předané volající šabloně.

(funkčnost závisí na phab:T74815)

první, druhý, ... nepojmenovanýόχιnázev stránky na této wiki (implicitně aktuální stránka)
getRawValuepoužije stejná kritéria jako „formatStatements“, ovšem vrátí strojově čitelný (nezformátovaný) údajvšechny parametry pro filtrování
fieldόχιpokud je typ hodnoty souřadnice, toto je její část, která se zobrazí; jedno z „latitude“, „longitude“, „precision“ a „globe“
getRawValueFromLuajako „getRawValue“, pro použití v jiném moduluentityόχιtabulka s entitou, s níž má modul pracovat
getQualifier*qualifierναι
getRawQualifier*qualifierναι
formatEntitylokalizuje položku zadanou pomocí jejího identifikátoru (pokusí se vytvořit lokální odkaz a zobrazit štítek)idόχιid položky, která se má zformátovat (jinak id položky, se kterou je stránka propojena)

Πρότυπο:Dlouhodobě polozamčenoKategorie:Wikipedie:Moduly

--require "Module:No globals"local p = {}local lib = require 'Module:Wikidata/lib'local i18n = mw.loadData('Module:Wikidata/i18n')local getArgs = (require 'Module:Arguments').getArgslocal function getEntityIdFromStatements(statements)for _, statement in ipairs(statements) doif lib.IsSnakValue(statement.mainsnak) thenif statement.mainsnak.datavalue.type ~= 'wikibase-entityid' thenreturn error(lib.raiseInvalidDatatype('getEntityIdFromStatements',statement.mainsnak.datatype, {'wikibase-item', 'wikibase-property'}))endlocal Formatters = require 'Module:Wikidata/Formatters'return Formatters.getRawValue(statement.mainsnak)endendreturn nilendlocal function getEntityIdFromEntity(entity, prop)local prop = mw.ustring.upper(prop)local statements = entity:getBestStatements(prop)return getEntityIdFromStatements(statements)endlocal function getEntityIdFromId(id, prop)local prop = mw.ustring.upper(prop)local statements = mw.wikibase.getBestStatements(id, prop)return getEntityIdFromStatements(statements)endlocal function getIdFromTitle(titleString)local title = mw.title.new(titleString)while title dolocal id = mw.wikibase.getEntityIdForTitle(title.prefixedText)if id thenreturn idendtitle = title.redirectTargetendreturn nilendlocal function findEntityId(options)local idif options.entity and type(options.entity) == 'table' thenid = options.entity.idendif not id and options.page thenid = getIdFromTitle(options.page)if not id thenreturn nilendendif not id thenid = options.id or p.getCurrentId()endif id and options.of thenid = getEntityIdFromId(id, options.of)endreturn idendlocal function findEntity(options)local entityif options.entity and type(options.entity) == 'table' thenentity = options.entityendif not entity thenif options.id thenlocal id = options.id:upper()entity = mw.wikibase.getEntity(id)if entity and entity.id ~= id thenmw.log(id .. ' je přesměrování na ' .. entity.id)endelseif options.page thenlocal id = getIdFromTitle(options.page)if id thenentity = mw.wikibase.getEntity(id)endelseentity = mw.wikibase.getEntity()endendendif options.of thenif entity thenlocal id = getEntityIdFromEntity(entity, options.of)if id thenreturn mw.wikibase.getEntity(id)endendreturn nilendreturn entityendlocal function getSitelink(options)local id = findEntityId(options)if not id thenreturn nilendlocal site = options.site or options[1]local sitelink = mw.wikibase.sitelink(id, site)if not sitelink thenreturn nilendif options.pattern thensitelink = lib.formatFromPattern(sitelink, options.pattern)endif lib.IsOptionTrue(options, 'addclass') thensitelink = lib.addWdClass(sitelink)endreturn sitelinkendlocal function formatStatement(statement, options)if not statement.type or statement.type ~= 'statement' thenreturn error(lib.formatError('unknown-claim-type', statement.type or '[neznámý]'))endlocal Filterers = require 'Module:Wikidata/Filterers'local Formatters = require 'Module:Wikidata/Formatters'local mainsnak = Formatters.getFormattedValue(statement.mainsnak, options)if options.isQualifier == true thenreturn mainsnakendlocal qualifiers, targetdata, referencesif statement.qualifiers and options.showqualifier thenlocal PropList = lib.textToTable(options.showqualifier)local Snaks = {}for _, property in ipairs(PropList) dolocal Values = {}local property = mw.ustring.upper(property)local format_options = {autoformat = true,isQualifier = true,label = 'short',                precision = options['qualifiers precision'] or 9,property = property}if statement.qualifiers[property] thenlocal Qualifiers = mw.clone(statement.qualifiers[property])Filterers.filterQualifiers(Qualifiers, options)for _, snak in ipairs(Qualifiers) doif lib.IsSnakValue(snak) thentable.insert(Values, Formatters.getFormattedValue(snak, {}))endendelseif property == 'TIME' thenlocal Data = {}-- todo: factor outfor key, array in pairs(lib.props) dofor _, prop in ipairs(array) dofor _, snak in ipairs(statement.qualifiers[prop] or {}) doData[key] = snakbreakendendendif Data.begin or Data.ending thentable.insert(Values, lib.formatDateRange(Data, format_options))endendif #Values > 0 thentable.insert(Snaks, mw.text.listToText(Values))endendif #Snaks > 0 thenqualifiers = table.concat(Snaks, options['qualifiers separator'] or i18n['qualifiers separator'])endendif not qualifiers and options.showtargetdata thenlocal entityif lib.IsSnakValue(statement.mainsnak) thenif statement.mainsnak.datavalue.type == 'wikibase-entityid' thenentity = mw.wikibase.getEntity(Formatters.getRawValue(statement.mainsnak))elsereturn error(lib.formatError('invalid-datatype', statement.mainsnak.property, statement.mainsnak.datatype, 'wikibase-item/wikibase-property'))endendif entity thenlocal PropList = lib.textToTable(options.showtargetdata)local datelocal rank = 'best'if options.targetdate thenif lib.isPropertyId(options.targetdate) thendate = p.getRawValueFromLua{ entity = options.entity, property = options.targetdate }elsedate = options.targetdateendif date thenrank = 'valid'endendlocal options = {addclass = false,autoformat = true,date = date,entity = entity,isQualifier = true,label = 'short',precision = 9,rank = rank,sort = {'date'},}local Snaks = {}for _, property in ipairs(PropList) dolocal resultif mw.ustring.lower(property) == 'time' thenlocal Data = {}for key, array in pairs(lib.props) dofor _, prop in ipairs(array) dooptions.property = proplocal Statements = Filterers.filterStatementsFromEntity(entity, options)for _, statement in ipairs(Statements) doData[key] = statement.mainsnakbreakendendendif Data.begin or Data.ending thenresult = lib.formatDateRange(Data, options)endelseoptions.property = propertyresult = p.formatStatementsFromLua(options)endif result thentable.insert(Snaks, result)endendif #Snaks > 0 thentargetdata = table.concat(Snaks, '; ')endendendif statement.references and lib.IsOptionTrue(options, 'showsource') thenlocal Module = require 'Module:Wikidata/cite'references = Module.formatReferences(statement.references, options)endif qualifiers or targetdata thenif options.delimiter thenmainsnak = mainsnak .. options.delimiter .. (qualifiers or targetdata)elsemainsnak = mainsnak .. ' (' .. (qualifiers or targetdata) .. ')'endendif references and references ~= '' thenreturn mainsnak .. references .. lib.category('references')endreturn mainsnakendlocal function formatStatements(statements, options)local formattedStatements = {}for _, statement in ipairs(statements) doif not statement.type or statement.type ~= 'statement' thenreturn error(lib.formatError('unknown-claim-type', statement.type or '[neznámý]')) -- fixme: i18nendlocal formatted = formatStatement(statement, options)local add = truefor _, fmt in ipairs(formattedStatements) doif formatted == fmt thenadd = falsebreakendendif add then -- not in_arraytable.insert(formattedStatements, formatted)endendreturn formattedStatementsendlocal function getStatements(id, options)if not id thenreturn {}endlocal statements = mw.wikibase.getAllStatements(id, options.property:upper())local Filterers = require 'Module:Wikidata/Filterers'Filterers.filterStatements(statements, options)return statementsendlocal function prepareShowMore(options)if options.limit and lib.IsOptionTrue(options, 'showmore') thenoptions.limit = options.limit + 1return trueendreturn falseendlocal function handleShowMore(values, limit, add_more)if add_more thenif #values == limit thentable.remove(values)elseadd_more = falseendendreturn add_moreendlocal function makeList(values, options, add_more)if add_more thentable.insert(values, mw.ustring.format(i18n['more-on-Wikidata'], options.id, options.property))endreturn mw.text.listToText(values, options.separator, options.conjunction)endlocal function getFormattedStatements(options)local value = options.valueif value thenif value == '' and lib.IsOptionTrue(options, 'over') thenvalue = nilendif value and not lib.IsOptionTrue(options, 'compare') thenreturn valueendend--Get entitylocal options = lib.common.cleanArgs(options)options.limit = tonumber(options.limit) --TODO default?local add_more = falseif not lib.IsOptionTrue(options, 'compare') thenadd_more = prepareShowMore(options)endlocal id = findEntityId(options)local statements = getStatements(id, options)options.property = mw.ustring.upper(options.property)if value thenlocal compare = require 'Module:Wikidata/compare'local marked, category = compare.compareValues(value, statements, {catbase = options.catbase,property = options.of or options.property})if tostring(options.addclass) ~= 'false' and marked thenvalue = markedendif lib.IsOptionTrue(options, 'addcat') and category thenreturn value .. categoryendreturn valueendif #statements == 0 then return nil endadd_more = handleShowMore(statements, options.limit, add_more)options.id = id-- Format statements and concat them cleanlylocal formattedStatements = formatStatements(statements, options)value = makeList(formattedStatements, options, add_more)if lib.IsOptionTrue(options, 'addlink') thenvalue = mw.ustring.format('%s <sup class="wd-link">([[d:%s#%s|e]])</sup>', value, id, options.property)endif lib.IsOptionTrue(options, 'addcat') thenvalue = value .. lib.category('used-property', options.property)endif tostring(options.addclass) ~= 'false' thenreturn lib.addWdClass(value)endreturn valueendlocal function getRawValue(options)if options.rank ~= 'best' and options.rank ~= 'preferred' thenlocal byRank = mw.ustring.match(options.sort or '', 'rank') and trueoptions.sort = lib.textToTable(options.sort or '')if not byRank thentable.insert(options.sort, 1, 'rank')endendfor _, statement in ipairs(p.getStatements(options)) dolocal Formatters = require 'Module:Wikidata/Formatters'return Formatters.getRawValue(statement.mainsnak, options)endreturn nilendlocal function getQualifiers(args)if not args.qualifier thenreturn error(lib.formatError('param-not-provided', 'qualifier'))endlocal all_qualifiers = {}for _, statement in ipairs(p.getStatements(args)) doif statement.qualifiers thenlocal qualifiers = mw.clone(statement.qualifiers[mw.ustring.upper(args.qualifier)] or {})local Filterers = require 'Module:Wikidata/Filterers'Filterers.filterQualifiers(qualifiers, args)for _, q in ipairs(qualifiers) dotable.insert(all_qualifiers, q)endendif not lib.IsOptionTrue(args, 'all') thenreturn all_qualifiersendendreturn all_qualifiersend----- API pro šablony -----function p.dumpWikidataEntity(frame)local args = getArgs(frame, { removeBlanks = true })return mw.dumpObject( mw.wikibase.getEntity( args.id ) )endfunction p.getBadges(frame)local args = getArgs(frame, { removeBlanks = true })local site = args.siteif not site thenreturn error(lib.formatError('param-not-provided', 'site'))endlocal entity = findEntity(args)local Badges = {}if entity and entity.sitelinks and entity.sitelinks[site] thenlocal Formatters = require 'Module:Wikidata/Formatters'for _, badge in ipairs(entity.sitelinks[site].badges) dotable.insert(Badges, Formatters.formatRawValue(badge, 'wikibase-entityid'))endendreturn table.concat( Badges, ', ' )endfunction p.getLabel(frame)local args = getArgs(frame, { removeBlanks = true })local id = findEntityId(args)if not id thenreturn nilendlocal lang = args.langlocal code = mw.language.getContentLanguage():getCode()if not lang or lang == code thenlocal label, _ = lib.getLabelInLanguage(id, { code })if label and lib.IsOptionTrue(args, 'addclass') thenlabel = lib.addWdClass(label)endreturn labelendlocal entity = mw.wikibase.getEntity(id)if entity and entity.labels and entity.labels[lang] thenlocal label = entity.labels[lang].valueif label and lib.IsOptionTrue(args, 'addclass') thenlabel = lib.addWdClass(label)endreturn labelendreturn nilendfunction p.getDescription(frame)local args = getArgs(frame, { removeBlanks = true })local id = findEntityId(args)if not id thenreturn nilendlocal lang = args.langif not lang or lang == mw.language.getContentLanguage():getCode() thenlocal description = mw.wikibase.description(id)if description and lib.IsOptionTrue(args, 'addclass') thendescription = lib.addWdClass(description)endreturn description endlocal entity = mw.wikibase.getEntity(id)if entity and entity.descriptions and entity.descriptions[lang] thenlocal description = entity.descriptions[lang].valueif description and lib.IsOptionTrue(args, 'addclass') thendescription = lib.addWdClass(description)endreturn description endreturn nilendfunction p.getAliases(frame)local args = getArgs(frame, {removeBlanks = true,frameOnly = true,})local lang = args.langlocal entity = findEntity(args)if not lang thenlang = mw.language.getContentLanguage():getCode()endif not entity or not entity.aliases or not entity.aliases[lang] thenreturn nilendargs.limit = tonumber(args.limit)local add_more = prepareShowMore(args)local Aliases = {}for i, alias in ipairs(entity.aliases[lang]) doif not args.limit or i <= args.limit thentable.insert(Aliases, alias.value)else break endendadd_more = handleShowMore(Aliases, args.limit, add_more)local list = makeList(Aliases, args, add_more)return lib.addWdClass(list)endfunction p.getId(frame)local args = getArgs(frame, {removeBlanks = true,frameOnly = false,parentFirst = false})if not args[1] thenreturn mw.wikibase.getEntityIdForCurrentPage()endfor _, titleString in ipairs(args) dolocal id = getIdFromTitle(titleString)if id thenreturn idendendreturn nilendfunction p.getSitelink(frame)return getSitelink(getArgs(frame, {removeBlanks = true,frameOnly = true,}))endfunction p.formatStatements(frame)local args = getArgs(frame, {removeBlanks = false, -- todoframeOnly = true,})local parent_args = getArgs(frame:getParent(), { removeBlanks = true })local addif parent_args.item and not args.id thenargs.id = parent_args.itemadd = lib.category('arbitrary-data')endlocal value = getFormattedStatements(args)if add and value thenreturn value .. addendreturn valueendfunction p.formatStatementsFromTemplate(frame)local args = getArgs(frame, {frameOnly = false,parentOnly = false,parentFirst = false,})return getFormattedStatements(args)endfunction p.getCount(frame)local args = getArgs(frame, {removeBlanks = true,frameOnly = true,})args.limit = nilreturn #p.getStatements(args)endfunction p.getRawValue(frame)return getRawValue(getArgs(frame, {removeBlanks = true,frameOnly = true,}))endfunction p.getQualifier(frame)local args = getArgs(frame, {removeBlanks = true,frameOnly = true,})args.limit = tonumber(args.limit)local add_more = prepareShowMore(args)local limit = args.limitargs.limit = 1args.isQualifier = trueif not args['qualifiers limit'] thenargs['qualifiers limit'] = limitendlocal qualifiers = getQualifiers(args)if #qualifiers == 0 thenreturn nilendadd_more = handleShowMore(qualifiers, limit, add_more)local Formatters = require 'Module:Wikidata/Formatters'local formattedQualifiers = {}for _, qualifier in ipairs(qualifiers) dotable.insert(formattedQualifiers, Formatters.getFormattedValue(qualifier, args))endlocal value = makeList(formattedQualifiers, args, add_more)return lib.addWdClass(value)endfunction p.getRawQualifier(frame)local args = getArgs(frame, {removeBlanks = true,frameOnly = true,})local limit = args.limit and tonumber(args.limit)args.limit = 1for _, qualifier in ipairs(getQualifiers(args)) dolocal Formatters = require 'Module:Wikidata/Formatters'return Formatters.getRawValue(qualifier)endreturn nilendfunction p.formatEntity(frame)local args = getArgs(frame, {removeBlanks = true,frameOnly = true,})args.id = args.id or p.getCurrentId()if args.id thenlocal Formatters = require 'Module:Wikidata/Formatters'return Formatters.formatRawValue(args.id, 'wikibase-entityid', args)endreturn nilendfunction p.compareStatements(frame)local args = getArgs(frame, {removeBlanks = true,frameOnly = true,})if not args.value thenreturn nilendlocal statements = p.getStatements(args)local compare = require 'Module:Wikidata/compare'return compare.compareValues(args.value, statements, args)end----- API pro moduly -----p.getCurrentId = mw.wikibase.getEntityIdForCurrentPagefunction p.formatStatementsFromLua(options)return getFormattedStatements(options)endfunction p.getSitelinkFromLua(options)return getSitelink(options or {})endfunction p.getStatements(args)local id = findEntityId(args)return getStatements(id, args)endfunction p.getRawValueFromLua(options)return getRawValue(options)endp.formatStatementsTable = formatStatementsreturn p
🔥 Top keywords: Πύλη:ΚύριαΕυρωπαϊκό Πρωτάθλημα ποδοσφαίρουΕιδικό:ΑναζήτησηΜιχάλης ΔημητρακόπουλοςΕυρωπαϊκό Πρωτάθλημα Ποδοσφαίρου 2024Σερζ ΙμπάκαΘανάσης ΠαπακωνσταντίνουΣεβίτσεΛορένζο ΜπράουνΆμλετΑλέξης ΚούγιαςΠαναθηναϊκός (καλαθοσφαίριση ανδρών)ΣλοβακίαΝηλ ΆρμστρονγκΚιλιάν ΕμπαπέΠρωτάθλημα Ελλάδας καλαθοσφαίρισης ανδρώνΚώστας ΣλούκαςΕυρωπαϊκό Πρωτάθλημα Ποδοσφαίρου 2020Ιβάν ΓιοβάνοβιτςΝατάσα ΓιάμαληΔημήτρης ΣταρόβαςΕυρωπαϊκό Πρωτάθλημα Ποδοσφαίρου 2004Τζεφ ΜπέζοςΕυρωλίγκα ανδρώνΠαλαιών Πατρών Γερμανός Γ΄Ρόμελου ΛουκάκουΕλλάδαΕθνική Γαλλίας (ποδόσφαιρο ανδρών)Λένα ΜαντάΔημήτρης ΓιαννακόπουλοςΟλυμπιακός Σ.Φ.Π. (καλαθοσφαίριση ανδρών)Τα Μυαλά που Κουβαλάς 2Παγκόσμιο Κύπελλο ΠοδοσφαίρουΠαγκόσμιο Κύπελλο Ποδοσφαίρου 2026Πρωτάθλημα Ελλάδας χειροσφαίρισης ανδρώνΟλυμπιακός Σ.Φ.Π. (ποδόσφαιρο)Ν'Γκολό ΚαντέΕθνική Ελλάδας (ποδόσφαιρο ανδρών)Ορθογραφία της Γαλλικής γλώσσας