Plantilla:Wikidata list

De Viquipèdia
Salta a la navegació Salta a la cerca
Icona de documentació de mòdul Documentació de la plantilla [ mostra ] [ modifica el codi ] [ mostra l'historial ] [ refresca ]

Permet definir el contingut i forma que ha de tenir una llista automàtica.

Les llistes automàtiques, col·loquialment conegudes com listeriabot o wikidata list, és un sistema que permet crear llistes a partir de Wikidata, mitjançant un bot que executa consultes SPARQL en diferit. El resultat queda guardat en forma de taula wiki dins la pàgina des d'on s'ha invocat i s'actualitza de forma periòdica.

Ús[modifica]

Mitjançant els paràmetres d'aquesta plantilla es defineix la llista a generar per un bot (ListeriaBot). La plantilla s'ha d'ubicar dins l'article al lloc on volem veure la llista i haurà d'anar seguida de la plantilla {{Wikidata list end}} que, entre les dues, delimiten el lloc on s'ubicarà la taula amb la llista generada. Quan s'executi el bot deixarà la taula amb el resultat entre aquestes dues plantilles i serà substituït periòdicament per la llista generada pel bot.

  • A més d'aquestes instruccions, existeix una Ajuda:Llistes automàtiques, que fa la funció de tutorial amb explicacions pas a pas i força exemples.
  • Aquesta plantilla hi posa categories de control als articles que la fan servir.


L'estructura de codi que tindrem és
  • Article on ubiquem la llista automàtica
    • plantilla: Wikidata list amb:
      • codi de la SPARQL que cal executar, com a paràmetre sparql=
      • altres paràmetres de configuració de la llista
    • Taula wiki amb el contingut de la llista a mostrar, que ha estat generada pel ListeriaBot
    • plantilla: Wikidata list end "vagó de cua" que serveix per indicar-li al bot on finalitza l'espai per ubicar el contingut generat


Sintaxi[modifica]

Mostrem la llista de tots els possibles paràmetres, indicant en cursiva un contingut d'exemple. La consulta SPARQL ha d'incloure OBLIGATÒRIAMENT la variable ?item per funcionar.

{{Wikidata list
|sparql=SELECT ?item WHERE {
   ?item wdt:P31 wd:Q39715 .
   ?item (wdt:P131)* wd:Q55 
  }
|columns    =label:Article,description,p131:Lloc,P580,P582,P625,P18
|section    =P131
|min_section=3
|sort       =label
|sort_order =desc
|one_row_per_item =no
|links      =text
|thumb      =60
|summary    =itemnumber
|freq       =180
|skip_table =y
|header_template=Wikidata list/headerrow/municipis
|row_template   =Wikidata list/municipis
|references =all
|autolist   =fallback

|no_header  =
|show_tool  =y
|show_query =y
}}
... (Codi generat pel ListeriaBot) ...
{{Wikidata list end}}

Paràmetres[modifica]

sparql
Conté el codi SPARQL que fa la selecció dels items WD que conformaran la llista. La funció principal d'aquest codi SPARQL és seleccionar el subconjunt, és a dir, les fileres que volem llistar. Per tant, hem de tenir clar quines són les característiques/condicions del "Filtre del SPARQL" que ens cal.
A més de filtrar, també ens pot servir per fer alguna tasca de preparació de dades que deixarà en variables tipus ?variable.
La síntaxi del SPARQL ha de ser del tipus:
| sparql = SELECT * WHERE {
?item Pnnn Qnnnnnn.
}
En principi, qualsevol consulta és vàlida per fer-se servir amb aquesta plantilla, si bé determinats paràmetres (ORDRE, LIMIT, SERVICE wikibase:label,..) no es tenen en compte.
A més, requereix que el subjecte del WHERE sigui la variable ?item. Habitualment ja és així, però quan es fa servir l'assistent de consultes, a vegades li posa un nom diferent. Si això passa, caldrà canviar el nom que hagi posat l'eina i posar ?item a tots els lloc que hi aparegui i tornar a provar que tot va bé.
Es recomanable que el valors del SELECT sigui "*", és a dir, que no s'especifiquin les variables a tractar, ja que aquest filtratge es fa mitjançant el paràmetre columns=. Cas de tenir-los, cal assegurar que hi figuren les variables que farem apareixen a columns=, altrament no es mostraran.
Wikidata list retorna sempre el label de les propietats que li demanem, no les seves Qid. A diferència d'una consulta amb SPARQL on el valor que s'obté d'una propietat és la seva Qid i per obtenir el label, cal fer servir ?<variable>Label.
columns
Defineix les dades que apareixeran a les columnes de la taula. Obligatori. Els seus valors van separat per comes i poden ser:
Alguna de les paraules claus següents
  • number, un número correlativa, a partir de 1, de la filera. La numeració comença per secció, cas de tenir-ne.
  • label, el valor el label de l'item, enllaçat a l'article local (si existeix), o a l'item WD. Si no existeix cap valor pel label de la llengua local, es mostrarà en anglès.
  • label/<lang>, Mostrarà el label -sense enllaçar- en la llengua wiki indicada darrera de "/".
  • description, Descripció de l'item, o bé autogenerada amb el paràmetre autolist.
  • item, Qid de l'item de la filera
El valor d'una propietat o qualificador sense que haguem fet esment d'ell al codi SPARQL. Aquesta funcionalitat permet fer llistes automàtiques bàsiques de forma molt senzilla i amb poc coneixement de SPARQL.
  • Pxxx, un codi de propietat. Mostra tots els valors que tingui, excepte els de Rang obsolet Deprecated rank.svg
  • Pxxx/Pzzz, mostra el valor de la propietat Pxxx i del seu qualificador Pzzz, si existeix aquesta combinació per l'item.
  • Pxxx/Qyyy/Pzzz, mostra el valor del qualificador Pzzz, quan la propietat Pxxx = Qyyyyy. Quan una propietat té múltiples valors, com ara Premis (P166) o Càrrec (P39), i només volem treballar amb un tipus de premi o de càrrec. This is a version of the above, specific for a single item; e.g., "p553/q866/p554" to get YouTube account names.
  • ?variable una variable calculada dins el codi SPARQL.
Cada columna pot portar -opcionalment- un títol afegint ":<text_títol>". Si no s'informa es farà servir el nom de la propietat o variable.
sort
Clau d'ordenació de la llista. Optional.
Només accepta un valor, en cas que es vulgui ordenar per més d'un paràmetre, cal fer servir el paràmetre ORDER BY al SPARQL. Possible valor:
  • label, el label de l'item
  • family_name, intenta trobar i ordenar pel cognom que figuri al 'label, assumint que els items són noms de persona. Cal assumir que l'algorisme pot no ser precís en certs noms. Si és possible, es recomana fer servir la Cognom (P734).
  • Pxxx, un codi de propietat
  • ?variable, una variable creada al SPARQL
sort_order
Forma d'ordenació: asc, per ordenar ascendent; desc, descendent. Per defecte, ascendent. Opcional
one_row_per_item
Indica que es volen ajuntar totes les files que pertanyin al mateix item (ex.: un càrrec amb diferents dates, un municipi amb diferents codis postals,..). el valor per defecte és yes. Per fer que cada valor diferent ocupi una fila, cal posar-li no.
section
Permet crear seccions dins el llistat, amb capçaleres per cada valor de la propietat que s'indiqui en aquest paràmetre. Ha de ser un codi de propietat, Pnnnn. Opcional
min_section
Una xifra que indica el mínim nombre de línies que ha de tenir una secció per mostrar-se amb capçalera pròpia. Per evitar tenir múltiples micro-seccions amb unes poques línies, totes les seccions que quedin per sota, es llistaran junts sota la capçalera "Misc". El valor per defecte és 2. Opcional
autolist
Si es fa servir com a columna el valor de description, en cas que aquest estigui buit, ListeriaBot generarà una descripció construïda amb certes propietats claus fent servir l'eina AutoDesc. S'activa amb "autolist=fallback". Val a dir que algunes definicions es mostren en anglès i no es pot parametritzar la llengua. Opcional
language
Idioma dels textos de Label/description, si es vol un de diferent a l'idioma de la VP. Opcional
thumb
Xifra (sense indicar la unitat) què indica la mida en pixels que tindran les imatges. Valor per defecte: 128. Opcional
links
Indica cóm es mostraran els enllaços quan no existeixi el corresponent article a la Viquipèdia. Els valors previstos són:
  • all mostra enllaç a Wikidata. Valor per defecte.
  • local no mostra res (cas oposat a red_only).
  • red Genera un enllaç en vermell amb el label Wikidata.
  • red_only no mostra cap enllaç quan existeix article Viquipèdia (cas oposat a local). És una forma de identificar fàcilment els articles mancants.
  • text genera un enllaç a l'article quan existeix i un text sense enllaçar en cas contrari.
  • reasonator genera un enllaç a l'article quan existeix i un enllaç a l'eina Reasonator en cas contrari.
Optional
row_template
Generates a template call rather than a table row; the template must then generate the table row in turn or the table header/footer need to be suppressed using skip_table parameter. Parameters passed to the template are the lower-case keys from the columns parameter, e.g. label or p18. Optional
header_template
Generates a template call rather than a table header; the template must then generate the table header. No parameters are passed to this template. Recommended to be used with row_template. Optional
skip_table
Elimina el format tabular clàssic i dóna llibertat de format gestionat des de la row_template. S'activa amb qualsevol valor.
references
Mostra les referències que tinguin els valors a WD. El valor ha de ser all. Recordeu tenir la secció de Referències a peu de pàgina. Opcional
freq
Freqüència, mesurada en dies, amb que el bot farà una actualització del contingut. Aquest paràmetre no afecta a les actualitzacions que es demanen manualment des de l'enllaç de la capçalera de la llista. Opcional
summary
Mostra el nombre total d'items (fileres), al final de la llista. L'únic valor previst és itemnumber. Opcional.
wdedit
Fora d'ús. Prevista per poder accedir a l'item de WD per modificar-lo. Actualment es fa directament amb l'enllaç amb el Qid de l'ítem.

Paràmetres complementaris[modifica]

Els següents paràmetres són propis d'aquesta VP, alguns derivats de la versió WD.

no_header
Permet simplificar l'encapçalament estàndard que aquesta plantilla genera per defecte (línia horitzontal superior i text descriptiu). Amb no_header=sí o yes, es manté tant sols la icona per "recalcular manualment" la llista.
show_tools
Mostra una línia extra a la capçalera amb enllaços a eines WD que treballen amb la selecció de la llista. Són útils en fase de depuració o quan la llista no forma part del cos d'un article enciclopèdic, sinó com a eina de treball d'un projecte, marató, etc. NO funciona quan està activat no_header. S'activa amb qualsevol valor. Opcional
show_query
Ens mostra a la capçalera la query que hem definit al paràmetre sparql=. És una ajuda documental que permet veure la informació del filtre de la consulta sense haver d'editar el codi. Com en el cas de show_tools, és útil en fase de depuració o quan la llista no forma part del cos d'un article enciclopèdic, sinó com a eina de treball. NO funciona quan està activat no_header. S'activa amb qualsevol valor. Opcional

Gràfics[modifica]

La Wikidata list es pot combinar amb la {{Graph:Chart}}

Exemple
Plantilla:Wikidata list/exemple gràfic barres:
 {{Wikidata list
  |sparql=

  SELECT
    (wd:Q2481549 as ?item) 
    ("rect" as ?type)
    ("400" as ?width) 
    ("200" as ?height) 
    ("Nombre de zoos amb óssos polars" as ?legend) 
    ("Països" as ?xAxisTitle) 
    ("zoos" as ?yAxisTitle)
    (GROUP_CONCAT(?country;separator=",") as ?x)
    (GROUP_CONCAT(?count;separator=",") as ?y)
  WHERE
 {
   { 
    SELECT ?country (COUNT(DISTINCT ?zoo) as ?count)
    {
      ?zoo wdt:P1990 wd:Q33609 . 
      ?zoo wdt:P31 wd:Q43501 .
      ?zoo wdt:P17 / wdt:P901 ?country .
      SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
    }
    GROUP BY ?country
    ORDER BY ASC(?count) ?country
   }
 } 

|columns=?type,?width,?height,?legend,?xAxisTitle,?yAxisTitle,?x,?y
|short=true
|chart=true
|skip_table=true
|row_template=Graph:Chart
}}

{{Wikidata list end}}

És important tenir "row_template=Graph:Chart", "skip_table=sí" i "columns" amb els valors requerits a plantilla:Graph:Chart.

L'exemple mostra "type=rect", però es podria haver fet amb line, area, pie.

El codi generat pel ListeriaBot és:

{{Graph:Chart
| type = rect
| width = 400
| height = 200
| legend = Nombre de zoos amb óssos polars
| xaxistitle = country
| yaxistitle = zoos
| x = US,FR,GM,CA,DA,NL,JA,EZ,AS,UK,SN,RS,PL,NZ,FI,EN,AU
| y = 23,5,4,4,3,2,2,2,2,1,1,1,1,1,1,1,1
}}

Vegeu també[modifica]

Enllaços externs[modifica]