Mòdul:Wikidata
Aquest mòdul extrau dades formatades de Wikidata. Funciona en la llengua local del wiki, o en una llengua específica per a proves, i té opcions de configuració.
Funcions
[modifica el codi]Funció bàsica:
claim
: Retorna el valor (o els valors) d'una declaració o d'un qualificador formatat amb paràmetres o amb un format per defecte segons el tipus de dada.
Altres funcions:
getLabel
: retorna una etiqueta en la llengua especificada, o la llengua per defecte.getParentValues
: retorna etiquetes i valors superiors d'una propietat de forma recursiva.linkWithParentLabel
: crea un enllaç amb l'etiqueta d'una propietat superior. Per exemple per enllaçar autor taxonòmic (P405) amb l'etiqueta abreviatura d'autor en zoologia (P835) definida en el corresponent ítem superior.yearsOld
: retorna l'edat d'una persona: diferència entre data de naixement (P569) i data de defunció (P570), quan estan les dues propietats; o diferència entre data de naixement (P569) i la data d'avui, si no hi ha P570. Retorna una (nn) o dues xifres (nn/mm) segons la precisió de les dates. No retorna res quan alguna de les dues està expressada en segles.getTAValue
: retorna els valors de TA98 (Terminologia Anatomica primera edició 1998) de la propietat P1323. No pren paràmetres i retorna una llista amb cada valor enllaçat a la font externa.
Altres utilitats: getSiteLink, lang, numStatements.
Funció claim
[modifica el codi]Retorna el valor (o els valors) d'una declaració o d'un qualificador formatat amb paràmetres o amb un format per defecte segons el tipus de dada. Per defecte està referit a l'ítem de Wikidata (Qid) associat a la pàgina actual.
Sintaxi completa:
{{#invoke:Wikidata|claim|item= |lang= |property= |qualifier= |value= |list= |tablesort= |formatting= |separator= |conjunction= |editicon= |showerrors= |default= }}
Sintaxi addicional pel format de taula:
{{#invoke:Wikidata|claim|item= |lang= |property= |qualifier= |qualifier2= |...|qualifierx= |formatting=table |tablesort= |sorting= |rowformat= |rowsubformat1= |...|rowsubformatx= |colformat0= |...|colformatx= |case0= |...|casex= |separator= |conjunction= |editicon= |showerrors= |default= |references= }}
Paràmetres generals
[modifica el codi]item=
(opcional) Permet indicar un ítem (Qid) diferent a l'ítem associat a la pàgina actual. Cal fer-lo servir amb moderació pel seu alt consum de recursos. Es pot usar també com a paràmetre de l'entorn superior de la plantilla. Té com a àliesfrom
.
lang=
(opcional) Permet indicar el codi d'una llengua determinada. Es pot usar també com a paràmetre de l'entorn superior de la plantilla. Per defecte usa la llengua local del wiki per a l'espai principal d'articles o la llengua d'usuari definida en les preferències per a altres espais de noms. Si no troba el valor en aquesta llengua ho intenta en les llengües alternatives definides en el MediaWiki. Per exemple per català les llengües alternatives són occità i anglès. En cas que el valor no s'hagi trobat en la llengua demanada, hi afegeix el codi de llengua i una icona d'etiqueta per a traduir-ho a Wikidata. Aquesta icona es pot eliminar amb el paràmetre editicon.
property=
(obligatori) Identificador de la propietat de la declaració (Pid). Es poden definir diferents propietats alternatives amb qualsevol separador, per exemple "P17 o P131", i obtindrà la primera que trobi. Accepta també una p minúscula, però no és recomanat. Igualment accepta l'etiqueta de la propietat, per exemple property=estat equival a property=P17 per la propietat estat (P17).
qualifier=
(opcional) Qualificador (Pid) del valor de la propietat.
value=
(opcional) Valor preferent al de Wikidata. Pot ser un paràmetre opcional en una plantilla amb el format {{{paràmetre|}}}, així si existeix pren el valor del paràmetre i si està buit llavors obté el valor de Wikidata.value=NONE
Amb aquest valor no treu res de Wikidata. Permet configurar un paràmetre per a que no tregui cap valor de Wikidata, o bé treure només valors informats en la plantilla amb{{{paràmetre|NONE}}}
. És equivalent a la sintaxi wiki:{{#ifeq:{{{paràmetre|}}}|NONE|<!-- no res -->}}
.
references=
(opcional) Amb qualsevol valor mostrarà les referències del valor obtingut. Si troba URL de la referència (P854) més o bé títol (P1476) o bé afirmat a (P248) llavors ho formata amb la versió local de Plantilla:Ref-web (Q5637226) i amb els paràmetres traduïts a la taula i18n["cite"] de Module:Wikidata/i18n. Si troba publicat a (P1433), més títol o afirmat, llavors ho formata amb Plantilla:Ref-publicació (Q5624899). En cas contrari ho formata com a text.- En cas d'usar-ho amb formatting=table (vegeu més avall) cal definir on han d'aparèixer les referències en el paràmetre "rowformat".
list=
(opcional):list=true
(per defecte) Mostra una llista de tots els valors (vegeu separator i conjuction més avall).list=false
olist=no
Mostra només un valor, el de rang més alt segons l'ordre preferent/normal/obsolet, o el més antic dels que tenen el rang més alt.list=firstrank
Mostra una llista dels valors amb el rang més alt. És equivalent a list=true si tots tenen el mateix rang. És equivalent a list=false si només hi ha un valor amb el rang més alt.list=lang
En cas de valors monolingües només treu els corresponents a la llengua del paràmetre lang. Vegeu el paràmetre lang i el formatting pel tipus de valor monolingüe (monolingualtext).tablesort=0
(opcional) ordenació ascendent de la llista. Per defecte l'ordenació és pel rang (preferent, normal, obsolet) i per l'antiguitat de definició a Wikidata.
separator=
(opcional) Separador a usar en llistes o taules. En cas de llistes, per defecte és MediaWiki:Comma-separator, en català una coma i un espai en blanc ', '. En cas de taules per defecte és un salt de línia <br />. En algun cas, si s'inclou en etiquetes que usen strip markers, pot ser que un <br /> no funcioni. L'alternativa és usar separator=LF per a un caràcter de control line feed.
conjunction=
(opcional) Conjunció a usar com a separador diferent entre els dos últims elements de la llista. Per defecte és igual a separator si està definit i si no és MediaWiki:And més MediaWiki:Word-separator, en català ' i '. En el cas de taules per defecte és un salt de línia <br />.
case=
(opcional) Cas gramatical a generar, depenent de la llengua local, o canvis a aplicar en el wiki local definits a Module:Wikidata/i18n. Com a casos generals tractats pel mòdul:- case=gender, segons la definició de sexe o gènere (P21) de l'element (pàgina actual, item o itemgender) treu el valor de forma femenina de l'etiqueta (P2521).
- case=smallcaps, treu l'etiqueta en versaleta.
- Vegeu la documentació de Module:Wikidata/i18n per a altres casos locals.
itemgender=
(opcional) Element on es comprova sexe o gènere (P21) per aplicar la forma femenina si fos necessari, per defecteitem
. S'usa en combinació amb case=gender o case=infoboxlabel.
editicon=
(opcional) Defineix si es posa alguna icona. Per defecte és true. Amb valors editicon=false o editicon=no és false. Les icones poden ser: una icona d'etiqueta en cas que l'etiqueta no s'hagi trobat en la llengua demanada, i un petit llapis com a icona per mostrar i poder editar la declaració a Wikitada (en el futur gestionat per mw:Wikidata Bridge). La icona del llapis es mostrarà si està definida en la configuració pel wiki a Module:Wikidata/i18n amb el valor ["addpencil"] = true.
showerrors=
(opcional) Amb qualsevol valor mostra el missatge d'error, si n'hi ha cap. Si no està definit mostrarà el paràmetre default en cas d'error.
default=
(opcional) Text a mostrar en cas d'error. No té cap efecte si està definit el paràmetre showerrors. Si no està definit, i tampoc el paràmetre showerrors, retornarà un valor buit en cas d'error.
sandbox=
(opcional) Amb qualsevol valor desvia les crides al Module:Wikidata/proves. El títol de la subpàgina l'obté de MediaWiki:Sandboxlink-subpage-name, en català "proves". El paràmetre es pot usar en l'entorn de plantilla. Com a paràmetre d'invoke o de require no té sentit per les proves. A usar només provisionalment o en previsualització, el mòdul de proves no hauria de tenir cap enllaç permanent.
Paràmetres de formatació
[modifica el codi]formatting=
(opcional) Format desitjat. Valors possibles, per a cada tipus de dada:
Dada amb valor d'element (entity):
formatting=raw
Número identificador de l'element.formatting=label
Etiqueta de l'element en la llengua demanada, alguna de les llengües alternatives o bé com a raw.formatting=sitelink
Títol de la pàgina de la Viquipèdia de l'element, sense enllaç. Si no existeix retorna el format raw amb el prefix d:.formatting=internallink
Enllaç intern sempre que sigui possible, bé a la pàgina de la Viquipèdia (sitelink) o bé a l'etiqueta (possiblement un enllaç vermell). Com a darrera opció enllaça a Wikidata.formatting=pattern
Format segons un patró usant $1 com a paràmetre a substituir. Pot incloure plantilles o funcions parser amb el format: {{((}}nom-de-la-plantilla{{!}}$1{{))}} o bé {{((}}nom-de-la-plantilla{{!}}nom_paràmetre{{=}}$1{{))}}, o similar.
- El format per defecte és un enllaç conduït, bé a sitelink o bé a wikitada:raw, usant label com a etiqueta de l'enllaç.
formatting=ucfirst
Variant del format per defecte amb majúscula inicial en l'etiqueta. En una llista només posa majúscula en el primer valor.formatting=ucinternallink
Combinació del format "ucfirst" i "internallink".
Dada amb valor de text (string):
- General:
formatting=pattern
Format segons un patró usant $1 com a paràmetre a substituir. Exemple:formatting=[http://whc.unesco.org/en/list/$1 $1]
. Per a propietats d'identificador que tenen un enllaç autogenerat per Wikidata, el patró es troba a la pàgina de discussió de la propietat. Pot incloure plantilles i funcions parser (vegeu més amunt per entity).
- Tipus URL:
formatting=weblink
Format d'enllaç extern, posant com a etiqueta el lloc web sense prefixos i amb punts suspensius si enllaça a una pàgina web: [http://www.example.com example.com], [http://example.com/en/page example.com…].
- Tipus identificador extern (external-id):
formatting=externalid
Format d'enllaç extern amb el patró de l'URL definit a format d'URL (P1630) en l'entitat Pid deproperty
.
- Tipus fórmula matemàtica (math):
- El contingut s'engloba amb l'etiqueta <math> que genera una imatge de la fórmula. Vegeu mw:Extension:Math i exemples a fórmula (P2534).
- Tipus notació musical (musical-notation):
- El contingut s'engloba amb l'etiqueta <score> que genera una imatge de la partitura. Vegeu mw:Extension:Score i exemples a motiu musical (P6686). Opcions de format:
formatting=sound
Afegeix l'atribut sound="1" a l'etiqueta generant un fitxer d'àudio que s'incrusta sota la imatge.
Dada amb valor numèric (quantity):
- Per defecte mostra només el número.
formatting=unit
Format numèric incloent la unitat. Si és diferent a 1 ho posa en plural segons Module:Wikidata/Units.formatting=unitcode
Format numèric incloent el codi o l'abreviatura de la unitat definit a símbol de la unitat (P5061). Es pot canviar a Module:Wikidata/Units. Si no el troba usa el nom de la unitat.convert=Qid
Fa una conversió a la unitat indicada pel seu indicador d'element Qid. Les conversions es fan segons els factors indicats en la unitat obtinguda per la unitat Qid en les propietats conversió a unitats del SI (P2370) o conversió a unitats estàndard (P2442), excepte per a temperatures on s'usen fórmules de conversió entre ºC, ºF i ºK. Per exemple, un valor de "74 polzades" amb convert=Q174728 (centímetre (Q174728)) dóna "188 centímetres" segons la conversió "2,54 centímetre" indicada a polzada (Q218593). L'arrodoniment de la conversió es fa mantenint la precisió per defecte del valor original segons el nombre de xifres significatives. Es pot combinar amb formatting=unitcode. Es pot usar també amb formatting=table, vegeu més avall.convert=default
Fa una conversió de les unitats indicades en la taula convert_default de Module:Wikidata/Units.convert=default2
Variant que mostra els dos valors: amb la quantitat convertida i entre parèntesis la quantitat original.convert=M
Fa una conversió a milions, arrodonint sense decimals, si la quantitat és major que 100 milions. Afegeix M davant de la unitat o el codi, per exemple Meuro, M$.
Dada amb valor monolingüe (monolingualtext):
formatting=language
Retorna el codi de llengua corresponent al valor monolingüe, per exemple en el cas de nom oficial (P1448).formatting=text
Recupera el text amb la marca de llengua, si és diferent a la llengua local del wiki:<span lang="en">United...</span>
.formatting=pattern
Format segons un patró usant $language i $text com a variables a substituir. Per exemple, "formatting=($language) $text" per treure el text amb el codi de llengua al davant entre parèntesis.list=lang
Sols treu els valors corresponents a la llengua definida o la llengua per defecte. Vegeu el paràmetre lang més amunt.
Dada amb valor de coordenades (globecoordinate):
formatting=latitude
Valor de latitud en una declaració de coordenades, en format decimalformatting=longitude
Valor de longitud en una declaració de coordenades, en format decimalformatting=globe
(per defecte) Valor del paràmetre globe amb el format usat en la plantilla {{coord}}, necessari per coordenades fora de la Terra.formatting=$lat...$lon...$globe
Format lliure amb paràmetres $lat i $lon, i opcionalment $globe, a substituir pels valors de latitud i longitud, en format decimal, més globe. Admet la inclusió de plantilles en format no expandit, p. ex. {{((}}coord{{!}}$lat{{!}}$lon{{))}}.formatting=dimension
Valor de dimensió en una declaració de coordenades, en metres, equivalent al paràmetre dim de GeoHack.
Dada amb valor de data (time):
- Per defecte usa el format definit a Module:Wikidata/i18n en la taula datetime segons la precisió de la data. Opcionalment, per precisió de dies:
formatting= sintaxi #time
Accepta qualsevol format vàlid de la funció d'analitzador #time. Per exemple: formatting=d-m-Y (18-12-2024), formatting=[[j xg]] (18 de desembre), formatting=Y (2024). Per defecte, està definit a Module:Wikidata/i18n com "j F Y" (18 desembre 2024), però amb una funció que permet modificar el dia 1r de cada mes.
- Hi afegeix el calendari quan pot ser ambigu: si la data és anterior al 15-10-1582 i està definida en gregorià o si és posterior al 4-10-1582 i està definida en julià. Vegeu calendari gregorià per a més informació.
Paràmetres de taula de propietat i qualificadors
[modifica el codi]propietat | qualificador1 | qualificador2 etc. | |
---|---|---|---|
valors 1a declaració | $0 | $1 | $2, etc. |
2a, etc. | $0 | $1 | $2, etc. |
formatting=table
Una declaració amb qualificadors es considera com una taula de valors mostrada a la dreta. Es pot indicar el format de les files i de cada columna de la taula. Els separadors per a cada fila són per defecte salts de línia (vegeu separator i conjunction més amunt). Si realment voleu el resultat en una taula wiki podeu usar separator=</tr><tr> amb les corresponents etiquetes d'apertura i tancament abans i desprès de l'invoke. Paràmetres específics per a aquest format:
Columnes:
qualifier1 ... qualifierx=
Qualificadors amb un número consecutiu i il·limitat. El paràmetre generalqualifier
és un àlies per qualifier1.qualifierx = Pid1 OR Pid2
Definició alternativa d'un qualificador quan el primer no existeix. Un cas d'ús típic és data (P585) OR data d'inici (P580). No hi ha límit per successius OR. Els espais en blanc d'abans i després són opcionals.qualifierx = Pid1/Pid2
De l'element corresponent a Pid1 (un qualificador o una propietat) obté la propietat superior Pid2. Permet obtenir dades addicionals en la taula encara que definides en l'element superior. Per exemple, per obtenir les línies de metro amb la seva icona: qualifier=P81/P154. Es pot combinar amb l'opció OR prenent prioritat l'OR.qualifierx = /Pid
Equivalent a l'anterior però sense Pid1, obté una segona propietat del mateix element. Permet obtenir dades definides bé en un qualificador o bé en una propietat.
colformat0 ... colformatx=
Format opcional a aplicar a les columnes, usant 0 per la propietat i 1-x pels qualificadors. Accepta la mateixa sintaxi queformatting
per a cada tipus de dada. Vegeu més amunt #Paràmetres de formatació.case0 ... casex=
Cas gramatical a aplicar a cada columna. El paràmetrecase
, sense numeració, s'aplica a tots els valors. Vegeu més amunt #Paràmetres generals.convert0 ... convertx=
Conversió d'unitats a aplicar a cada columna. Vegeu més amunt #Paràmetres de formatació per format numèric.whitelist0 ... whitelistx=
Llista dels ítems a mostrar per a una columna, usant qualsevol separador.blacklist0 ... blacklistx=
Llista dels ítems que no es mostraran per a una columna, usant qualsevol separador. En cas d'usar whitelist per a una columna i blacklist per a una altra els resultats poden ser inesperats (vegeu un comentari al respecte)
Files:
rowformat=
Format de les files de propietat més qualificadors. La propietat s'indica amb $0 i els qualificadors $1 a $x. Per defecte ésrowformat=$0 ($1, ... $x)
. Pot incloure marques de llistes * o # i també plantilles o funcions parser amb el format: {{((}}plantilla{{!}}paràmetre{{!}}nom{{=}}paràmetre{{))}}. En cas d'usar el paràmetre "references" (vegeu més amunt) cal indicar on han d'aparèixer les referències amb $R0.rowsubformat1 ... rowsubformatx=
Format previ a aplicar a $1-$x definits en rowformat, només si existeix el valor. Per exemple, "rowformat=$0 $1" i "rowsubformat1=($1)" resulta "$0 ($1)" o bé "$0" si $1 està buit, evitant uns parèntesis buits. Un rowsubformat pot contenir diferents variables $1-$x. Cal tenir en compte que les substitucions en fan de forma seqüencial per ordre numèric, per tant pot incloure un $x posterior però no un d'anterior ja que haurà estat tractat.tablesort=
amb valors de 0 a x, permet ordenar la taula per la propietat (0) o els qualificadors (1 a x). L'ordenació és ascendent alfabèticament, numèricament o per dates, segons el tipus de dada. Accepta múltiples claus usant qualsevol separador, p. ex.tablesort=0/2/1
. Per defecte l'ordenació és pel rang de la propietat (preferent, normal, obsolet) i per l'antiguitat de definició a Wikidata.sorting=-1
inverteix l'ordenació fent-la descendent. Amb qualsevol altre valor, o en el seu defecte, l'ordenació és ascendent. En cas detablesort
amb múltiples claus, el criteri desorting
s'aplicarà a totes per igual.list=false
Treu només la primera fila de la taula, segons l'ordre indicat o l'ordre per defecte.
Funció getLabel
[modifica el codi]Retorna l'etiqueta d'un element.
1=
(primer paràmetre posicional, requerit) Identificador de l'ítem de Wikidata (Qid o Pid). Àlies:item
,from
.lang=
(opcional) Codi de llengua, com en la funció claim. Vegeu més amunt #Paràmetres generals.itemgender=
(opcional) Identificador de l'ítem que determina el gènere a usar, com en la funció claim. Vegeu més amunt #Paràmetres generals.linked=
(opcional) Amb qualsevol valor, excepte 'no', retorna l'etiqueta enllaçada a l'article local o bé a Wikidata.label=
(opcional) Treu l'etiqueta indicada. Només té sentit amb linked= per generar un enllaç amb l'etiqueta de label=.editicon=
(opcional) permet eliminar la icona del llapis, com en la funció claim. Vegeu més amunt #Paràmetres generals.
Funció getParentValues
[modifica el codi]Retorna de forma recursiva valors d'una propietat usant com a etiqueta un valor superior. Per exemple pot estraure l'estructura administativa o la classificació de tàxons.
item=
(opcional) Permet indicar un item (Qid) diferent a l'article actiu. Aquest accés arbitrari a Wikidata està limitat pel seu alt consum de recursos.property=
(opcional) Propietat de la declaració (Pid). Per defecte és localitzat a l'entitat territorial administrativa (P131). Admet una llista de valors alternatius usant qualsevol separador.label=
(opcional) Propietat superior a usar com a etiqueta. Per defecte és instància de (P31).upto=
(opcional) Darrera iteració a extraure, si abans no ha trobat cap propietat no existent. Tipus de valors:- upto=etiqueta: darrera etiqueta a consultar, per exemple "upto=estat".
- upto=valor numèric: nombre màxim d'iteracions. Per defecte és 10 com a protecció, normalment un valor més alt del que serà necessari.
uptolabelid=
(opcional) Alternatiu aupto=etiqueta
usant el Qid.uptovalueid=
(opcional) Alternatiu auptolabelid
usant el Qid del valor en lloc de l'etiqueta. Admet valors múltiples usant qualsevol separador. Àlies uptolinkid mantingut provisionalment per compatibilitat.labelshow=
(opcional) Filtre d'etiquetes a mostrar, separades per una barra / si són més d'una. Per exemple "labelshow=municipi/comarca". Mostra el primer valor trobat per a cada etiqueta, sense repeticions posteriors de la mateixa etiqueta.showlabelid=
(opcional) Alternatiu alabelshow
usant Qid i qualsevol separador.include_self=true
(opcional) Inclou l'etiqueta de la pròpia pàgina en la llista generada.sorting=-1
(opcional) Ordenació descendent de la llista.last_only=true
(opcional) Només mostra el darrer valor obtingut. Per exemple amb uptolinkid=Qid només mostrarà el valor corresponent a Qid.formatting=
(opcional) Format del valor de la propietat. Per defecte és un enllaç conduït local o a Wikidata (vegeu més amunt formatting de la funció claim per valors entity).valuetext=
(opcional) Propietat a usar com a text de l'enllaç amb el valor 'property' com a enllaç conduït.labelformat=
(opcional) Format de l'etiqueta. Per defecte és "label" (vegeu més amunt formatting de la funció claim per valors entity).rowformat=
(opcional) Format de sortida per a cada parell de valors obtingut, indicant $0 per l'etiqueta i $1 pel valor. Per defecte és "rowformat=$0 = $1" mostrant per exemple "comarca = [[Maresme]]"separator=
(opcional) Separador per a cada parell de valors obtingut, per defecte és <br />.cascade=true
(opcional) opció de presentació amb sagnat. Pot ser útil quan només s'utilitza $1 a rowformat.
Nota: les etiquetes es modifiquen amb un format adequat a les necessitats d'una infotaula segons les definicions a Module:Wikidata/labels. Per exemple, "municipi del Brasil" es presenta com a "Municipi".
Funció linkWithParentLabel
[modifica el codi]Crea un enllaç amb l'etiqueta d'una propietat superior.
Accepta la majoria de paràmetres de la funció claim, excepte "formatting" que usa el valor per defecte "internallink". Addicionalment:
parent=
és la propietat a usar en l'etiqueta corresponent a l'ítem superior del valor obtingut per "property/qualifier". Accepta valors alternatius amb qualsevol separador, igual que el paràmetre "property" de la funció claim.
Funció yearsOld
[modifica el codi]Retorna l'edat avaluant la data de naixement i la data de defunció o en el seu defecte la data actual. Si les dues dates no tenen precisió de dia mostra el rang amb un marge d'1 o de 10 anys.
La seva sintaxi és: {{#invoke:Wikidata|yearsOld|formatting= |item= }}
. Els paràmetres item
i formatting
són opcionals. Per defecte retorna la quantitat.
formatting=unit
(opcional) Obté la unitat de la taula i18n["years-old"] de Module:Wikidata/i18n pel singular o el plural, a més de paucal usat en llengües eslaves com el rus. Vegeu la funció parser PLURAL a mw:Help:Magic words#Localization.formatting=pattern
(opcional) Format amb un patró usant $1 com a variable per la quantitat. Un exemple típic és " ($1 anys)". En aquest cas no avalua l'expressió en singular, plural o paucal i obté la unitat de anys (Q24564698). Una alternativa és usar un patró uniforme definit en la taula i18n["years-old"] que admet el paràmetre $1.
Utilitats
[modifica el codi]getSiteLink
Retorna el títol de pàgina local per un element donat. Sintaxi:{{#invoke:Wikidata|getSiteLink|<Qid>|<wiki>}}
- Sense cap paràmetre retorna la pròpia pàgina. Proporcionant l'id retornarà la pàgina local enllaçada en l'element corresponent. En cas de no existir o ser erroni no retorna res. Amb un segon paràmetre amb un codi de wiki obté la pàgina en el wiki especificat (enwiki, frwiki,... cawiktionary, etc.)
lang
Retorna el codi de llengua tal com el gestiona la funció claim. Vegeu #Paràmetres generals més amunt. Sintaxi:{{#invoke:Wikidata|lang|{{{lang|}}}}}
- El paràmetre
lang
és el codi de la llengua aportat explícitament.
numStatements
Retorna el nombre d'instàncies que té una propietat multi-valor. Permet decidir el tractament a donar a llistes llargues. Sintaxi:{{#invoke:Wikidata|numStatements|<Pid>|item={{{item|}}}
- Exemple: {{#invoke:Wikidata|numStatements|P47|item=Q1861}} → 6
validProperty
Retorna "null" si la propietat no existeix, o només té valors amb marcador "sense valor" o "valor desconegut" o obsolet. Sintaxi:{{#invoke:<nowiki>{{ROOTPAGENAME}}<nowiki>|validProperty|<Pid>|item={{{item|}}}
- Es pot usar com a alternativa a #property. Per compatibilitat amb aquesta funció parser, el paràmetre
from
és un àlies deitem
.
- Per a funcions de depuració vegeu Module:Wikidata/debug.
Redireccions a Wikidata
[modifica el codi]Un element de Wikidata pot ser una redirecció a un altre element, sovint com a resultat d'una fusió. Els valors d'una propietat poden ser provisionalment una redirecció, normalment corregit per bot al cap d'una setmana. El tractament de les redireccions és el següent:
- Funció claim
- Amb formatting=raw no retorna el Qid redirigit sinó el Qid final de la redirecció.
- Amb paràmetres whitelist o blacklist, si la llista de valors inclou alguna redirecció, considera tant el Qid redirigit com el nou Qid final.
- Funció getLabel
- Si es demana l'etiqueta d'un Qid redirigit, la buscarà en el Qid final.
En tots els casos afegeix un rastreig per poder corregir en les plantilles els Qid redirigits. Es poden trobar a Special:WhatLinksHere/Template:Track/wikidata/redirect.
La resolució de redireccions a Wikidata està pendent de phab:T157868. La solució tècnica adoptada provisionalment pot provocar un alt consum de recursos si un element no té cap etiqueta en la llengua local ni en les llengües alternatives. Es recomana comprovar el rastreig Special:WhatLinksHere/Template:Track/wikidata/label per afegir les etiquetes que manquen.
Crides des d'un altre mòdul
[modifica el codi]Totes les funcions (claim, getLabel, getParentValues, linkWithParentLabel, yearsOld, lang) es poden cridar des d'altres mòduls via require
amb els mateixos paràmetres proporcionats en una taula, per exemple:
- require("Module:Wikidata").claim{item="Q...", property="P...", ...}
- require("Module:Wikidata").getLabel({"Q...", ['lang']="ca"})
Les funcions claim i getLabel retornen com a segon valor la variable untranslated (nil o true) per a tractament específic en mòduls d'infotaules.
Exemples
[modifica el codi]Els exemples a continuació són mostres provades en les pàgines corresponents. Es poden fer proves a w:Viquipèdia:Proves de Wikidata, comprovacions en previsualització d'una pàgina o usar el paràmetre item
per un element de Wikidata diferent de la pàgina actual.
- Ús simple:
- {{#invoke:Wikidata | claim |property=P20}} a l'article Jean-François Champollion (Q260) dóna: París
- és la propietat lloc de defunció (P20), per defecte amb el valor enllaçat.
- Sense enllaç:
- {{#invoke:Wikidata | claim | property=P20 | formatting=label}} dóna: París
- Valor preferent:
- {{#invoke:Wikidata | claim | property=P20 | value={{{lloc_mort|}}} }} en la infotaula de l'article donarà
- el valor de {{{lloc_mort|}}} si està definit en l'article, en cas contrari París
- Valor tipus data:
- {{#invoke:Wikidata | claim | property=P569}} dóna la data de naixement amb el format per defecte:
- 23 desembre 1790 i 22 desembre 1790
- Formatat amb un patró:
- {{#invoke:Wikidata | claim | property=P214 | formatting=[http://viaf.org/viaf/$1 $1]}} dóna:
- 34454460
- Un únic valor:
- {{#invoke:Wikidata | claim | property=P18 | list=false | formatting=[[File:$1|thumb|upright=.5|Imatge de mostra]]}}
- Treu només la primera de les imatges definides.
- Format d'enllaç extern:
- Llista de valors:
- {{#invoke:Wikidata | claim | property=P47}} a l'Alcoià (Q746061) dóna:
- l'Alacantí, l'Alt Vinalopó, el Comtat, la Marina Baixa, la Vall d'Albaida i el Vinalopó Mitjà
- Cal notar l'enllaç conduït [[Comtat (País Valencià)|Comtat]]
- Llista formatada:
- {{#invoke:Wikidata | claim | property=P150 | separator=<br /> | conjunction=<br />}} dóna
- Alcoi
Banyeres de Mariola
Benifallim
Castalla
Ibi
Onil
Penàguila
Tibi
- Coordenades:
- {{#invoke:Wikidata | claim | property=P625 | formatting=latitude}} dóna: 38.7019
- {{#invoke:Wikidata | claim | property=P625 | formatting=longitude}} dóna: -0.4772
Dependències
[modifica el codi]- Subpàgines relatives al mòdul principal. El títol del mòdul està definit a la variable
module_title =
. En una nova instal·lació amb un títol diferent cal modificar aquesta variable.- ../i18n (opcional): traduccions de missatges i formats locals. Si s'usa
lang
diferent al local cerca la subpàgina corresponent, per exemple ../i18n/eu. Si no existeix, surt en anglès per defecte. - ../Units (opcional): tractament d'unitats, en plural o amb codi. Si no existeix, treu el nom complet de la unitat en singular.
- ../labels (opcional): excepcions i correccions d'etiquetes per a una infotaula.
- ../debug: pot aparèixer ocasionalment per la funció track de manteniment.
- ../i18n (opcional): traduccions de missatges i formats locals. Si s'usa
- Missatges Mediawiki utilitzats depenent de la llengua:
- Mediawiki:Comma-separator, Mediawiki:And, Mediawiki:Word-separator
- Mediawiki:Wikibase-snakview-snaktypeselector-novalue, Mediawiki:Wikibase-snakview-snaktypeselector-somevalue
- Mediawiki:Wikibase-time-calendar-gregorian, Mediawiki:Wikibase-time-calendar-julian
- Mediawiki:Translate-taction-translate
- MediaWiki:Sandboxlink-subpage-name
- Si és necessari es poden crear, o modificar, a Translatewiki. Per accedir-hi directament activeu l'enllaç corresponent amb el títol del missatge i el codi de llengua
[[translatewiki:MediaWiki:<missatge>/<lang>]]
.
Vegeu també
[modifica el codi]- Llibreria mw.wikibase. Són les funcions bàsiques que es poden trobar a Module:Wikibase.
local p = {}
function p.claim(frame)
local ret, _ = require('Module:Wikidades').claim(frame)
return ret
end
function p.getParentValues(frame)
return require('Module:Wikidades').getParentValues(frame)
end
function p.linkWithParentLabel(frame)
return require('Module:Wikidades').linkWithParentLabel(frame)
end
function p.yearsOld(frame)
return require('Module:Wikidades').yearsOld(frame)
end
function p.getLabel(frame)
local ret, _ = require('Module:Wikidades').getLabel(frame)
return ret
end
function p.getSiteLink(frame)
return require('Module:Wikidades').getSiteLink(frame)
end
function p.lang(frame)
return require('Module:Wikidades').lang(frame)
end
function p.numStatements(frame)
return require('Module:Wikidades').numStatements(frame)
end
function p.validProperty(frame)
return require('Module:Wikidades').validProperty(frame)
end
return p