Mòdul Discussió:Wikidades: diferència entre les revisions

El contingut de la pàgina no s'admet en altres llengües.
De la Viquipèdia, l'enciclopèdia lliure
Contingut suprimit Contingut afegit
Línia 620: Línia 620:
::::::::::{{ping|Vriullop}} Ets únic !. Res que no es pugui explicar a la documentació. És força coherent que on es pugui parlar de formats, es pugui parlar de tots.--[[Usuari:Amadalvarez|amador]] ([[Usuari Discussió:Amadalvarez|disc.]]) 13:08, 23 ago 2017 (CEST)
::::::::::{{ping|Vriullop}} Ets únic !. Res que no es pugui explicar a la documentació. És força coherent que on es pugui parlar de formats, es pugui parlar de tots.--[[Usuari:Amadalvarez|amador]] ([[Usuari Discussió:Amadalvarez|disc.]]) 13:08, 23 ago 2017 (CEST)
::::::::::: Passat de proves a versió en viu. A la documentació ja diu "colformat0 ... colformat9= [...] Accepta la mateixa sintaxi que formatting per a cada tipus de valor." --[[Usuari:Vriullop|V.Riullop]] ([[Usuari Discussió:Vriullop|parlem-ne]]) 13:30, 23 ago 2017 (CEST)
::::::::::: Passat de proves a versió en viu. A la documentació ja diu "colformat0 ... colformat9= [...] Accepta la mateixa sintaxi que formatting per a cada tipus de valor." --[[Usuari:Vriullop|V.Riullop]] ([[Usuari Discussió:Vriullop|parlem-ne]]) 13:30, 23 ago 2017 (CEST)

== error en eliminació duplicat de getparentvalue ==

{{ping|Vriullop}} Teníem un "poltergeist" [[Plantilla_Discussió:Infotaula_geografia_política#Subdivisions_administratives|denunciant]] que s'estroncava la cadena d'unitats territorials. Quan l'he reseguida detecto que es produeix quan es troba unitats amb P31 = Estat/Estats de .... que, aplicant la norma dels tàxons, ho elimina per duplicat. Però, ai las!, als pobles d'USA no passa. Causa: el seu P31 = estat federal està escrit en minúscula. [[:d:special/diff:549466750|Canviant]] el possible causant de l'error ({{q|Q465842}}), la cosa funciona. Suposo que el problema està a [[Mòdul:Wikidata/labels]]. Ho pots mirar ?. salut !--[[Usuari:Amadalvarez|amador]] ([[Usuari Discussió:Amadalvarez|disc.]]) 06:57, 31 ago 2017 (CEST)

Revisió del 06:58, 31 ago 2017

Ordenació alfabètica de llistes

L'actual codi, que reindexa els llistats de declaracions de forma que l'índex del primer passa de 0 a 1, sols funciona correctament si el llistat ja és ordenat alfabèticament a Wikidata. Caldria modificar-lo perquè el resultat siga una llista ordenada alfabèticament independentment de l'ordre que tinga a Wikidata. Una possible solució simple seria posar la següent línia de codi

table.sort(formattedStatements)--Sort output

abans de la línia de codi

return mw.text.listToText( formattedStatements, args.separator, args.conjunction )

i així utiltzaria l'enllaç a la Viquipèdia com a clau d'ordenació. Volia consensuar aquesta solució abans d'implementar-la i suprimir l'actual reindexació. --Albert Villanova del Moral (disc.) 23:22, 7 gen 2014 (CET)[respon]

Tanmateix, aquesta solució té inconvenients, com per exemple, els noms que comencen amb articles (seran ordenats pel seu article) o els noms que continguen nombres romans (IX anirà abans que V), entre d'altres… --Albert Villanova del Moral (disc.) 23:29, 7 gen 2014 (CET)[respon]
@Albertvillanovadelmoral: Em pensava que Wikidata ja ho ordena automàticament. Hi ha algun exemple de llista desordenada? --V.Riullop (parlem-ne) 21:35, 20 feb 2014 (CET)[respon]

Funció mw.wikibase.getEntity, obsoleta

D'acord amb el missatge en llista de correu, la funció mw.wikibase.getEntity ha estat substituïda per mw.wikibase.getEntityObject. Això suposa dos canvis de funcionalitat:

  1. Només detecta propietats amb majúscula (P123, no p123)
  2. Les taules queden numerades a partir d'1, com amb Lua, en lloc de 0.

Com que aquest mòdul s'usa en més de 300.000 pàgines, no sé per on començar ni com atacar-ho. Igualment afecta al Mòdul:Wikibase amb més de 100.000 inclusions. Ho deixo aquí com a recordatori. --V.Riullop (parlem-ne) 00:51, 21 feb 2015 (CET)[respon]

M'hi he llançat. Almenys, els casos de prova de la documentació funcionen bé, no hi ha pàgines noves en la categoria d'errors de script i mirant algunes pàgines a l'atzar de diferents casos, funcionen bé. Amb tantes inclusions és impossible comprovar-ho tot, espero que no surti cap problema. --V.Riullop (parlem-ne) 17:58, 22 feb 2015 (CET)[respon]

Anys de menys de 4 xifres

FormatStatements funciona bé amb dates però dóna sempre l'any amb quatre xifres, cosa que és una mica estranya entre el 999aC i el 999 perquè afegeix zeros al davant (exemple).

Hi ha alguna manera de fer que elimini els zeros del davant dels anys?--Pere prlpz (disc.) 15:27, 19 nov 2015 (CET)[respon]

Es pot fet, crec, però està complicat. Utilitza el mateix format "j F Y" que mw:Help:Extension:ParserFunctions#.23time on l'any sempre és amb 4 xifres. Abans d'intentar-ho, segur que és millor mostrar "19 agost 14"? Se'm fa igual d'estrany que "19 agost 0014". O potser "19 agost 14 dC" pels anys <100? --V.Riullop (parlem-ne) 16:51, 19 nov 2015 (CET)[respon]
Si és difícil, no sé com és d'important, i potser no gaire. La idea és fer-ho servir per la data per defecte de naixement i mort a la infotaula persona, i com que tampoc deuen ser tants els que les tinguin als anys de menys de quatre xifres potser no cal patir per si uns quants ens surten amb la data més lletja. De fet, el format que més m'agrada és el que hi ha posat manualment a la infotaula, "23 de setembre del 63 aC; 19 d'agost del 14 dC", però això deu ser més complicat encara.--Pere prlpz (disc.) 17:38, 19 nov 2015 (CET)[respon]
Amb preposicions el que és complicat és apostrofar, "19 d'agost de l'11 dC". Ho intentaré sense preposicions. --V.Riullop (parlem-ne) 19:22, 19 nov 2015 (CET)[respon]

Fet, no era tant complicat, només calia pensar-ho una mica. --V.Riullop (parlem-ne) 20:37, 19 nov 2015 (CET)[respon]

Precisió

Xuclar una data de Wikidata per posar-la en una infotaula semblava molt fàcil però em trobo amb un altre tema per resoldre: la precisió. El mòdul torna sempre la mateixa precisió, però hauria de variar segons com siguin les dades de Wikidata (exemple que torna un dia, tot i que la precisió de la mort és d'un any i del naixement d'un segle).

Hi ha alguna manera fàcil de fer-ho?

Si no, suposo que encara és menys greu que abans, perquè els articles afectats no seran gaires i sempre es poden arreglar a mà.--Pere prlpz (disc.) 20:56, 19 nov 2015 (CET)[respon]

En l'anglesa està resolt. Falta veure com s'adapta. Per demà. --V.Riullop (parlem-ne) 21:11, 19 nov 2015 (CET)[respon]
Fet. Ja funciona per precisions d'anys i segles. Caldria provar-ho amunt amb mil·lennis, desenes de milers d'anys, etc., i avall amb dècades i mesos. A notar que els segles no surten amb números romans: "segle 12". Els mil·lennis no surten amb números ordinals: "2 mil·lenni". En tot cas són millores pendents. --V.Riullop (parlem-ne) 12:51, 20 nov 2015 (CET)[respon]
Bona feina. Crec que per la infotaula persona ja és suficient.
He trobat un cas exòtic que dóna error: data de defunció 3200000 aC. No crec que arribi a sortir a cap article, ni sé si abans ja donava aquest error però el deixo anotat com a referència.--Pere prlpz (disc.) 13:13, 20 nov 2015 (CET)[respon]
Corregit un petit error. Falta, en aquest cas, posar el punt de milions però formatar correctament 32 centenars de milers és una complicació. Caldria convertir a 3,2 milions. Tot és possible, però per avui ja n'hi ha prou. --V.Riullop (parlem-ne) 13:37, 20 nov 2015 (CET)[respon]

Enllaços vermells

D'acord amb les pràctiques habituals i veient els comentaris a Discussió:Llista d'obres de Jacob van Ruisdael, les plantilles que posen paràmetres automàticament no haurien de posar enllaços a Wikidata sinó que, si l'article no existeix, haurien de posar un enllaç vermell (o alternativament treure l'enllaç). No veig que amb cap de les opcions de formatting surti un enllaç vermell. Hi ha alguna manera fàcil? Exemple (lloc de defunció de Winston Churchill).--Pere prlpz (disc.) 11:49, 20 nov 2015 (CET)[respon]

Amb formatting=label i posat tot dins d'un enllaç:
[[{{#invoke:Wikidata | formatStatements | property=p20 | rank=one | formatting=label}}]]
--V.Riullop (parlem-ne) 13:14, 20 nov 2015 (CET)[respon]
Bé, funciona per aquest cas concret, però té el desavantatge que no agafa el títol del sitelink, l'interwiki si existeix. --V.Riullop (parlem-ne) 13:41, 20 nov 2015 (CET)[respon]

Sol·licitud de modificació protegida 15-12-2015

{{modificació protegida}}

Crides de de Plantilla:Infotaula anatomia/core, i que en no existir aquest codi, no funciona les crides corresponents:

  • {{#invoke:Wikidata|getTAValue}}
  • {{#invoke:Wikidata|ViewSomething|claims|P1343|1|mainsnak|datavalue|value|numeric-id}}
  • {{#invoke:Wikidata|ViewSomething|claims|P1343|1|qualifiers|P304|1|datavalue|value}}

el codi a continuació és el corresponent al codi en:Module:Wikidata

Codi
-- This is used to get the TA98 (Terminologia Anatomica first edition 1998) values like 'A01.1.00.005' (property P1323)
-- which are then linked to http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/01.1.00.005%20Entity%20TA98%20EN.htm
-- uses the newer mw.wikibase calls instead of directly using the snaks
-- formatPropertyValues returns a table with the P1323 values concatenated with ", " so we have to split them out into a table in order to construct the return string
p.getTAValue = function(frame)
    local ent = mw.wikibase.getEntityObject()
    local props = ent:formatPropertyValues('P1323')
    local out = {}
    local t = {}
    for k, v in pairs(props) do
        if k == 'value' then
            t = mw.text.split( v, ", ")
            for k2, v2 in pairs(t) do
                out[#out + 1] = "[http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/" .. string.sub(v2, 2) .. "%20Entity%20TA98%20EN.htm " .. v2 .. "]"
            end
        end
    end
    local ret = table.concat(out, "<br> ")
    if #ret == 0 then
        ret = "Invalid TA"
    end
    return ret
end


-- look into entity object
function p.ViewSomething(frame)
    local data = mw.wikibase.getEntityObject()
    if not data then
        return nil
    end

    local f = frame.args[1] and frame or frame:getParent()

    local i = 1
    while true do
        local index = f.args[i]
        if not index then
            if type(data) == "table" then
                return mw.text.jsonEncode(data, mw.text.JSON_PRESERVE_KEYS + mw.text.JSON_PRETTY)
            else
                return tostring(data)
            end
        end
       
        data = data[index] or data[tonumber(index)]
        if not data then
            return
        end
       
        i = i + 1
    end
end

Jmarchn (disc.) 11:28, 15 des 2015 (CET)[respon]

Fet Fet! --V.Riullop (parlem-ne) 13:52, 15 des 2015 (CET)[respon]

Sol·licitud de modificació

Afegir la funció getValue que es troba a en:Module:Wikidata per poder utilitzar-se en la crida que es fa des de |data4= de {{Infotaula malaltia}}. Jmarchn (disc.) 23:58, 6 gen 2016 (CET)[respon]

@Jmarchn: Ja tenim una funció equivalent. Si el que vols és recuperar la data, pots fer {{#invoke:Wikidata | formatStatements | property=P1995}}.--Pere prlpz (disc.) 00:16, 7 gen 2016 (CET)[respon]
@Jmarchn:--Pere prlpz (disc.) 00:17, 7 gen 2016 (CET)[respon]

formatting

Quin formatting s'ha de fer servir per a recuperar l'enllaç extern que està incorporat al valor de la mateixa WD. Exemple: Palau de la Música (Q327940), identificador de Patrimoni Mundial (p757). He provat tots i sempre retorna el valor sense enllaç. Merci,--amador (disc.) 09:39, 26 gen 2016 (CET)[respon]

@Amadalvarez: Resposta particular per aquesta propietat: {{#invoke:Wikidata|formatStatements|property=p757 |formatting=http://whc.unesco.org/en/list/$1 }} (exemple).
Resposta general: El truc és posar com a formatting el patró que trobaràs a la pàgina de discussió de la propietat (en aquest cas d:Property talk:P757) al camp "Formatter URL". No sé que hi hagi cap opció baixar-se el patró automàticament i dubto que amb Lua es pogués arribar a fer, però no crec que calgui tampoc.--Pere prlpz (disc.) 11:04, 26 gen 2016 (CET)[respon]
@Pere prlpz: Merci. Per sort, en aquest cas el patró sempre és el mateix. Si l'enllaç emmagatzemat dins el value fos diferent en cada cas, el problema seria irresoluble per aquesta via. De moment, no em queixo; quan tingui un cas real, ja veurem que fem. Salut !.--amador (disc.) 14:00, 26 gen 2016 (CET)[respon]
@Amadalvarez: Diria que el patró és sempre únic per cada propietat de Wikidata. Quan una propietat és l'adreça d'un web que no segueix cap patró comú, aleshores s'emmagatzema la URL sencera i no hi ha cap patró. Per exemple, d:Property:P856, usada a d:Q76 [1].--Pere prlpz (disc.) 15:05, 26 gen 2016 (CET)[respon]

Fer que "item" sigui opcional

@Vriullop:: podries, si us plau, fer que el paràmetre "item" sigui opcional ?. És a dir, que no doni error si està buit. Merci,--amador (disc.) 18:24, 7 març 2016 (CET)[respon]

Fet. --V.Riullop (parlem-ne) 19:41, 7 març 2016 (CET)[respon]

Recuperar "monolingual text"

Hola @Vriullop:. No sé si faig alguna cosa malament o cal afegir algun paràmetre ignorat per mi, però no recupera les propietats tipus "monolingual text". Primer he pensat que era perquè no recuperava res si el valor de llengua propi no era el de l'element. He afegit "català" en Regne Unit (Q145) per provar-ho, i quan faig directament {{#invoke:Wikidata|formatStatements|property=p1448 |rank= |value= |formatting=|separator= |conjunction= |item=}} dins Regne Unit en previsualització, em diu "Tipus de valor (datavalue) desconegut.". Alguna idea?. Merci,--amador (disc.) 07:55, 11 maig 2016 (CEST)[respon]

No estava previst aquest tipus de valor, però sí un missatge per casos no previstos. Ara, ja funciona:
  • {{#invoke:Wikidata | formatStatements | property=p1448 | item=Q145}}:
    Error de l'script: la funció "formatStatements" no existeix.
  • {{#invoke:Wikidata | formatStatements | property=p1448 | item=Q145 | rank=preferred}}:
    Error de l'script: la funció "formatStatements" no existeix.
    a notar que en el codi font inclou la marca de llengua <span lang="en">United...</span>
  • {{#invoke:Wikidata | formatStatements | property=p1448 | item=Q145 | rank=preferred | formatting=language}}:
    Error de l'script: la funció "formatStatements" no existeix.
  • {{ {{#invoke:Wikidata | formatStatements | property=p1448 | item=Q145 | rank=preferred | formatting=language}} }}:
    {{ Error de l'script: la funció "formatStatements" no existeix. }}
No he vist forma de treure-ho en una llengua concreta, tipus rank=ca, però diria que no tenen sentit les traduccions de monolingual. Enjoy it! --V.Riullop (parlem-ne) 11:26, 11 maig 2016 (CEST)[respon]
@Vriullop: Merci !. Realment no té sentit fer plurilingüe un "monolingual text" , però jo em pensava que no m'ho retornava perquè no estava en la meva llengua. Bona feina !. --amador (disc.) 13:58, 11 maig 2016 (CEST)[respon]
@Vriullop:, em desdic del meu anterior missatge. Sembla que si té sentit tenir un multivalor de monolinguals, tal com li passa a Forma femenina de l'etiqueta (P2521), ex.:dins Actor (Q33999). He vist al es:modulo:Wikidata que tenen el getPropiedadEnEspanyol per a fer aquesta recuperació. Li pots fer un cop d'ull ?. Tornen a la càrrega amb el tema del tractament femení i ens hauríem de posar les piles. Merci,--amador (disc.) 14:19, 26 maig 2016 (CEST)[respon]
Gràcies per la pista, això ha fet que m'inspiri sense haver-hi d'entrar a fons. Tal com havia dit més amunt, crec que la millor forma de seleccionar-ne un és amb el paràmetre rank:
  • {{#invoke:Wikidata | formatStatements | property=P2521 | item=Q33999 | rank=ca}}:
  • Error de l'script: la funció "formatStatements" no existeix.
Només funciona per català i si no existeix no traurà res. --V.Riullop (parlem-ne) 15:57, 26 maig 2016 (CEST)[respon]

@Vriullop:, un altre detall, menor però que m'ha portat de corcoll: a les crides de monoligual text, el paràmetre "formatting" només pot contenir "language"; qualsevol altre valor (raw, label,..) o buit, comporta que no recupere cap valor, com si no existís.Merci,--amador (disc.) 15:39, 26 maig 2016 (CEST)[respon]

Ok, amb type=monolingualtext accepta formatting=language i formatting=text. El segon simplement treu el text sense les marques <span> de la llengua. Hi he afegit que només tracti aquests dos valors, qualsevol altre se'l salta i el tracta a banda si té algun sentit. --V.Riullop (parlem-ne) 16:10, 26 maig 2016 (CEST)[respon]

Categoria per articles amb paràmetre item

Per cert, estava pensant a fer una categoria oculta amb els articles que fan servir el paràmetre item, per tenir-los controlats. Jo pensava que seria anecdòtic per a fer tractaments estranys, però n'estic posant un munt amb les infotaules de "centre històric de xxxx" incrustada dins l'article de la ciutat. Per poder recuperar els paràmetres de la protecció cal fer servir la Q del centre històric i no la de la ciutat (valor per defecte). Com que és un codi "a sac" dins l'article, m'ha semblat que calia prendre precaucions. Que et sembla ?. --amador (disc.) 13:58, 11 maig 2016 (CEST)[respon]

Està bé tenir-los controlats, per minimitzar-los quan es pugui. Entenc que són casos que no fan servir el Mòdul:Infotaula sinó ja apareixerien a Categoria:Articles amb accés arbitrari a Wikidata. Està previst migrar a infotaula? Posa algun exemple concret. --V.Riullop (parlem-ne) 14:38, 11 maig 2016 (CEST)[respon]
@Vriullop:El tractament que feia amb "item" a {{infotaula edifici}} i {{indret}} és anterior al canvi que vas fer a infotaula. Ja em miraré si aprofito la teva feature i ho canvio. De moment, he incorporat la categorització en aquestes dues infotaules si tenen "item". Ja tenim els primers articles categoritzats !. Salut !--amador (disc.) 15:14, 12 maig 2016 (CEST)[respon]
És millor passar el paràmetre item a la infotaula: Special:Diff/16965426. Així, l'enllaç al peu de pàgina va l'element de l'item, no a l'element de la pàgina, i ja afegix la categorització. --V.Riullop (parlem-ne) 15:29, 12 maig 2016 (CEST)[respon]
@Vriullop: amb això tens raó, però a les crides a Wikidata els haig de mantenir, oi ?. Disculpa si dic rucades, però ja estic emboirat. --amador (disc.) 00:16, 13 maig 2016 (CEST)[respon]
Escampant la boira... la plantilla infotaula només formata les dades. Amb el paràmetre item fa l'enllaç a Wikidata i no fa cap consulta. La construcció de les dades, amb crides a Wikidata i amb un item si és necessari, es fa en les plantilles que criden la infotaula. Sempre que aquestes usin "item" caldria passar també el paràmetre a infotaula, per fer l'enllaç i per la categorització. --V.Riullop (parlem-ne) 09:39, 13 maig 2016 (CEST)[respon]
Disculpa, ahir vaig estar tot el dia carregant codis de Patrimoni Humanitat a WD i estava en un estat de confusió total. Ara ja ho veig tot més clar. Posaré al començament de totes les infotaules l'herència de "wikidata", "item" i "child" i així no m'oblido. Salut !--amador (disc.) 13:20, 13 maig 2016 (CEST)[respon]

Altre cop les unitats

@Vriullop: Sembla que quan la unitat d'una dimensió és "metre", la recupera sempre, tant si li has posat formatting=unit com si li poses raw. En cm. si que funciona. A Retrat de Lluís XIV (Q3399440) tens Amplada (P2049) en metres i Alçada (P2048) en cm. per povar-ho. Merci,--amador (disc.) 09:15, 12 maig 2016 (CEST)[respon]

Corregit. El problema no era amb els metres sinó amb quantitats sense la precisió ±. "277±1 Centímetre" es tradueix per "277 Centímetre". Caldria un tractament de les unitats per posar-ho correctament "277 cm" però encara seria millor "2,77 m". En el cas de "1,94 metre" no indica la precisió i per això estava fallant sense fer cap tractament. També falta una coherència d'unitats. Ara surt 277 x 1,94. Caldrien millores per traduir les unitats al SI. Justament a l'anglesa està en discussió en:Module talk:Wikidata#Importing units from wikidata, a veure si arriben a alguna conclusió i solucions. --V.Riullop (parlem-ne) 12:13, 12 maig 2016 (CEST)[respon]
Finalment he fet un tractament de les unitats. Ara treu l'etiqueta en plural si la quantitat és diferent d'1, i té la possibilitat de treure la unitat amb codi si està definit a Mòdul:Wikidata/Units i s'usa el paràmetre formatting=unitcode. En el submòdul s'explica en més detall. Ping Amadalvarez. --V.Riullop (parlem-ne) 11:03, 19 set 2016 (CEST)[respon]
Moltes gràcies, Vicenç! Pau Cabot · Discussió 11:07, 19 set 2016 (CEST)[respon]

qualificadors multivalor

@Vriullop: A can WD estan fent una proposta -que jo vaig suscitar inicialment- que suposaria tenir qualificadors multivalor. Em sembla que el nostre mòdul:Wikidata no les sap recuperar. He provat amb Palau de la Música Catalana (Q327940) on he carregat el qualificador Criteris de Patrimoni de la Humanitat (P2614) com sembla que ho carregarien, i només em recupera el primer valor. Ho sento, ja has vist al fil que estic mirant de frenar-lo, però un dia o un altre acabarà passant. Cada cop que em vull inspirar en el Wikidata perfecte, miro Barack Obama (Q76) i m'acollono. --amador (disc.) 20:54, 13 maig 2016 (CEST)[respon]

{{#invoke:Wikidata|ViewSomething|item=Q327940|claims|P1435|2|qualifiers|P2614|1|datavalue|value|numeric-id}} -> Error de l'script: la funció "ViewSomething" no existeix., és a dir [[d:L'identificador no té la forma [Q+número] ni és un [número] |L'identificador no té la forma [Q+número] ni és un [número] (L'identificador no té la forma [Q+número] ni és un [número])]]. Caldria un bucle pel paràmetre "1" fins a "3":
{{#invoke:Wikidata|ViewSomething|item=Q327940|claims|P1435|2|qualifiers|P2614|2|datavalue|value|numeric-id}} -> Error de l'script: la funció "ViewSomething" no existeix.
{{#invoke:Wikidata|ViewSomething|item=Q327940|claims|P1435|2|qualifiers|P2614|3|datavalue|value|numeric-id}} -> Error de l'script: la funció "ViewSomething" no existeix.
Com diu el seu nom és una funció per veure qualsevol cosa. No està documentada, el truc és començar pel primer paràmetre i anar afegint-ne segons l'arbre de dades que treu. Ara bé, el tractament de les dades ja es fa complex. --V.Riullop (parlem-ne) 09:41, 14 maig 2016 (CEST)[respon]

propietat rara

@Vriullop:. Prometo que he mirat de trobar una explicació per poder esquivar-ho, però no hi trobo la lògica. Prova {{#invoke:Wikidata | formatStatements | property=p1436 |rank= }} amb Rijksmuseum i Museu del Louvre. Tots dos funcionen malament, però de forma diferent. En el primer repeteix la sèrie i al segon només dóna el primer valor. Originalment ho tenia amb separators i value, però ho he reduït a la mínima expressió per eliminar culpables i actua igual. Semper fidelis.--amador (disc.) 08:02, 19 juny 2016 (CEST)[respon]

@Amadalvarez: Aquesta no és fàcil. Tornem a estar amb el problema del format de quantitats, però ara amb valors múltiples. Ho he arreglat a mitges. Les diferències entre els dos museus és que un té els dos valors rank=normal i l'altre té un rank=preferred. Això fa difícil d'explicar el comportament però, per a que me'n recordi en el futur, el resultat és que un treu dos valors mentre que l'altre en treu un de sol concatenat. Prova-ho amb {{#invoke:Proves/Vriullop | formatStatements | property=p1436}}, no només aquests dos casos sinó amb qualsevol propietat amb valor numèric que se t'acudi per comprovar que no es trenca res. --V.Riullop (parlem-ne) 12:05, 19 juny 2016 (CEST)[respon]
@Vriullop: Ets tan bo que costa trobar reptes per a tu. Aniré provant. Ho he provat amb Nombre de visitants per any (P1174) que són sèries més llargues i funciona. Merci,--amador (disc.) 12:33, 19 juny 2016 (CEST)[respon]
Actualitzat de les proves. For the record Special:Diff/17107424 (formatPropertyValues, la millor manera de formatar quantitats, obliga a tornar sobre l'objecte entity en lloc de la taula mainsnak; workaround: variable valuenum per a acceptableRanks funciona miraculosament). --V.Riullop (parlem-ne) 12:10, 20 juny 2016 (CEST)[respon]

@Vriullop:. Seguim:

  • Crida = {{#invoke:Wikidata | formatStatements | property=p2769|rank=preferred }}, només hi ha un valor i és "normal". Resultat= res. (ex:Europol (Q207203)
  • Crida = {{#invoke:Wikidata | formatStatements | property=p2769 }}, només hi ha un valor i és "normal". Resultat= 100.000.000. (ex:Europol (Q207203)
  • Crida = {{#invoke:Wikidata | formatStatements | property=p1128|rank=preferred }}, només hi ha un valor i és "preferred". Resultat= res. (ex:Europol (Q207203)
  • Crida = {{#invoke:Wikidata | formatStatements | property=p1128}}, només hi ha un valor i és "preferred". Resultat= res. (ex:Europol (Q207203)

--amador (disc.) 15:28, 20 juny 2016 (CEST)[respon]

@Amadalvarez: Solucionat, crec. Aquests casos em fan pensar que la lògica no és gaire lògica. Si rank=preferred hauria de treure el millor valor possible, és a dir el "normal" si no hi ha cap "preferred". Correcte? He estat temptat a fer una remodelació en profunditat, però no són hores i això necessita temps, a banda de que ja començo a odiar aquest mòdul si no fos per la teva insistència (justificada). --V.Riullop (parlem-ne) 22:34, 20 juny 2016 (CEST)[respon]
@Vriullop: La documentació diu una cosa similar: "si només hi ha un valor, el retorna independentment de la qualificació" (cosa que continua sense fer: P2769 en Q207203). No em semblaria malament que retornés el "one", si no hi ha cap "preferred", tant si és element únic com si és multivalor. Tampoc m'importaria que sàpigues retornar el "més modern" o una llista "ordenada" per data/data creació/data d'inici (A/D). Però no vull abusar si estàs en hores baixes. Per cert, que fan a altres wikis? No he trobat cap infotaula anglesa amb WD. Salut i gràcies, --amador (disc.) 06:21, 21 juny 2016 (CEST)[respon]

Remodelació

Com a continuació del fil anterior, he fet una remodelació important en proves, per tenir una idea: https://ca.wikipedia.org/wiki/Especial:ComparePages?page1=M%C3%B2dul%3AWikidata&rev1=17110491&page2=M%C3%B2dul%3AWikidata%2Fproves&rev2=17111846&action=&diffonly=&unhide=. Amadalvarez: no eren hores baixes, és que no eren hores, per funcionar necessito un cafè matiner, motivació i un cigarret. Cal provar-ho intensivament, per diferents tipus de valors, substituint #invoke:Wikidata per #invoke:Wikidata/proves. Novetats:

  • He unificat rank=one i rank=preferred. Amb qualsevol valor "rank" treu el millor possible començant pels preferred si existeixen. Si està buit treu la llista de tots els valors, si n'hi ha més d'un.
  • Per valors multilingües, rank=ca és ara formatting=ca o qualsevol altre valor de formatting, vàlid o no.
  • property accepta també el nom de la propietat, exemple: {{#invoke:Wikidata/proves | formatStatements | item=Q137247 | property=periàpside}}
  • Nou paràmetre "default" per si hi ha algun error o no hi ha res. Exemple {{#invoke:Wikidata/proves | formatStatements | item=Q137247 | property=P007 | default=Bond, James Bond, no hi és}}
  • S'unifica el tractament de formatStatements i formatQualifiers. Algunes millores del primer no estaven en el segon. De fet, és una nova funció "claim" que les unifica i la idea és que les pugui substituir. El paràmetre "qualifierProperty" se substitueix per "qualifier" per fer-ho més entenedor. Exemple: {{#invoke:Wikidata/proves | claim | item=Q207203 | property=P1128 | qualifier=P585}}

Soluciona els problemes de format numèric anteriors, però es poc escapar algun bug. Amb aquesta remodelació espero entendre'ls millor. --V.Riullop (parlem-ne) 12:42, 21 juny 2016 (CEST)[respon]

Jo !, ha quedat alguna cosa ?. Bé, tranquil que a mi també em passa. Cada nova "infotaula base" que faig millora l'anterior i penso que haig de tornar enrere a incorporar millores descobertes. Terrible, cada cop la llista de "to do" és més gran. Rebut. Vaig provant i reporto aquí. Gràcies,--amador (disc.) 12:59, 21 juny 2016 (CEST)[respon]
El nou paràmetre default permetrà simplificar la sintaxi de plantilles evitant una doble invocació:
 {{if:{{#invoke:Wikidata|formatStatements...}}
  | {{#invoke:Wikidata|formatStatements...}}
  | Sense dades
 }}
 {{#invoke:Wikidata|formatStatements...|default=Sense dades}}
--V.Riullop (parlem-ne) 16:17, 21 juny 2016 (CEST)[respon]
@Vriullop: He transformat "infotaula d'organització" a la nova versió en Usuari:Amadalvarez/Infotaula d'organització. Veient com mostra els exemples de la documentació, dedueixo que el paràmetre "default" és un regal enverinat, perquè si no hi és (ara no està en lloc, encara) retorna un missatge i en no ser "null", la infotaula el tracta. L'altre cosa és que en la "infotaula d'edifici" incrustada surt el missatge que el paràmetre "item" és erroni (perquè està buit). Aquest error ja m'ho havies arreglat quan vas implantar "item". Faré proves amb aquesta infotaula en articles reals i segueixo reportant. --amador (disc.) 17:58, 21 juny 2016 (CEST)[respon]
@Amadalvarez: explica'm això del default. Realment ara veig que el tractament d'errors ha canviat i es tracta de fer-ho compatible sense haver de modificar plantilles. El default és per millorar en les noves. Pot treure l'error o no res, quina hauria de ser la sortida per defecte?, o en quins casos l'error i en quins no res? --V.Riullop (parlem-ne) 21:36, 21 juny 2016 (CEST)[respon]
@Vriullop:: He transformat la crida posant-li "claim" i "qualifier" i deixant la resta igual. Lògicament, el default no ho té cap crida. Amb aquest estadi, tots els accessos a una Property que no existeix en aquell ítem donen error i, en no tenir previst el default, retorna un "missatge" en comptes de null. He posat el default (sense més) en un parell de crides i el comportament és correcte (el d'abans), ja que entén que "expressament no vull fer res". Jo crec que el default s'hauria d'executar si existeix. És com el "false" d'un if, és opcional, i si no hi poses res, no fa res. Ho veus ?
Per cert, també he provat amb èxit el formatting =ca, i també recupera bé les dades que van iniciar aquest enrenou (Europol i Frontex). Bona nit, --amador (disc.) 22:40, 21 juny 2016 (CEST)[respon]
He modificat el tractament d'errors. D'entrada no treu res per fer-ho compatible amb la versió actual. Si es vol veure l'error cal afegir showerrors=sip (qualsevol valor). Si es vol que faci alguna cosa llavors s'afegeix default=sense dades.
La idea és poder substituir la versió actual per la versió en proves, per tant ha de ser compatible amb formatStatements, formatQualifiers, qualifierProperty, p minúscula i tota l'estructura anterior. Les novetats, canvi de funció a claim, default, rank únic, showerrors són per aplicar una vegada fet el canvi. El que interessa ara és comprovar que funcioni canviant només Wikidata per Wikidata/proves. Després, si cal, ja farem un rastreig per aplicar millores. --V.Riullop (parlem-ne) 09:39, 22 juny 2016 (CEST)[respon]

Obro llista i vaig apuntant:

  • Descobert lo de "item no trobat". Li passo com a item el que tingui a la P276 (null, si no en té). Ara li estava passant "propietat no trobada", perquè no feia servir default.
  1. La Property del qualificador no l'entén amb "p" minúscula.

--amador (disc.) 18:39, 21 juny 2016 (CEST)[respon]

Fet, ara entén la minúscula. De totes formes és millor anar-se acostumant a posar la P sempre majúscula, única forma que entén Wikidata. Hi he afegit també l'àlies qualifierProperty per facilitar la transició. --V.Riullop (parlem-ne) 21:14, 21 juny 2016 (CEST)[respon]

No funciona {{#invoke:Wikidata/proves | claim | property=P1436 |rank= |item=Q19675}}. Curiós que repeteix l'error 2 cops amb una "i, coincidint el nombre de valors que té. El primer valor és preferred, però ho he canviat a normal i tampoc funciona. Seguim,--amador (disc.) 08:37, 22 juny 2016 (CEST)[respon]

Arreglat. S'havia espatllat en intentar convertir la p minúscula del qualifier inexistent. --V.Riullop (parlem-ne) 09:49, 22 juny 2016 (CEST)[respon]
@Vriullop: provant el cas anterior descobreixo que no sé com treure una llista complerta. He provat amb rank= i sense rank i he canviat de property (P1174 del mateix Q, per exemple) i sempre treu el preferred o el primer.--amador (disc.) 10:16, 22 juny 2016 (CEST)[respon]
Això em passa per excés de confiança, per fer canvis desprès d'haver-ho provat i no al revés. Arreglat. Estava pensant que el paràmetre rank ja no tindrà sentit semàntic, no hi ha opció d'un rank determinat sinó que amb qualsevol valor sempre és el preferred en primera opció o el one en segona. Per treure el preferred/one o bé la llista serà més entenedor un nou paràmetre list que és l'antònim de rank: rank=qualsevol equival a list=false; rank buit o inexistent equival a list=true. Amb cada pas ens alineem més amb l'anglesa, tot i l'enfocament de base diferent que tenen. --V.Riullop (parlem-ne) 10:47, 22 juny 2016 (CEST)[respon]

Bé, això fa bona pinta. Veig que ja has reescrit la documentació ! fa l'ullet. Molt bé. Per cert, ara que estàs animat, costaria molt recuperar la data sense editar, és a dir, ddmmaaaa ?. Fa uns dies que estava pensant a poder incorporar la {{data de defunció i edat}} quan es recupera la info de WD, però em fa mandra haver de decodificar el mes per enviar-li a una funció que el tornarà a editar. Merci, --amador (disc.) 15:03, 22 juny 2016 (CEST)[respon]

Per les dates amb precisió de dia com a mínim hi he afegit formatting lliure segons els valors acceptats per la funció parser #time: mw:Help:Extension:ParserFunctions/ca#.23time. Exemples:
  • {{#invoke:Wikidata/proves|claim|property=P570|item=Q379785|formatting=d.m.Y}} → Error de l'script: no existeix el mòdul "Wikidata/proves".
  • {{#invoke:Wikidata/proves|claim|property=P570|item=Q379785|formatting=M}} → Error de l'script: no existeix el mòdul "Wikidata/proves".
  • {{#invoke:Wikidata/proves|claim|property=P570|item=Q379785|formatting=[[d xg]] "de" [[Y]]}} → Error de l'script: no existeix el mòdul "Wikidata/proves".
El format que treu per defecte correspon a "formatting=d F Y".
Ara bé, la plantilla:"data de defunció i edat" té 3 paràmetres per a cada data obligant a triplicar les invocacions. Una possible alternativa de càlcul directe: {{#expr:( {{#invoke:Wikidata/proves|claim|property=P570|item=Q379785|formatting=U}} - {{#invoke:Wikidata/proves|claim|property=P569|item=Q379785|formatting=U}} ) / (60*60*24*365) - 0.5 round 0 }}Error de l'expressió: Operador < inesperat
M'explico. #time:U és el truc per fer càlculs de dates, converteix la data en segons des de l'1-1-1970. Trec la data de defunció i de naixement amb format U (segons relatius), els resto, els converteixo en anys i arrodoneixo per sota. Bé, és un exercici, tampoc seria cap desastre usar la plantilla i assegurar-se amb una cosa que ja funciona. --V.Riullop (parlem-ne) 18:40, 22 juny 2016 (CEST)[respon]
Ja m'agrada lo de la fórmula. En tot cas, no estalviem invocacions, perquè la data naixement l'haurem invocat tres línies més amunt i com que no ens podem guardar variables per reutilitzar-les, doncs toca preguntar molts cops. La infotaula d'organització la vaig refer sencera per a reduir accessos. Ara té dues parts: la primera recupera de WD / manual sense importar-li el formateig final (els típics Ifs de si està aquest, però no l'altre, etc.. ) i munta un diccionari amb totes les dades i li passa a la segona part que només manega variables, no accedeix a WD i s'encarrega del format de presentació. Per condicionar capçaleres havia arribat a tenir fins a 20-25 paràmetres: els que tocaven, la versió WD i els àlies idiomàtics per compatibilitat. A més facilita molt el manteniment. Em sembla que agafaré la infotaula persona i faré el mateix, perquè li varem posar pocs accessos a WD per prudència, però podríem ampliar. Merci per l'invent cronogràfic. Ja miraré de fer-ho fàcil. --amador (disc.) 20:52, 22 juny 2016 (CEST)[respon]
Correcte. La solució per tractar variables és passar-les a una subplantilla (normalment /core o /base) que les tractarà com a nous paràmetres. A més, se simplifica tot plegat, una plantilla principal per tractar tots els possibles valors, àlies i variables i una subplantilla per la sintaxi pròpiament. --V.Riullop (parlem-ne) 21:14, 22 juny 2016 (CEST)[respon]
Correcció, és millor truncar que arrodonir per sota: {{#expr: trunc ( ( {{#invoke:Wikidata/proves|claim|property=P570|item=Q379785|formatting=U}} - {{#invoke:Wikidata/proves|claim|property=P569|item=Q379785|formatting=U}} ) / (60*60*24*365.25) ) }}. Bé la fórmula no és gaire exacta per culpa dels anys de traspàs. Si necessites recalcular millor usa {{age}} o la seva lògica. --V.Riullop (parlem-ne) 22:23, 22 juny 2016 (CEST)[respon]

Actualitzat a la nova versió de les proves. --V.Riullop (parlem-ne) 11:02, 28 juny 2016 (CEST)[respon]

Edat

@Vriullop: Poso extemporàniament aquest fil fora de seqüència, perquè és de facto una continuació de l'anterior.

M'hi he posat amb el tema {{data de defunció i edat}} . La via ràpida i amb 3 accessos a WD em funciona si la precisió informada és "dia". Quan és més gran (any), el mòdul retorna l'any en totes les opcions de #time (és a dir, la "n" i la "d") quan lo desitjable seria un null. He provat el tractament d'error, però no actua perquè, com que existeix la propietat, no dóna error. Si la precisió és "mes" (no tinc cap exemple, perquè he modificat un individu a l'atzar i després he revertit), ho retorna en text ("maig 1435", en el meu exemple) tant per l'opció "n" com la "d". És a dir, no tracta bé ni el mes tot i tenir un valor vàlid. Per últim, he mirat de fer proves amb el format "U", però no actua en dates incompletes. Veuràs provatures aquí. De moment ho engego en la versió multiaccés i només per a dates completes. Ja em diràs, merci. --amador (disc.) 12:55, 23 ago 2016 (CEST)[respon]

@Amadalvarez: Complicat. Entenc que el mòdul fa el que ha de fer, treure les dades que té ignorant formats impossibles. Si no fos així, trauria el dia 1 per totes les precisions inferiors a dia. Intentar que retorni alguna altra cosa no és viable perquè el format #time és massa obert. Per exemple, si intentes {{#time:d|2016}} tampoc dóna error ni null, retorna el dia d'avui acabant d'omplir la data incompleta. El mòdul no s'hauria d'adaptar a necessitats de plantilles, sinó al revès, caldrà una plantilla nova que tracti les dates retornades pel mòdul, per exemple convertint "1435" en dia buit i mes buit. Ara mateix només tracta el format #time per precisions de dia. Per precisió de mes s'hi podria afegir, però tenint en compte que si li demanes el dia retornarà sempre 1. L'alternativa de treure el format ISO ("c") la veig complicada de tractar: "+1435-01-01T00:00:00Z" pot induir a error interpretant l'1 de gener si no se sap que la precisió és d'any. --V.Riullop (parlem-ne) 13:44, 23 ago 2016 (CEST)[respon]
@Vriullop: D'acord. En el segon tema, però, sembla estrany que si escrius a WD "5 1435" ho entén i deixa "maig 1435" i quan ho recuperes manté el "maig 1435" i no sàpiga retornar "5" quan li demanen "n". Però bé, no és crucial (penso). A veure com me'n surto. Gràcies,--amador (disc.) 13:56, 23 ago 2016 (CEST)[respon]
Fet Fet! El millor tractament possible amb {{Data de defunció i edat/wd}}. Per a precisió "dia" en data defunció i "any o dia" en data naixement. --amador (disc.) 15:21, 24 ago 2016 (CEST)[respon]

Resta 1 mes a la data

@Vriullop: Et volia preguntar si havies pujat la nova versió i, ai las !, el Pau s'ha trobat que {{#invoke:Wikidata/proves | formatStatements | property=P576 | rank=one |item=Q11954195 }} li resta 1 mes a la data, tant en versió actual com a /proves. He mirat de modificar-la amb "precisió manual a dia" i tampoc. Confio en tu. Merci,--amador (disc.) 06:45, 28 juny 2016 (CEST)[respon]

Increïble, coses de Wikidata. Quan la precisió és d'un mes, desa la data com el dia 0 del mes. En formatar interpreta el dia anterior. Igualment fora del mòdul: {{#time: j F Y | +1980-06-00T00:00:00Z }} retorna "31 maig 1980". Arreglat amb solució barroera però simple: sumar-hi un dia. --V.Riullop (parlem-ne) 10:06, 28 juny 2016 (CEST)[respon]

Comportament formatting

Ei, @Vriullop: Quant de temps sense emprenyar-te !. Tinc un tema menor però que m'ha atabalat bastant per poder diagnosticar-lo. En un camp de data, no es comporta igual si no hi ha "formatting" (mostra el contingut en dd mmmm aaaa) que si hi ha "formatting" però està buit el paràmetre (en aquest cas, no mostra res). Si el valor real de la propietat només conté any, el mostra en tots dos casos. Bé, ja sé com actuar, però les instruccions porten a engany. Salut, company.--amador (disc.) 22:36, 14 jul 2016 (CEST)[respon]

Hi he afegit que ignori formatting buit. Normalment és el que hauria de fer amb tots els paràmetres i és millor definir-ho així d'entrada, però a aquestes alçades cal provar cas a cas. --V.Riullop (parlem-ne) 09:39, 15 jul 2016 (CEST)[respon]

Qualificadors monolingual

@Vriullop: Un altre cas singular. No retorn el valor d'un monoligual text amb formatting=ca quan no és el primer de la llista. Exemple: {{#invoke:Wikidata | claim | property=p18| qualifier =P2096| formatting=ca | item=Q1716 }} No surt. He provat amb list=true (per si de cas), i tampoc. Si inverteixes l'ordre a WD deixant el francès darrera, llavors si que ho retorna. Thanks, --amador (disc.) 13:04, 29 jul 2016 (CEST)[respon]

Uf. Llistes i tractament de monolinguals només està preparat per property, no per qualifier. La clau està en la línia
if qualifier then return qualifier[1] end
que es queda sempre amb el primer. La solució és per nivell avançat i ja no serveix copiar solucions d'altres wikis. Per la meva part queda a l'espera d'alguna il·luminació sobtada. --V.Riullop (parlem-ne) 14:50, 29 jul 2016 (CEST)[respon]
Bah. És quan dormo que hi veig clar i només necessitava una migdiada: Special:Diff/17260950. --V.Riullop (parlem-ne) 18:56, 29 jul 2016 (CEST)[respon]
Felicitacions !! Tens alguna lectura recomanada tipus "LUA for beginners". Per més que el miro, no l'entenc i ja m'agradaria. Fes-li una ullada a Mòdul:Map que serà la propera estrella si evoluciona això dels mapes dinàmics. Fa una cosa (perquè l'he vista funcionar, no perquè l'hagi trobat al codi) molt curiosa: recopila coordenades que li han anat posant amb unes plantilles dins el text, separades per tipologies. Em sembla màgic. --amador (disc.) 22:27, 29 jul 2016 (CEST)[respon]
Contesto a la discussió d'usuari, ens anem del tema. --V.Riullop (parlem-ne) 17:19, 31 jul 2016 (CEST)[respon]

Llista ordenada

@Vriullop: He vist que a can ES tenen la "infotaula persona" feta en LUA. M'ho miraré, però massa complicat per ara. El que he vist que tenen (i això si que em faria molt feliç tenir-ho) és la capacitat de recuperar una llista ordenada. Tot i que no està (explicitament lo de la llista) a les instruccions de es:Módulo:Wikidata, és aquí on es gestiona via un mòdul complementari per a formats especials (es:Módulo:Wikidata/Formatos). He arribat a través de es:plantilla:Propiedad on si que l'esmenta als exemples. La "plantilla propiedad" és una idea interessant per a fer més amigable l'ús de WD per a novells. Bé, la pregunta: és pot aconseguir recuperar una llista ordenada ?. Ordenada, preferiblement per un qualificador, com ara una data. Espero les teves bones notícies.--amador (disc.) 21:41, 28 ago 2016 (CEST)[respon]

@Amadalvarez: Hauries de concretar què vols ordenar, amb algun exemple si és possible. Imagino que no et refereixes a l'opció espanyola lista=ordenada que en realitat fa una llista numerada. Els casos d'ordenació poden ser inimaginables. --V.Riullop (parlem-ne) 12:59, 10 set 2016 (CEST)[respon]
@Vriullop:. Ja entenc que cal concretar. Des de que vaig escriure el missatge, he mirat d'entendre com funciona i, abans d'entrar en detall de quin formats (que ens pot inspirar el que tenen a ES), voldria comentar quin funcionament et sembla millor.
  • la lista=ordenada si que em sembla que ordena quan té el paràmetre |ordenar= amb indicació del P qualificador. He provat amb es:Woody Allen (sense cap paràmetre) i ordena els premis per data. No m'agrada el format, però això és un altre tema.
  • La seqüència (em sembla que) és:
  1. la "Ficha de persona" té la lògica de què vol surti i amb quin format (però no el posa)
  2. Crida a plantilla "propiedad" i li passa dades sobre què vol recuperar, com vol formatar i amb quin mòdul fer-ho.
  3. "propietat" crida a "Mòdul:Wikidata" (equivalent al nostre) passant-li (sense fer pràcticament res més) els paràmetres.
  4. "Mòdul:Wikidata" recupera de WD i invoca als mòduls de formatar (wikidata/formatos o passat en valor-módulo / valor-función, o módulo:tablas en el cas que es vulgui ordenar. Retorna dades en format finalista.
El meu dubte és si hem de seguir la mateixa lògica. No sé com veus que "Mòdul:Wikidata" s'hagi d'encarregar de cridar mòduls de formatar que li diu un tercer. Això suposa que, si bé el codi de formatar està fora de "mòdul:Wikidata", la creació de nous formats podria comportar canvis en aquest mòdul. D'altra banda, els formats són models comuns a qualsevol infotaula i estan centralitzades i controlades. Què n'opines ?--amador (disc.) 20:03, 10 set 2016 (CEST)[respon]

Qualificador vora la propietat en una llista

He provat de posar l'any del premi a la vora del premi a {{Infotaula pel·lícula}} però no me n'he sortit. Hi ha qualque manera de llistar el qualificador vora la propietat en una llista?

Volia fer una cosa així com:

{{#invoke:Wikidata | claim | property=p166 | value={{{premis|}}}
                   | rank= | separator=<br/> | conjunction=<br/>
                   | formatting=$ {{#invoke:Wikidata | claim | property=p166 | qualifier=p585}} }}

Gràcies, Pau Cabot · Discussió 14:04, 2 oct 2016 (CEST)[respon]

@Vriullop, Amadalvarez: Pau Cabot · Discussió 08:20, 4 oct 2016 (CEST)[respon]
@Paucabot: El fil anterior anava en aquesta línia incorporant funcions més complexes que alliberessin el codi de la plantilla de tenir juntes coses que ara s'han de demanar per separat, com en aquest cas. Veient les solucions de la WP-ES estic mirant d'escriure uns requeriments per concretar més la possible solució, però ho tinc una mica aturat. Amb molta feina (massa) ho vaig solucionar amb les proteccions patrimonials dels edificis, però és una solució "per emmarcar i no tocar" i no ens la podem permetre cada cop que aparegui una nova llista de coses. Si el Vriullop té alguna de les seves genialitats per aquest cas, ja estarem més a prop. Si no, miro d'acabar la proposta, la discutim i busquem un valent que la faci.--amador (disc.) 09:54, 4 oct 2016 (CEST)[respon]

Ho tinc aparcat a l'espera de trobar una finestra de temps. Si no hi és a en.wiki tot resulta més complicat. Que ho faci es.wiki pot donar pistes però no necessàriament solucions. Si ho he entès es tracta de generar una taula definint el contingut de cada columna i el format d'una fila. --V.Riullop (parlem-ne) 19:36, 4 oct 2016 (CEST)[respon]

@Paucabot, Amadalvarez: Vegeu les primeres proves:
  • A Linus Torvalds: {{#invoke:Wikidata/proves |claim |formatting=table |property=P166 |qualifier=P585}}
  • A Allò que el vent s'endugué: {{#invoke:Wikidata/proves |claim |formatting=table |property=P166 |qualifier=P585 |separator=<br /> | conjunction=<br />}}
  • A Ava Gardner: {{#invoke:Wikidata/proves |claim |formatting=table |property=P26 |qualifier=P580}}
Segur que voldreu moltes més coses, però comproveu si la idea inicial funciona o pot funcionar en múltiples casos. --V.Riullop (parlem-ne) 11:40, 11 oct 2016 (CEST)[respon]
@Vriullop: Wuauuu !. És molt més del que teníem. Gràcies. Dissabte vaig coincidir amb el Toniher i el vaig temptar amb el tema. Després de fer un cop d'ull molt superficial per la ES, ens va semblar que si aquest mòdul era capaç de retornar una taula (no sé si amb columnes sol·licitades o amb tots els qualificadors d'una propietat), la plantilla invocant li podria passar com a entrada a una versió adaptada del es:Módulo:Wikidata/Formatos. D'aquesta forma les infotaules decidirien quin format volen aplicar d'una col·lecció que sàpiga resoldre Wikidata/Formatos i així si volem inventar formats més complexos no carreguem i compliquem el codi del mòdul central de Wikidata. Bé, només és un suggeriment. Seguim,--amador (disc.) 18:39, 11 oct 2016 (CEST)[respon]
Em moc més bé amb l'estil de programació de l'anglesa i em costa seguir la lògica espanyola. El problema és que a l'anglesa fan un ús limitat en infotaules preferint tenir els paràmetres en local i això limita les possibilitats del seu mòdul. Cal pensar que per aquesta feina han ofert un grant de 12.000 US$ pel mòdul rus, però no confio en desxifrar-lo. Jo m'estic limitant al mòdul però caldria fer plantilles per les invocacions més habituals estalviant repetir la sintaxi. Seguint amb el tema, i posant-me el barret d'usuari, havia pensat en un paràmetre com rowformat = * $col0 ($col1-$col2) on $col0 és property, $col1 és qualifier i $col2 seria qualifier2 (en l'exemple d'Ava Gardner faltaria un segon qualifier). Un paràmetre així és prou flexible per a qualsevol format i, com deia, amb plantilles tenir preparats els més habituals. Per exemple, les mateixes dades amb una altra presentació: rowformat = # $col1-$col2: $col0. Ara m'haig de treure el barret i veure com s'implementa. No acabo de veure la necessitat de fer els formats amb Lua a l'estil de Módulo:Wikidata/Formatos. Millor anem pas a pas per tractar casos reals. --V.Riullop (parlem-ne) 19:20, 11 oct 2016 (CEST)[respon]
@Amadalvarez, Paucabot: Nova versió. Prova:
  • A Ava Gardner: {{#invoke:Wikidata/proves |claim |formatting=table |property=P26 |qualifier=P580 |qualifier2=P582}} A notar el nou paràmetre qualifier2 i que per defecte separator=<br />.
  • A Allò que el vent s'endugué: {{#invoke:Wikidata/proves |claim |formatting=table |property=P166 |qualifier=P585 |rowformat=$1 $2}} A notar el nou paràmetre rowformat, per defecte és "$1 ($2)" o "$1 ($2-$3)" si s'usa qualifier2.
  • A Linus Torvalds: {{#invoke:Wikidata/proves |claim |formatting=table |property=P166 |qualifier=P585| qualifier2=P1027 |rowformat=* $1 $3 ($2)}} A notar el format amb *, també es pot provar amb #.
Espero comentaris abans de passar de les proves a la versió en viu. --V.Riullop (parlem-ne) 09:53, 13 oct 2016 (CEST)[respon]
@Vriullop: Wonderfull !! Dues coses: una de funcionament i un "poyaque":
Mira Artur Mas i Gavarró:{{#invoke:Wikidata/proves |claim |formatting=table |property=P39 |qualifier=P580| qualifier2=P582 |rowformat=* $1 ($3 - $2)}} <br /> {{#invoke:Wikidata/proves |claim |formatting=table |property=P39 |qualifier=P1365| qualifier2=P1366 |rowformat=* <- $2 - $3->}}
1a) El format de data no va bé en precisió dmy
1b) Quan no té els qualificadors demanats mostra la propietat, tot i que expressament jo l'havia evitat (intentava simular una segona línia del càrrec polític). No sé si considerar-lo un error. En aquest cas ho veig com a tal, però no sé si seria correcte en altra situació.
2) Amb la versatilitat que li has posat als complements del formatting (on posar els parèntesis, posar guions o barres entre qualificadors, canviar l'ordre, etc.), la pregunta és òbvia: Per què no podem tenir mitja dotzena de qualificadors. Parlo interessadament per poder formatar un bloc successori (data inici-fi, predecessor-successor, eleccions, circumscripció). Ho he intentat fer com a dues crides, però només funciona quan la propietat no té repeticions, perquè -lògicament- buida tota la llista en cada crida. Bé, això és el poyaque.
@Amadalvarez:
  • Tema data, solucionat. El problema és que estem usant formatting per massa coses. Repassant la documentació, el que tocaria és usar formatting=date i un nou dateformat=xxx per no interferir. Caldria identificar en quins casos s'usa per canviar la sintaxi.
  • @Vriullop: Per què en lloc de "sacrificar el formatting" no sacrifiques el "claim" ?. Seria "claim" per recuperar una funció bàsica i una "table" o "gettable" per a muntatges multiqualificadors i editats. Bé, és un suggeriment. afegir un paràmetre també m'està bé. Gràcies per tot el que fas, --amador (disc.) 12:46, 13 oct 2016 (CEST)[respon]
  • Segon tema. He ampliat fins a 9 qualifier, canviant la numeració de rowformat. El primer és ara $0 per la propietat, els següents 1-9 són pels qualificadors 1-9. Prova ara: {{#invoke:Wikidata/proves |claim |formatting=table |property=P39 |qualifier=P580| qualifier2=P582 |qualifier3=P1365 |qualifier4=P1366 |rowformat=* $0 ($2 - $1)<br /><- $3 - $4 ->}}. Problema: rowformat no és flexible per a casos buits.
--V.Riullop (parlem-ne) 12:29, 13 oct 2016 (CEST)[respon]

Subfil amb proves:

  1. Observo que el qualificador ha d'existir per mostrar-se el qualificador2. Exemple:{{#invoke:Wikidata/proves |claim |formatting=table |item=Q4115189 |property=P166 |qualifier=P580| qualifier2 =P582 |rowformat=* ($2 - $3) $1}}. Això no és sempre així: data inici desconeguda, predecessor-successor, etc.
  2. Els complements no hi ha forma de condicionar-los a l'existència del qualificador associat. Exemple:{{#invoke:Wikidata/proves |claim |formatting=table |item=Q9531 |property=P166 |qualifier=P585| qualifier2 =P1686 |rowformat=* ($2) $1 per $3}}

--amador (disc.) 11:53, 13 oct 2016 (CEST)[respon]

La primera qüestió està resolta amb el darrer canvi que explicava més amunt. La segona, també l'apuntava. Se t'acut alguna solució? Intentar reconstruir el format no ho veig viable. Eliminant tot el text entre dos $x consecutius pot servir en l'exemple, és a dir si rowformat="* ($1) $0 per $2" i $2 no existeix quedaria "($1) $0"; però si rowformat="* $0 ($1-$2)" quedaria "$0 ($1". Es podria definir rowformat1 per si $1 no existeix i rowformat2 per $2, però si no existeixen cap dels dos s'usaria el primer, rowformat1, i hauria de ser text pla pel cas $2="". Alguna idea? --V.Riullop (parlem-ne) 12:55, 13 oct 2016 (CEST)[respon]
Pensant solucions... en qualsevol cas la cosa es complica. A veure, rowformat hauria de servir per casos buits, és a dir en lloc de rowformat="* ($1) $0 per $2" seria rowformat="* ($1) $0 $2" amb el complement del format del 2 com a rowformat2="per $2", només si existeix, i amb les possibilitats de definir també rowformat0 i rowformat1 si fessin falta. En un cas de dates, per exemple, serviria directament rowformat="$0 ($1-$2)" sense més. Correcte? --V.Riullop (parlem-ne) 13:13, 13 oct 2016 (CEST)[respon]
@Vriullop: Jo..r !. Quina sofisticació. Si no t'ha de fer parar boig, a mi m'encaixa prou. Entenc que en el darrer exemple de dates, si falta una de les dues quedaria un guió perquè no s'ha condiciona amb el rowformatn, però no em sembla un problema ja que en els casos de dues dates fins i tot opt anar bé per donar pistes que el període no està tancat. Un cop més, les instruccions seran més difícils que el codi. Ja et donaré un cop de mà. --amador (disc.) 15:26, 13 oct 2016 (CEST)[respon]
@Amadalvarez: L'he anomenat rowsubformatx, com a format previ a aplicar a rowformat, amb x vàlid 1-9 no pel 0 que se suposa que existeix sempre. Prova: {{#invoke:Wikidata/proves |claim |item=Q34253 |formatting=table |property=P166 |qualifier=P585| qualifier2=P1027 |rowformat=* $0 $2 $1 |rowsubformat1=($1)}}. Fixa't que en aquest cas per $2 no passa res si està buit, però per provar: {{#invoke:Wikidata/proves |claim |item=Q34253 |formatting=table |property=P166 |qualifier=P585| qualifier2=P1027 |rowformat=* $0$2 $1 |rowsubformat1=($1) |rowsubformat2=: $2}} vigilant els espais en blanc. --V.Riullop (parlem-ne) 16:40, 13 oct 2016 (CEST)[respon]

@Vriullop, Paucabot: He fet un recull de proves mirant d'aconseguir formats similars als que tenim ara a les infotaules. De moment, va de conya, però ja tinc millores al cap que no desvetllaré ara fins no tenir-la molt testejat allò que tenim. Això si, he detectat un incident que, tot i sonar estrany, veig que pot ser habitual: multivalors en qualificadors. M'ha sortit al provar una "ubicació de la seu", però he pensat que estava mal complimentat WD. Però en els càrrecs successoris també es produeix quan un càrrec es renova en dues eleccions seguides. Veure els exemples de Mas i Obama. Segueixo el cap de setmana que ara haig de treballar que demà haig de presentar un informe. Gràcies,--amador (disc.) 18:31, 13 oct 2016 (CEST)[respon]

@Amadalvarez: Vols dir que a Mas hauria de sortir "Electe en: Eleccions al Parlament de Catalunya de 2010, Eleccions al Parlament de Catalunya de 2012"? Es pot definir que per qualificadors faci com list=true en les propietats, però seria per tots els casos de consulta de qualificadors encara que formatting≠table, excepte casos multilingualtext. --V.Riullop (parlem-ne) 10:13, 14 oct 2016 (CEST)[respon]
@Vriullop: He provat a la wikidata actual i el list =yes ho entén per a la llista de la propietat, no dels qualificadors. Per tant, actualment és impossible arribar a obtenir els multivalors de qualificadors. El canvi que dius produiria l'efecte contrari: es mostrarien tots els valors de qualificador quan volguéssim tots els valors de propietat. D'entrada no em sembla estrany. Gràcies per l'ordinal. Ara, també té escut. --amador (disc.) 19:40, 14 oct 2016 (CEST)[respon]
@Amadalvarez: No et segueixo en la conclusió, vols dir que deixem els qualificadors tal com està? --V.Riullop (parlem-ne) 20:34, 14 oct 2016 (CEST)[respon]
@Vriullop: Disculpa. He anat escrivint mentre pensava i els circumloquis mentals no tenen perquè coincidir amb la conclusió. El resum és que no em sembla que espatllen res fent que el list=true afecti per igual els multivalors de la propietat i els multivalors dels qualificadors sigui quina sigui la intenció inicial amb que es posi. Per tant, la proposta que feies em sembla bé. Merci,--amador (disc.) 20:43, 14 oct 2016 (CEST)[respon]

(torno) Fet, ara treu tots els qualificadors. Ara que ho tinc fresc, aquests són els casos:

  • list=true (valor per defecte)
    • per una propietat treu una llista dels valors
    • per una propietat i un qualificador, treu una llista de qualificadors
    • per una taula, treu una llista de propietats amb les llistes de qualificadors, dins del format especificat; els separadors pels qualificadors són sempre comes, els proporcionats com a paràmetres són només per les propietats.
  • list=false
    • per una propietat treu el valor preferent
    • per una sola propietat i qualificador múltiple, treu el primer qualificador (en aquest cas no hi ha preferent, els qualificadors estan numerats)
    • per una propietat múltiple i qualificadors múltiples, el resultat pot ser inesperat; en teoria, el primer qualificador de la propietat preferent
    • per una taula, treu una llista de propietats i el primer qualificador, dins del format especificat

Com que els canvis són importants caldria provar que no s'hagi trencat res. --V.Riullop (parlem-ne) 13:07, 15 oct 2016 (CEST)[respon]

@Vriullop: El segon cas de list=true, és "per una propietat i un qualificador, treu una llista de qualificadors" o "per una propietat i un qualificador, treu una llista de valors de la propietat i una llista de qualificadors" ?. Si la resposta és aquesta darrera opció, afectaria també a la descripció del tercer cas. --amador (disc.) 19:54, 15 oct 2016 (CEST)[respon]
@Amadalvarez: Amb property i qualifier sense formatting=table treu només els qualificadors. En la versió actual del mòdul només el primer i en la versió de proves els treu tots. Per "una llista de valors de la propietat i una llista de qualificadors" és necessari que formatting=table, justament la moguda amb la que estem. La idea de la nomenclatura és diferenciar una "llista" de propietats o una "llista" de qualificadors de una "taula" de propietats + qualificadors. Modifico amb subratllat els casos anteriors per a més claredat. --V.Riullop (parlem-ne) 20:37, 15 oct 2016 (CEST)[respon]
@Vriullop: Entenc. Que fotut serà fer les instruccions !. Demà faig proves. He vist que el Mas ja li surten les dues eleccions. --amador (disc.) 20:45, 15 oct 2016 (CEST)[respon]

Fet Fet! Passat de les proves al mòdul principal. --V.Riullop (parlem-ne) 10:58, 21 oct 2016 (CEST)[respon]

Dubte en table

@Vriullop: En el formatting=table, quin és el salt de línia que posa ? M'ha semblat que feia servir </li>, però com que no m'interessava li he afegit separator=<br />, que és el que em va bé per una tractament de text que faig, i no em sembla que li faci cas. M'ho pots confirmar ?. Merci, --amador (disc.) 12:03, 10 nov 2016 (CET)[respon]

Del codi:
if parameters.formatting == "table" then
    parameters.separator = parameters.separator or "<br />"
    parameters.qseparator = ", "
per a cada propietat és el separador indicat en el paràmetre o un salt de línia si no existeix. Pels qualificadors són sempre comes. Ara bé:
if mw.ustring.find(rowformat, "^[*#]") then
    parameters.separator = "</li><li>"
si rowformat comença per * o # llavors canvia a format llista, bé "<ul><li>" o bé "<ol><li>" respectivament.
Respon això al dubte? --V.Riullop (parlem-ne) 12:52, 10 nov 2016 (CET)[respon]
Crec que sí, però em cal arribar al cap de setmana per concentrar-me. Merci, --amador (disc.) 07:01, 11 nov 2016 (CET)[respon]

formatting=table i monolingual

@Vriullop: A la {{infotaula geografia política}} aquesta crida: {{#invoke:Wikidata | claim | property=P1451 | value={{{lema|}}} |item={{{item|}}} | formatting=table | rowformat = $0 ($1-$2) | qualifier = P580 | qualifier2 = P582 }} fa cascar el LUA per a l'ítem Estats Units d'Amèrica (Q30). Penso que no li agraden els monolingualtext. En aquest cas tenia qualificadors, però a Quebec (Q176) que no en té, també casca. --amador (disc.) 14:00, 8 (CET)

Arreglat, no estava preparat per fer taules monolingualtext. --V.Riullop (parlem-ne) 15:17, 8 des 2016 (CET)[respon]

Ajuda amb formatting=table

@Vriullop: Sovint els qualificadors són el Data d'inici (P580) i/o Data de finalització (P582) indicant en quin període era vigent un dels valors de la propietat. Com es pot fer per condicionar l'aparició/o no del valor de la propietat segons siguin els qualificadors. Ex.:{{#invoke:Wikidata | claim | property=P47 |item=q29|formatting=table |separator=,  |qualifier=P582|rowformat=$0. Deu ser fàcil, però no ho veig.--amador (disc.) 16:33, 11 des 2016 (CET)[respon]

@Amadalvarez: No sé per què dius que deu ser fàcil. No hi ha opcions per filtrar valors en taules i no se m'acut d'entrada forma de fer-ho fàcilment. Sempre treu tots els valors, en aquest cas amb sintaxi {{#invoke:Wikidata | claim | property=P47 |item=Q29 |formatting=table |separator=,  |conjunction=,  |qualifier=P582 |rowformat=$0$1 |rowsubformat1= (fins $1)}} Si no es vol que surti Mauritània, el de rang obsolet, caldrà pensar en una opció "tablefilter=nodeprecated" o encara millor recuperar rank amb l'opció "rank=normal" entenent-lo com el rang mínim. Valdria filtrar per rang en lloc d'analitzar qualificadors? Si és un cas puntual sempre es pot posar el que vulguis en el paràmetre de la infotaula. Per cert, vist el teu exemple em fa recordar que tinc en la llista de treballs pendents fer que conjunction=separator. Quan es defineix un separador ara t'obliga a repetir-lo quan és molt rar tenir una conjunció diferent. --V.Riullop (parlem-ne) 17:21, 11 des 2016 (CET)[respon]
@Vriullop: Ho he dit perquè sempre em sorprens. Honestament no hi confio gaire que ningú posi deprecated, especialment si ha fet l'esforç de posar la data. Lo de "fins $1" és una bona sortida, però com a algú li doni per posar les fronteres d'"Espanya" des del segle XVI, anem arreglats. No podries posar un paràmetre "outputcondition" que permeti escriure un condició executable i a tu et doni un true/fals ?, La forma d'anomenar els paràmetres de la condició ja els tenim $0-$9. Per cert, avui he superat un repte important: amb un rowformat = $0 ($1-$2), com fas per a evitar que surtin el () si no hi ha $1 ni $2 ?. La solució a {{infotaula geografia política}}. Considera la meva proposta.....--amador (disc.) 18:31, 11 des 2016 (CET)[respon]
Massa enrevessat, de fet i d'entendre què estem fent. Es corregeix en el paràmetre i fora.
Bon intent amb els parèntesis, però no funcionarà si $1 està buit es menja $2 no buit. Les substitucions es fan per ordre. Amb rowformat = «$0» $1 | rowsubformat1= ($1$2) | rowsubformat2= -$2 fa el següent:
  1. Substitució $0: rowformat = «000» $1
  2. Substitució $1: rowsubformat1= (111$2) -> rowformat = «000» (111$2)
  3. Substitució $2: rowsubformat2= -222 -> rowformat = «000» (111-222)
Si $2 està buit cap problema, però si $1 està buit:
  1. Substitució $0: rowformat = «000» $1
  2. Substitució $1: rowsubformat1= <buit>; rowformat = «000»
  3. Substitució $2: rowsubformat2= -222 -> rowformat = «000»
Solució: {{#invoke:String|replace|<...>|"()"|""}} on <...> és el resultat de Wikidata.
--V.Riullop (parlem-ne) 19:10, 11 des 2016 (CET)[respon]
Bé, en aquest cas, volia exactament que es mengés el $2 si no hi havia $1. Però m'apunto el replace per una altra ocasió.
Què vol dir "Es corregeix en el paràmetre i fora! ? --amador (disc.) 19:17, 11 des 2016 (CET)[respon]
Per casos estranys sempre tenim el recurs d'omplir el paràmetre de la infotaula. --V.Riullop (parlem-ne) 19:52, 11 des 2016 (CET)[respon]

repetició de valor

@Vriullop: Tinc un poltergeist que no sé veure. Un multivalor, amb preferred rank, cridat amb list=false, duplica el valor: {{#invoke:Wikidata | claim | property=P1082|list=false |item=Q270041| formatting=unitcode}}. Tens una mostra a Hodeida. Merci,--amador (disc.) 22:52, 27 des 2016 (CET)[respon]

@Amadalvarez: És un problema que ja ve de l'original anglès on també els falla en casos multivalor sense unitat. He refet el tractament de formatting unit i unitcode. Crec que no hi ha cap dany col·lateral. Comprova-ho amb diferents casos. --V.Riullop (parlem-ne) 12:36, 28 des 2016 (CET)[respon]

format dates en rowsubformat

@Vriullop:. Deu ser molt fàcil, però no ho veig. Vull donar-li un format d-m-Y a la $2 en {{#invoke:Wikidata | claim | property=p348 | value={{{versió|{{{version|}}}}}} |qualifier=P400 |qualifier2=P577 |tablesort=2 |rowformat=$0 ($1, $2)|rowsubformat2=$2 |formatting=table |item=Q20966579 }} Merci,--amador (disc.) 00:34, 29 des 2016 (CET)[respon]

@Amadalvarez: He parat boig amb això de que deu ser molt fàcil. Tinc dues solucions en proves:
  • {{#invoke:Wikidata/proves | claim | property=p348 | value={{{versió|{{{version|}}}}}} |qualifier=P400 |qualifier2=P577 |tablesort=2 |rowformat=$0 ($1, $2) | rowsubformat2={{((}}time format{{!}}d-m-Y{{!}}$2{{))}} |formatting=table |item=Q20966579 }} Via plantilla. No podia usar {{#time:d-m-Y|$2}} perquè no reconeix les dates en català, així que he fet {{time format}} amb el mateix format que la funció parser però que accepta dates com "2 de gener de 2017" per a convertir via Mòdul:Data.
  • {{#invoke:Wikidata/proves | claim | property=p348 | value={{{versió|{{{version|}}}}}} |qualifier=P400 |qualifier2=P577 |tablesort=2 |rowformat=$0 ($1, $2) | rowsubformat2=$2 | formatting2=d-m-Y |formatting=table |item=Q20966579 }} Accepta un formatting numerat 1 a 9 per a cada qualificador, igual que si fos una consulta sense taula.
Les dues funcionen igual, aparentment. Quina prefereixes? --V.Riullop (parlem-ne) 11:28, 2 gen 2017 (CET)[respon]
@Vriullop: A cop d'ull, la segona em sembla més neta perquè és un esglaó més en la lògica de format=table. Entenc que l'opció de fer servir plantilles en els termes que mostraves a Tema:Tgprn7cn876puzp5 continua sent vàlid, oi?. Merci,--amador (disc.) 19:25, 2 gen 2017 (CET)[respon]
L'opció amb plantilla m'ha servit per corregir alguna cosa que no acabava de funcionar. L'opció amb formatting0-9 servirà per la petició del Pau més avall #Unitats dins una taula. Demà m'hi poso activant les dues opcions, havent dormit és tot més clar. Per la petició d'en Theklan quedava pendent activar un $Q per poder incloure la propietat en raw en una plantilla amb un switch. Potser ja servirà un formatting0=raw, m'ho pensaré. --V.Riullop (parlem-ne) 20:55, 2 gen 2017 (CET)[respon]
@Amadalvarez: Fet, ja es poden incloure plantilles i els paràmetres formatting0...formatting9. --V.Riullop (parlem-ne) 12:29, 3 gen 2017 (CET)[respon]

Bravo !!!. Ets un geni.--amador (disc.) 13:02, 3 gen 2017 (CET)[respon]

Header infotaula

Seria possible afegir una funció al mòdul que acceptés diverses propietats (per exemple {{#invoke:Wikidata | exist | PXX | PXY | PXYZ }}) i comprovés si existeixen? Trobo que seria molt útil en els headers de les infotaules on hi ha un {{#if: seguit de mil crides al mòdul per diverses propietats.

Demano ajuda perquè no em veig en cor de començar a editar Lua amb un Mòdul tant usat i sense saber-ne gens ni haver practicat mai. Deixo aquí un codi però potser no té res a veure amb el que vull fer.

Notifico @Vriullop:

local function p.exist(frame)
	local args = frame.args
	local properties = args['properties'] or ""
	for prop in properties do
		if _main(prop) == '' then
			return ''
		end
	end
end

Ara veig que tampoc puc editar pq està protegit XD. gerardduenascontacta'm 19:38, 29 des 2016 (CET)[respon]

@Gerardduenas: Si he entès bé la problemàtica prenent com a exemple {{Infotaula malaltia}} cal una lògica OR de paràmetres i propietats per posar una capçalera. En el teu codi la lògica és AND, a més els arguments són args[1], args[2], ... De totes formes, el propòsit bàsic d'aquest mòdul és formatar wikidades. Per a consultes simples es poden usar les funcions parser, en aquest cas si hi ha paràmetre o propietat: {{#if: {{{paràmetre|{{#property:Pxxx}} }}}. Ho he aplicat a la plantilla Especial:Diff/17975726.
En qualsevol cas, pots fer proves a Mòdul:Wikidata/proves o bé crear Mòdul:Proves/Gerardduenas. --V.Riullop (parlem-ne) 13:10, 2 gen 2017 (CET)[respon]
Moltes gràcies, sí no havia pensat en els parsers... molt millor. Ja veus que no en sé de Lua, m'hi hauré de posar. Fns ara!--gerardduenascontacta'm 13:19, 2 gen 2017 (CET)[respon]

Unitats dins una taula

@Vriullop, Amadalvarez: Hi ha manera de dir-li que els valors de dins d'una |formatting=table taula tenguin unitats |formatting=unit? Ho necessit per a la taxa de canvi de {{Infotaula moneda}}, vegeu Franc francès. Pau Cabot · Discussió 09:18, 2 gen 2017 (CET)[respon]

@Paucabot: Això va lligat amb la secció de més amunt #format dates en rowsubformat. En principi, el format taula treu els formats per defecte, però hi ha en proves l'opció d'afegir formatting0... formatting9 per a cada valor de la taula: {{#invoke:Wikidata/proves | claim | item=Q184172 | formatting=table | property=P2284 | qualifier=P585 | rowformat=$0 ($1) | formatting0=unit | formatting1=M Y}}. Hi he afegit també com a mostra un format per la data, però és opcional. Els separadors amb salts de línia no calen per són per defecte. Si es dóna el vist-i-plau després de fer-hi proves, ho passo al mòdul en viu. --V.Riullop (parlem-ne) 13:37, 2 gen 2017 (CET)[respon]
@Vriullop: Molt bé. A mi em funciona beníssim. Per jo, ja ho pots passar al mòdul en viu. Pau Cabot · Discussió 15:30, 2 gen 2017 (CET)[respon]
@Paucabot: Fet, ja es poden usar els paràmetres formatting0...formatting9. --V.Riullop (parlem-ne) 12:30, 3 gen 2017 (CET)[respon]
@Paucabot, Amadalvarez: M'ho he repensat i ara s'anomenen colformat0...colformat9. Sembla més clar, en contraposició a rowformat, i sense confusió amb formatting. Si ja els heu usat, canvieu-los, ara era el moment de decidir-se, més tard ja és complicat. --V.Riullop (parlem-ne) 14:12, 3 gen 2017 (CET)[respon]
Canviat. Moltes gràcies. Pau Cabot · Discussió 14:35, 3 gen 2017 (CET)[respon]
OK. --amador (disc.) 14:58, 3 gen 2017 (CET)[respon]

Fórmules

He intentat importar Fórmula (P2534) a {{Infotaula de magnitud física}} però no m'acaba de funcionar: Força. Som jo que no ho sé fer o és qualque cosa que hem d'implementar al mòdul? Pau Cabot · Discussió 21:09, 7 gen 2017 (CET)[respon]

A Wikidata és un tipus de dada diferent i el mòdul no l'estava tractant. Fet. --V.Riullop (parlem-ne) 17:12, 8 gen 2017 (CET)[respon]
Gràcies, Vicenç. Pau Cabot · Discussió 17:57, 8 gen 2017 (CET)[respon]

Substitucions

Hi ha qualque manera fàcil de fer substitucions tipus unitcode però per a la declaració principal? El problema el tenc a Concert de Brandenburg núm. 2, on voldria que en lloc d'aparèixer Bach Werke Verzeichnis, aparegués BWV. La plantilla és {{Infotaula composició}}. Gràcies, Pau Cabot · Discussió 20:45, 9 gen 2017 (CET)[respon]

Caldria crear una taula de sigles, com la de Mòdul:Wikidata/labels, i usar un "case" específic. Provat a Especial:Permalink/18011191 amb case=initials i un canvi senzill Especial:Diff/18011181. Pot anar bé per a sigles en general. En realitat serviria per a qualsevol tipus de substitucions, per canviar el "label" de l'enllaç mantenint el "sitelink". Cal pensar en com organitzar-ho, segons la seva utilitat. Ja tenim submòduls /labels i /Units i abans de crear-ne un de nou potser és el moment de replantejar l'organització dels "case" que són específics per català i no exportables de forma senzilla. El propòsit inicials dels case va sortir pels casos de declinació en basc on usen el mateix mòdul. --V.Riullop (parlem-ne) 12:14, 10 gen 2017 (CET)[respon]
De fet encaixaria conceptualment dins labels perquè no deixa de ser una abreviació. Cert que ara labels no es refereix al contingut principal sinó a la unitat. --amador (disc.) 23:51, 10 gen 2017 (CET)[respon]
Ok, com que una infotaula usa els paràmetres label i data, i ja tenim un case=infoboxlabel, ho he afegit com a case=infoboxdata amb una nova taula al Mòdul:Wikidata/labels. Està documentat. --V.Riullop (parlem-ne) 12:08, 11 gen 2017 (CET)[respon]

Wikipedia i Wikisource

Com es fa per importar el títol de l'article de Viquipèdia i el de Viquitexts del propi ítem? Ho necessitaria per acabar q:Plantilla:Persona2. Gràcies, Pau Cabot · Discussió 11:55, 23 gen 2017 (CET)[respon]

La funció bàsica claim és per obtenir dades formatades dels claims, evident. Per a altres dades tenim la funció ViewSomething que serveix pel que diu, per a qualsevol cosa. En aquest cas {{#invoke:Wikidata|ViewSomething|sitelinks|cawikiquote|title}} o des d'altres projectes {{#invoke:Wikidata|ViewSomething|sitelinks|cawiki|title}}. El truc és començar previsualitzant-lo tot amb {{#invoke:Wikidata|ViewSomething}} i anar afegit paràmetres de l'arbre de taules per trobar allò que busquem. En principi estava pensada com a funció de treball i depuració, però és operativa per a consultes simples si no cal formatar ni usar accessos arbitraris. --V.Riullop (parlem-ne) 15:53, 23 gen 2017 (CET)[respon]
Corregeixo, també accepta el paràmetre item: [[q:{{#invoke:Wikidata | ViewSomething | item=Q8016 |sitelinks|cawikiquote|title}}]] → [[q:Error de l'script: la funció "ViewSomething" no existeix.]]. Com que no està a prova d'errors, cal vigilar que els paràmetres no tinguin espais en blanc. --V.Riullop (parlem-ne) 16:18, 23 gen 2017 (CET)[respon]

Qualifier a getParentValues

Necessitaria l'opció |qualifier a la funció getParentValues per a substituir per Abrev. botànica (P428) el nom de l'autor a Pelargonium sidoides, per exemple. Concretament, necessitaria que funcionàs això a {{Infotaula taxonòmica}}:

{{#invoke:Wikidata | getParentValues | property=P225 | qualifier=P405 | valuetext=P428 | sorting=-1 | upto=1 | item=Q900994 | rowformat=$1 }}

Gràcies, Pau Cabot · Discussió 16:43, 19 març 2017 (CET)[respon]

@Paucabot: Fet: {{#invoke:wikidata | linkWithParentLabel | property=P225 | qualifier=P405 | parent=P428 | item=Q900994}} retorna [[Augustin Pyramus de Candolle|DC.]]. La nova funció linkWithParentLabel treu un enllaç amb l'etiqueta de la propietat "parent". Tot i que és similar a "valuetext" no encaixava en la funció getParentValues. A banda de "parent" admet tots els paràmetres de la funció bàsica "claim". Es pot usar per altres casos, per exemple a Carles Puigdemont i Casamajó: {{#invoke:wikidata | linkWithParentLabel | property=P102 | parent=P1813}} retorna [[Convergència Democràtica de Catalunya|CDC]]. --V.Riullop (parlem-ne) 13:49, 20 març 2017 (CET)[respon]
Gràcies altre cop, Vicenç. La {{Infotaula taxonòmica}} està quedant molt arregladeta ... Podria servir també per al que demanava a #Substitucions usant Nom curt (P1813), no? Pau Cabot · Discussió 13:55, 20 març 2017 (CET)[respon]
Sí, és el mateix. L'única diferència és que la nova funció no tracta llistes ni taules. El cas BWV està solucionat amb Mòdul:Wikidata/labels. Crear una taula pot anar bé per casos limitats, però no sembla el cas de les taxobox. Amb la funció linkWithParentLabel queda obert a casuística diversa. Si el case=infoboxdata no es fa servir per res més, millor simplificar-ho i usar només linkWithParentLabel, tot i que és un accés arbitrari més. --V.Riullop (parlem-ne) 16:01, 20 març 2017 (CET)[respon]
A {{Infotaula composició}} ja també funciona. M'ha costat perquè en lloc d'usar Abrev. botànica (P428), usa Nom curt (P1813), que és monolingüe i no tenia l'abreviatura en català. Pau Cabot · Discussió 16:11, 20 març 2017 (CET)[respon]
Això sembla brutal, Vriullop !. Ja li hi trobaré utilitats a la nova infotaula persona. Moltes gràcies !! --amador (disc.) 15:57, 20 març 2017 (CET)[respon]

@Vriullop: Volia fer-lo servir per obtenir l'alçada (P2044) del punt més alt (P610) de França (Q142) {{#invoke:wikidata | linkWithParentLabel | property=P610 | parent=P2044 | item=Q3769 | formatting=unitcode}}, però té un efecte tant lògic com indesitjat per mi: no em fa cas del formatting i em posa un enllaç intern al P610. De fet, volia estalviar-me fer un accés arbitrari. Alguna idea, o torno al model tradicional ?. Merci,--amador (disc.) 21:15, 14 abr 2017 (CEST)[respon]

La funció fa el que diu, linkWithParentLabel, no serveix si no vols enllaç. L'accés arbitrari no ens el estalviem, o el fa el mòdul o el fa la plantilla. Model tradicional: {{#invoke:wikidata | claim | property=P2044 | formatting=unitcode | item= {{#invoke:wikidata | claim | property=P610 | item=Q3769 | formatting=raw }} }}: 831 m Modifica el valor a Wikidata. Si vols alguna simplificació es podria pensar en que acceptés parent=P610. --V.Riullop (parlem-ne) 22:41, 14 abr 2017 (CEST)[respon]
@Vriullop: quan ho vas fer vaig pensar en la petició que havia fet el basc sobre obtenir propietats d'una propietat i que havíem descartat. Posar el parent com proposes podria simplificar el codi de la plantilla, però no sé si paga la pena tenint en compte que no estalviem res, és un ús molt poc habitual i compliquem el mòdul. Al meu entendre WD ho hauria de tenir dins les seves funcions bàsiques, ja que ara s'està (estem) fent un ús incorrecte dels qualifiers, per exemple, posant la coordenada d'un edifici com a qualificador quan l'edifici apareix com a property d'una organització, o l'alçada d'una muntanya quan apareix com a punt més alt (el cas que volia evitar). Per mi, els qualifiers han d'indicar una dada que és atribut de la concatenació entre ítem i property, per exemple les dates inici-fi en que una persona (item) ocupa un càrrec (property), però no per repetir una informació que ja està en l'ítem de la property. És una redundància lògica que algun dia ens donarà problemes. Però això és un altre tema. Aplicaré mètode tradicional i avall. Merci,--amador (disc.) 08:44, 15 abr 2017 (CEST)[respon]

funció years_old

@Vriullop: Quan el paràmetre item està buit, no assumeix que és l'article corrent i dóna error. Quan el paràmetre no hi és, funciona bé. --amador (disc.) 20:51, 6 maig 2017 (CEST)[respon]

@Amadalvarez: Fet. A més hi he afegit el paràmetre formatting per a evitar dues crides només per afegir-hi "anys": {{#invoke:wikidata|years_old|formatting=(%1 anys)}}. Per cert, a Carme Forcadell queda lleig que surti l'edat a "mort". --V.Riullop (parlem-ne) 21:32, 6 maig 2017 (CEST)[respon]
@Vriullop: Ara surt bé. Deu ser que ho has mirat quan tenia ja havia canviat data naixement i encara no data defuncio. Vaig a posar el formatting. Merci,--amador (disc.) 21:35, 6 maig 2017 (CEST)[respon]
@Vriullop: segur que funciona el formatting ?. Ho mostra tal qual ho he escrit sense fer la conversió del %1.--amador (disc.) 21:42, 6 maig 2017 (CEST)[respon]
Aix, és $1, igual que amb la funció claim. --V.Riullop (parlem-ne) 21:54, 6 maig 2017 (CEST)[respon]
Tot arreglat, l'edat en la casella mort quan estaven vius, també. Merci,--amador (disc.) 22:00, 6 maig 2017 (CEST)[respon]

Plantilles o mòduls en colformat

@Vriullop: Per convertir els valors de Temps de cursa (P2781) que s'expressen en segons, he copiat {{#invoke:duration}} de l'anglesa. Ara cal fer-lo servir per a formatar el resultat quan s'esta fent servir formatting=table. És a dir, com es pot invocar en el colformat1 ?, per exemple. Cas real: {{#invoke:Wikidata | claim | item=Q40244| property=P1000 | qualifier=P2781 | qualifier2=P585 | formatting=table | colformat1={{#invoke:Duration | sumHMS | $1 }} }}. (Quin dia que porto!). Merci, --amador (disc.) 11:40, 16 maig 2017 (CEST)[respon]

@Amadalvarez: És rowsubformat1 en lloc de colformat1. El segon és per aplicat sintaxi formatting a una columna. Hauries de repassar la documentació. Ara bé, el mòdul Duration té un problema. Wikidata retorna el valor amb el format numèric del wiki local, en aquest cas un punt de milers:
  • {{#invoke:Wikidata | claim | item=Q40244| property=P1000 | qualifier=P2781 }} → 7.377
  • {{#invoke:Duration | sumHMS | 7.377}} → 0 segons
Funciona si s'aplica el format numèric revers:
  • {{#invoke:Duration | sumHMS | {{formatnum:7.377|R}} }} → 2 hores, 2 minuts i 57 segons
Això és una complicació, el rowsubformat accepta un invoke o una plantilla però no les dues coses alhora. Caldrà resoldre-ho a un altre nivell. Una opció seria un paràmetre de format d'entrada a Duration, o bé una plantilla específica. En Paucabot ja s'hi havia trobat a {{Infotaula de cançó}} resolent-ho amb {{Sec2MS}}. --V.Riullop (parlem-ne) 12:58, 16 maig 2017 (CEST)[respon]
@Amadalvarez: Ho he dit massa ràpid. No es poden imbricar dues invocacions d'aquesta manera, primer executa la interior donant error perquè no sap què és $1. Ha de ser una plantilla no expandida: rowsubformat1 = {{((}}EUsec2HMS{{!}}$1{{))}}, amb {{EUsec2HMS}}. --V.Riullop (parlem-ne) 14:07, 16 maig 2017 (CEST)[respon]

Obtenir Qxxxxx

Amb aquest mòdul és possible obtenir el codi d'un ítem de Wikidata (Carles Moyà -> Q193361)? Pau Cabot · Discussió 15:54, 28 maig 2017 (CEST)[respon]

No és possible. Està demanat a phab:T74815. --V.Riullop (parlem-ne) 07:50, 29 maig 2017 (CEST)[respon]
@Vriullop: He vist a en:Wikipedia talk:Wikidata/Archive 4#QID lookup from enwp article title que, almanco, amb el paràmetre pageId que tenen al mòdul en anglès, es pot recuperar la Q de la pàgina concreta mitjançant
{{Q|{{#invoke:Wikidata|pageId}}}}
. Es podria incorporar aquesta funció al nostre mòdul, de moment? Gràcies, Pau Cabot · Discussió 08:37, 8 jul 2017 (CEST)[respon]
És equivalent a {{Q|{{#invoke:wikibase|id}}}}, només per la mateixa pàgina, no fa res més. --V.Riullop (parlem-ne) 20:21, 8 jul 2017 (CEST)[respon]

Tractar selectivament les instàncies d'una table

@Vriullop: Hi ha alguna trampa per que se salti un element d'una multivalor tractat amb formatting=table ?. L'he deixat sense cap paràmetre en el rowformat i em deixa una línia en blanc, és a dir, no treu res, però executa l'acció i compta com a línia. Seria molt útil per seleccionar/ignorar les línies que acomplissin una certa condició, sense responsabilitzar el mòdul d'haver de fer-ho. Òbviament, no s'hauria d'aplicar el "separator" en aquest cas. Et sedueix ? --amador (disc.) 19:38, 21 juny 2017 (CEST)[respon]

@Amadalvarez: No em sedueix. Explica un cas o exemple per a que entengui què pretens. --V.Riullop (parlem-ne) 09:58, 22 juny 2017 (CEST)[respon]
@Vriullop: Dos casos: A) a la trajectòria dels futbolistes que es veu a especial:permalink/18568895 es barreja la seva activitat com a jugador i com a entrenador (cas Cruyff). A les taules manuals és una tradició separar-les. Es podria fer dues crides filtrant per Posició a l'equip (P413). B) En casos com Conseller de Territori i Sostenibilitat (Q29950642) el nom oficial de l'organisme canvia segons mandat, llavors, del {p|p1448}} recull el nom oficial per anys. Per poder agafar el que li toca, cal poder filtrar entre dates el que toca segons el mandat del que estem fent la biografia. Aquesta situació es dóna també amb les banderes. S'accepten contrapropostes. --amador (disc.) 12:01, 22 juny 2017 (CEST)[respon]

Obtenir la Q com a una variable utilitzable.

Quan he muntat la llista de càrrecs (P39) o de premis (P166), em fa falta tenir el raw de la property principal per poder passar-la com item en crides subordinades. He fet servir colformat0=raw, òbviament. Però, llavors, perdo el valor del seu label que acostuma a fer-se servir. Em vaig muntar una funció ({{Nom ítem WD}} que li passava el $0 amb la Q i cercava el label o l'article WP. Però, com que això és un nyap, van sortint efectes secundaris com ara que he perdut el càlcul de case=gender, per exemple. Petició: seria possible comptar amb les variables $0raw, $1raw, ,... on el mòdul deixés carregat el valor de les corresponents Q, per si és menester ?. Merci,--amador (disc.) 09:30, 24 juny 2017 (CEST)[respon]

exemple:
{{#invoke:Wikidata |claim |formatting=table |item={{{item|}}} | case=gender
                   |property=P39 |qualifier=P580| qualifier2=P582 |qualifier3=P1365 
                   |qualifier4=P1366 |qualifier5=P768 |qualifier6=P1545 |qualifier7=P2715 
                   |qualifier8=P708
                   |rowformat= {{infotaula persona/capçalcàrrec|$0|$6}} <br />$1 $2 $3 $4 $5 $8 $7 
                   |rowsubformat1 = $1 - | rowsubformat3=<br />{{nowrap|← $3}}
                   | rowsubformat4=- {{nowrap|$4 →}} | rowsubformat5=<br /><small>{{align|left|Circumscripció: $5}}</small> 
                   | rowsubformat7=<br /><small>{{align|left|Electe a: $7}}</small> | rowsubformat6={{ordinal|$6}}
                   | rowsubformat8=<br />Diòcesi: $8
                   | colformat0=raw |tablesort=1|sorting=-1}}
En el cas dels qualificadors es pot solucionar duplicant-lo per treure'l en dos formats diferents. Per exemple |qualifier2=P580| qualifier3=P580| colformat2=raw| colformat3=internallink. Per la propietat no està preparat perquè sempre és el 0 i única. La mateixa qüestió l'havia plantejat en Theklan, no recordo on. @Theklan: havíem arribat a alguna conclusió? --V.Riullop (parlem-ne) 11:51, 24 juny 2017 (CEST)[respon]
No sé si et val, però el que pots fer és passar colformat0 = raw i, després, fer-li in #invoke: Wikibase | label | $ 0 allà on ho necessitis. -Theklan (disc.) 12:00, 24 juny 2017 (CEST)[respon]
@Theklan: Así lo tengo ahora, però me pierdo cosas como por ejemplo el case=gender que no lo aplica porque, por supuesto, no se feminizan las Q's. Cuando después hago el invoke al label, el case=gender ya ha pasado. Por eso hablaba de una variable extra que se rellenara siempre sin importar lo que tenga en los paramteros de formato. Con que estuviera para la property seria suficiente, porque como dice Vriullop, los qualifier se pueden duplicar. A part que aquesta solució significa llamar dos veces el mismo item. @Vriullop:, hi ha forma d'invocar el case=gender sobre el label d'un item donat. Merci,--amador (disc.) 16:29, 24 juny 2017 (CEST)[respon]
Sobre el label o sobre l'ítem? Si estem parlant de colformat0=raw és l'ítem i sempre pots tornar a fer {{#invoke:Wikidata |claim |formatting=internallink |item={{{1|}}} | case=gender}}, o bé no ho he entès. --V.Riullop (parlem-ne) 17:06, 24 juny 2017 (CEST)[respon]
@Vriullop: On s'ha de signar ?. El problema és que no tinc cap property per aportar-li, perquè la Q retornada ja és la de la property.--amador (disc.) 19:33, 24 juny 2017 (CEST)[respon]
Ok, m'he colat, està clar que no ho he entès. Posa-m'ho més fàcil, amb un exemple senzill per resoldre. --V.Riullop (parlem-ne) 19:47, 24 juny 2017 (CEST)[respon]

@Vriullop: crec que ho he descrit pas a pas, per a que s'entengui el què i el perquè. Descrit amb un cas/exemple a special:permalink/18576036.--amador (disc.) 22:00, 24 juny 2017 (CEST)[respon]

Fins aquí ho he entès, tot i que estic una mica espès, però hi ha algun problema real o bé és hipotètic o bé és una millora pel codi? No sé si serà millor un rowformat=$0raw o un colformat0=icon o bé alguna estratagema. En qualsevol cas és un canvi important que per ara no puc. Ho deixo aparcat per quan torni de viatge. Recorda-m'ho. --V.Riullop (parlem-ne) 11:25, 25 juny 2017 (CEST)[respon]
No és hipotètic. Fins ara havia funcionat en casos com el descrit amb la única afectació d'un cert barroquisme. El problema s'ha tornat irresoluble quan el cas s'ha aplicat als càrrecs successoris que cal feminitzar. Esperarem que tornis de viatge amb total calma. Res es crema. Salut i que descansis.--amador (disc.) 22:46, 25 juny 2017 (CEST)[respon]
@Amadalvarez: Sense entrar en el fons, has provat amb el paràmetre itemgender? --V.Riullop (parlem-ne) 11:30, 26 juny 2017 (CEST)[respon]
@Vriullop: No rutlla. Itemgender és per posar-li la Q de la persona subjecte dins l'article que no va de persones i li permet saber on ha de preguntar el sexe. En aquest cas, l'itemgender que li puc passar ja és el mateix que item. El que desconeix la rutina "gender" és el text del càrrec que ha de feminitzar. Si es pogués invocar la rutina gender passant-li el text a feminitzar i l'itemgender o l'item per a que miri si toca, estaríem prop d'una solució factible. Merci, per l'intent. --amador (disc.) 13:40, 26 juny 2017 (CEST)[respon]
Perdona si continuo espès per prevacances, però no acabo d'entendre que no puguis fer {{nom ítem WD|item=$0|itemgender={{{item|}}}}}. --V.Riullop (parlem-ne) 13:53, 26 juny 2017 (CEST)[respon]
@Vriullop: El teu saldo de coses a perdonar és, amb escreix, a favor teu. En {{nom ítem WD}} ja no faig cap crida a mòdul:wikidata sinó a Wikibase per recuperar el label. Si fes la crida que proposes, hauria de canviar el codi de "nom ítem" per a que fes una crida a WD, tipus {{#invoke:Wikidata|claim|property= ??? |item=Q19969187 |case=gender|itemgender=Q34424}} (cas real de Shakira com "ambaixadora de la UNICEF"), però, quina és la property del label ?. Recorda que en el moment que es fa això estic dins el bucle del table i, per tant, no puc cridar WD per gestionar "els càrrecs" de la persona, sinó que estic tractant un de concret del qual només tinc la Q. --amador (disc.) 15:25, 26 juny 2017 (CEST)[respon]
@Amadalvarez: Retornant sobre el tema. Hi veig dues opcions que s'han comentat:
# Afegir una opció $Q a rowformat de les taules. És factible però ho veig com un pegat estrany.
# Crear una nova funció tipus {{#invoke:Wikidata |label |Q19969187 |itemgender=Q34424}} complementària a #Wikibase label per tractar-lo amb el gènere.
La primera opció pot servir per altres coses diferents al gènere. La segona pot servir en altres usos fora de les taules. D'entrada em sembla més clarificadora i atractiva la segona. Alguna preferència?
--V.Riullop (parlem-ne) 10:24, 14 jul 2017 (CEST)[respon]
@Vriullop: Em sembla més versàtil la primera (per allò de tenir un tornavís a casa, per si de cas), però reconec que és una mica forçat. Et compro la segona si pogués fer (amb gender) la funció de {{Nom ítem WD}}, és a dir: retorna page o label o la Q, com ho faria un claim normal amb els valors de les properties sense formatting. Com ho veus ?.--amador (disc.) 11:54, 14 jul 2017 (CEST)[respon]

Piruetes

Estic intentant fer una cosa que no sé si pot fer el mòdul. Vull utilitzar getParentValues per obtenir Moneda (P38) (amb un enllaç a aquest ítem) de Aspecte de (P1269). Per exemple, si vull obtenir la moneda de Bèlgica a partir d'Economia de Bèlgica, he de fer:

{{#invoke:Wikidata | getParentValues | property=P1269 | valuetext=P38 | upto=1 | rowformat=$1 | item=Q1769535}}

dona quan a mi m'aniria molt bé que em donàs euro (notau la diferència en el destí de l'enllaç).

Té solució, Vriullop? Gràcies per endavant. Pau Cabot · Discussió 20:43, 5 jul 2017 (CEST)[respon]

@Paucabot: No està preparat per fer això. Una solució pot ser fer una doble pirueta: {{#invoke:Wikidata | claim | property=P38 | list=false | item={{#invoke:Wikidata | claim | property=P1269 | formatting=raw | item=Q1769535 }} }} --V.Riullop (parlem-ne) 21:07, 5 jul 2017 (CEST)[respon]
Gracies Vriullop. Llàstima, perquè està realment molt a prop de fer-ho... De moment ho he implementat amb la doble pirueta a {{Infotaula economia país}}. Pau Cabot · Discussió 21:19, 5 jul 2017 (CEST)[respon]

formatting=label + getParentValues

Hola Vriullop. No sé si no he entès bé el funcionament de colformat. En teoria

{{#invoke:Wikidata | getParentValues | property=P171 | label=P105 | upto=Regne | labelshow=Regne | item=Q2704353 | rowformat=$1 | colformat1=label }}

no m'hauria de donar animal en lloc d'animal Modifica el valor a Wikidata? Gràcies! Pau Cabot · Discussió 15:45, 6 jul 2017 (CEST)[respon]

@Paucabot: Aquest paràmetre no està implementat en la funció getParentValues, a la documentació no hi és, només per la funció claim amb formatting=table. Ara el format és sempre infoboxlabel per l'etiqueta i internallink pel valor. Si és necessari, no sembla difícil incorporar-lo igual que el format taula. Deixa'm uns dies que em centri i trobi temps per dedicar-m'hi. --V.Riullop (parlem-ne) 16:01, 6 jul 2017 (CEST)[respon]
Gràcies, Vriullop. Alternativament, no tenim cap plantilla o similar que llevi els enllaços interns? Pau Cabot · Discussió 17:03, 6 jul 2017 (CEST)[respon]
en:Template:Delink, suposo que és compatible amb el mòdul:delink, o bé es pot invocar directament, depèn d'on i com s'usi. --V.Riullop (parlem-ne) 17:49, 6 jul 2017 (CEST)[respon]

case=gender amb table

@Vriullop: Veig que ja estàs en línia again. Quina sort per nosaltres. Tenim un tema pendent i ara ha sortit un cosa relativa al case=gender que és colindant amb l'anterior, si bé no te relació amb l'error en sí. Mira aquest missatge. En síntesi, el case=gender amb una llista no feminitza la property (per la raó explicada a l'altre tema) i, per contra, ha feminitzat el contingut dels qualifiers. En aquest cas és clarament un error, però no sé si podria ser una situació correcta que els qualifiers facin referència a una característica personal que s'hagués de feminitzar. De ser així, estaríem ben fotuts.--amador (disc.) 21:52, 6 jul 2017 (CEST)[respon]

Tens la crida i resultat (amb i sense case=gender) a especial:permalink/18621868. De moment ho trauré, ja que no fa el que ha de fer i fa el que no ha de fer. Salut,--amador (disc.) 22:56, 6 jul 2017 (CEST)[respon]
Doncs sí, el case l'aplica a totes les consultes, propietat i qualificadors. Per lògica hauria de ser només per la propietat o bé específic case0-case9. Ping Theklan, com que en basc s'usen més "case" pels casos de declinació, com afectaria a les taules?, és a dir, s'usa el case en taules? Si és necessari puc posar un rastreig per detectar les possibles consultes afectades. --V.Riullop (parlem-ne) 23:24, 6 jul 2017 (CEST)[respon]
Hola! Sí, usamos mucho más los cases, pero en casos en los que TODOS son de ese case. Es decir, todos en ergativo, o todos en singular. No hay algunos que sí y otros que no. -Theklan (disc.) 21:47, 8 jul 2017 (CEST)[respon]
Tenir case0-case9 seria un luxe. Els qualificadors més habituals no tenen gènere (dates, premi rebut, successor, etc.) però, per exemple et pot sortir un Càrrec a elegir (P541) o p794 (P794) i calgui aplicar-li gènere. Merci,--amador (disc.) 23:56, 6 jul 2017 (CEST)[respon]
El luxe case0-case9 ja està disponible. Si s'usa case, sense numeració, continua aplicant-se a tots els valors. Solucionat això ja pensaré el tema pendent del $Q de més amunt que encara no sé com enfocar. --V.Riullop (parlem-ne) 11:21, 12 jul 2017 (CEST)[respon]

no es pot fer servir $0 dins un rowsubformat en un list=table

@Vriullop: He fet servir $0 dins el rowsubformat2 i no mostra el valor. Tens l'exemple a special:Permalink/18692117. De fet, el que volia era fer-ho servir dins un switch i després de passar per una plantilla, però com que no funcionava, he acabat fent un debug amb totes les combinacions: $0 directe, $0 dins la plantilla, $0 dins la plantilla amb (( )). En cap cas retorna el valor. Li pots fer un cop d'ull ?. Merci,--amador (disc.) 23:34, 29 jul 2017 (CEST)[respon]

@Amadalvarez: Nop.
# El rowsubformatx serveix pel format de $x i només substitueix aquest valor. Els y anteriors ja han estat tractats a rowformat i rowsubformaty. No torna enrere.
# Un switch és una funció wiki, igual que les plantilles. El Mediawiki expandeix les funcions i plantilles wiki abans d'entrar a Lua. Si el poses en un paràmetre d'un invoke l'executa per passar el resultat a l'invoke i en aquests moments $0 només és un text literal.
En aquests casos, passa-ho tot a una plantilla que pugui executar Lua: rowformat= $0{{((}}Plantilla{{!}}$2{{!}}$0{{))}}. En la plantilla pots tractar el condicionant si $2 està buit i el switch per $0. Atenció que això pot tenir un inconvenient inesperat perquè ja no som en el parser wiki. Em sembla que el resultat és {{Plantilla | 1=[[Papa Francesc | 2=Papa Francesc I]] | 3=[[Sant | 4=Sant]] }}. --V.Riullop (parlem-ne) 12:33, 30 jul 2017 (CEST)[respon]
@Vriullop: Ja m'ho pensava, però tinc un grapat de situacions en que manego dos $ dins un rowsubformat (invocant a una plantilla) i funcionen bé. Mira special:permalink/18693050 com es mostren les dates inici-fi del Formació a (P69) en el mateix personatge. Vaig a provar el que em comentes. --amador (disc.) 12:47, 30 jul 2017 (CEST)[respon]
He dit expressament "els y anteriors", cosa que exclou els "posteriors". És un bucle de 0 a 9 substituint en cada cas rowsubformat i rowformat. En el cas "rowformat = $1" i "rowsubformat1 = $1-$2" substitueix $1 pel valor V1: "rowsubformat1 = V1-$2" i "rowformat = V1-$2". En el següent bucle substitueix $2 per V2: rowsubformat2 no existeix i "rowformat = V1-V2". Si ho haguessis fet al revès, "rowsubformat2 = $1-$2", no hauria funcionat. Bé, així és com està però es podria modificar si fa falta: en lloc de fer un bucle fer-ne dos. --V.Riullop (parlem-ne) 13:11, 30 jul 2017 (CEST)[respon]
No me'n sortit. He provat (crec) totes les combinacions i sempre surt el que no toca. De moment, s'ha quedat un únic text fixe.--amador (disc.) 18:34, 31 jul 2017 (CEST)[respon]
Falta polir-ho, però la idea ja està. Primer, cal "escapar" les plantilles per a que les expandeixi Lua. Segon, he fet la reconstrucció dels paràmetres que Lua talla per les barres verticals dels enllaços. --V.Riullop (parlem-ne) 10:16, 1 ago 2017 (CEST)[respon]
He mirat de seguir-ho, però m'he perdut. Deu ser cosa de l'horari. Que se suposa que hauria de posar als para 1,2,3 i 4?. La crida va en el rowformat o al rowsubformat2 ?. Merci,--amador (disc.) 06:21, 2 ago 2017 (CEST)[respon]
A Special:Permalink/18697792 ho tens rowformat = {{((}}infotaula persona/label_enaltiment{{!}}$0{{!}}$2{{))}}. Li passa dos paràmetres $0 i $2 però en fer la substitució es converteixen en 4: [[Sant | Sant]] | [[Papa Francesc | Papa Francesc I]]. Les barres verticals dels enllaços conduïts els interpreta com a separadors de paràmetres perquè ja no passa pel parser wiki. Per això reconstrueixo a {{Infotaula persona/label enaltiment}} els 4 paràmetres generats per Lua al format esperat de 2 (enllaç1 i enllaç2) com faria el parser wiki. El text1 i text2 és simplement el text de l'enllaç, sense els ]] finals, per usar-lo en la subplantilla. --V.Riullop (parlem-ne) 10:49, 2 ago 2017 (CEST)[respon]
Hauré de fer molt bona documentació, perquè si no, no ho entendrà ningú (ni nosaltres) quan ho miri. És una passada !. Gràcies.--amador (disc.) 13:45, 2 ago 2017 (CEST)[respon]

Circa en dates

@Vriullop: A les dates que tenen Circa (Q5727902) en Circumstàncies de la font (P1480), se'ls hauria d'indicar el corresponent c. davant. Anava a fer una funció de recuperació de dates que s'encarregués d'això i m'he dit: "pregunta-li al Vicenç si això li resulta fàcil posar-ho dins el mòdul com a part del tractament de formats". La resposta "No" serà ben rebuda. Salut !--amador (disc.) 13:54, 17 ago 2017 (CEST)[respon]

@Amadalvarez: Sembla lògic que ho tracti, però el fet que estigui definit com a qualificador ho complica molt. És estrany que no estigui en la mateixa taula que la data, com ho està la "precisió". Sent un qualificador definit en paral·lel, i no en la mateixa data, suposa pràcticament fer una funció nova específica per a dates. --V.Riullop (parlem-ne) 17:20, 17 ago 2017 (CEST)[respon]
@Vriullop: Tiro milles, però ho podríem demanar a -no sé on- de WD. Provo de trobar el lloc. Merci,--amador (disc.) 17:57, 17 ago 2017 (CEST)[respon]
De moment, {{circa}} davant la crida a WD on la property sigui una data. Quan les dates són qualifiers no hi ha solució perquè, cas d'existir un qualifier P1480, no sé sap a qui es refereix. --amador (disc.) 07:10, 18 ago 2017 (CEST)[respon]

@Vriullop: Treballant amb {{circa}} observo que, en formatting=table, els colformat sense valor no apliquen el valor per defecte com quan no hi són. Em va fatal per als meus plans perquè els passo com a paràmetre a la crida de {{circa}} i no són obligatoris. Merci,--amador (disc.) 10:53, 18 ago 2017 (CEST)[respon]

@Vriullop: Això és menys urgent, perquè li he posat el valor per defecte que ja aplica el mòdul, quan no està informat el paràmetre. --amador (disc.) 13:47, 18 ago 2017 (CEST)[respon]

@Vriullop: Igual ja ho hem parlat, però no ho trobo. Per què no funciona el paràmetre list en les table ?. Sempre he pensat que donaria molt joc en llistes llargues (obres notables) que podrien tenir una selecció de les 3-4 principals marcades com a prefered. Però ara trobo dates amb multivalor (Q121103, Q114357,..) que, en realitat només són formes diferents de representar i que, evidentment, no interessa la llista sencera. Alguna esperança ?. Merci,--amador (disc.) 14:51, 18 ago 2017 (CEST)[respon]

Majúscules

@Vriullop: Disculpa que estic una mica pesat. Estaré espès, però no sé com fer per convertir la primera lletra d'un resultat (en aquest cas de P106) a majúscules. A special:permalink/18741760 hi ha les proves. La primera intenció ha estat treballar sense formatting i aplicar un ucfirst al que hi hagués darrera el primer claudàtor, però retorna enllaços induïts i tot i que em salti els claudators, em trobo amb el nom de l'article VP o amb el codi ítem com a primer text; amb formatting label funciona el ucfirst, però perdem els enllaços, si li poso claudàtors em fa un enllaç amb tot l'string; amb internallink el problema és similar a no formatting, si bé aquí apareixen les redirecccions enlloc dels codi ítem; amb pattern funciona ucfirst, però ho aplica a cada valor. Alguna idea més enginyosa ?.--amador (disc.) 07:07, 18 ago 2017 (CEST)[respon]

He afegit l'opció case=ucfirst: Especial:Permalink/18741907. --V.Riullop (parlem-ne) 10:04, 18 ago 2017 (CEST)[respon]
@Vriullop: Aquest efecte ja l'havia aconseguit amb el pattern + claudàtors. La petició és aconseguir majúscula la primera lletra del string, efecte frase. Com ho veus ?--amador (disc.) 10:42, 18 ago 2017 (CEST)[respon]
@Amadalvarez: No és el mateix, el que fa és posar majúscula al text de l'enllaç mantenint l'enllaç conduït: [[Títol|text]] → [[Títol|Text]]. No havia entès que es necessita només pel primer d'una llista. Ara ho fa només una vegada. --V.Riullop (parlem-ne) 13:33, 18 ago 2017 (CEST)[respon]
@Vriullop: em mataràs. Ja tinc case=gender. Com li dic ?. case=gender,ucfirst ? --amador (disc.) 13:49, 18 ago 2017 (CEST)[respon]
No, ets tu el que em mataràs. Hauria de funcionar usant itemgender, però no tinc temps ni de provar-ho. Fins d'aquí uns dies. --V.Riullop (parlem-ne) 14:04, 18 ago 2017 (CEST)[respon]
@Vriullop: Descansa. Esperaré pacientment. --amador (disc.) 18:32, 18 ago 2017 (CEST)[respon]
@Amadalvarez: formatting=ucfirst. M'he trobat pillat. Descarto fórmules com case=gender,ucfirst o amb itemgender. Internament ho canvia a "feminine" quan fa falta i és complicat combinar-ho amb altres case només pel primer de la llista. Només em queda el formatting o un paràmetre nou. A proves hi he afegit formatting=ucfirst com alternativa a formatting=internallink i que només funciona per aquest tipus d'enllaç usat per defecte. Si fa falta combinar-ho amb altres formatting doncs caldrà definir-ho en nou paràmetre i la cosa es complica... o potser seria la solució més lògica. --V.Riullop (parlem-ne) 09:58, 23 ago 2017 (CEST)[respon]
El problema del formatting és que també l'ocupa el "table" que cada cop l'estic fent servir més perquè és molt útil. Llavors entra en col·lisió la indicació de "com vull formatar la dada output" amb el "vull fer una taula". Si ucfirst funcionés també dins el colformatn, llavors no seria un problema perquè hi hauria un lloc on indicar el format de "la dada". Altra tema és la col·lisió amb altres formatting, vull dir que no sé si ens caldrà combinar-lo amb pattern (amb label ho descarto, perquè se li podria aplicar directament la funció ucfirst en no tenir induïts). De moment, provo a veure que passa i tu em mires lo del colformatn. Merci,--amador (disc.) 10:25, 23 ago 2017 (CEST)[respon]
Amb formatting=table els formatatges específics passen als paràmetres colformat. Provat a Especial:Permalink/18753551. Una altra cosa és que segurament estem complicant els conceptes parametrals. --V.Riullop (parlem-ne) 11:00, 23 ago 2017 (CEST)[respon]
@Vriullop: Ets únic !. Res que no es pugui explicar a la documentació. És força coherent que on es pugui parlar de formats, es pugui parlar de tots.--amador (disc.) 13:08, 23 ago 2017 (CEST)[respon]
Passat de proves a versió en viu. A la documentació ja diu "colformat0 ... colformat9= [...] Accepta la mateixa sintaxi que formatting per a cada tipus de valor." --V.Riullop (parlem-ne) 13:30, 23 ago 2017 (CEST)[respon]

error en eliminació duplicat de getparentvalue

@Vriullop: Teníem un "poltergeist" denunciant que s'estroncava la cadena d'unitats territorials. Quan l'he reseguida detecto que es produeix quan es troba unitats amb P31 = Estat/Estats de .... que, aplicant la norma dels tàxons, ho elimina per duplicat. Però, ai las!, als pobles d'USA no passa. Causa: el seu P31 = estat federal està escrit en minúscula. Canviant el possible causant de l'error (Estat de Nigèria (Q465842)), la cosa funciona. Suposo que el problema està a Mòdul:Wikidata/labels. Ho pots mirar ?. salut !--amador (disc.) 06:57, 31 ago 2017 (CEST)[respon]