Abrir menu principal

Módulo:WikidataIB/doc

< Módulo:WikidataIB
Revisão de 10h26min de 21 de abril de 2021 por Campari (discussão | contribs) (Criação da documentação do Módulo WikidataIB)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

Esta é a página de documentação para Módulo:WikidataIB

Este módulo foi projetado especificamente para implementar um mecanismo que move o controle de se os valores do Wikidata são usados em uma infobox do programador da predefinição no nível de design da infobox para o editor no nível de artigo. Ele só deve ser usado dentro de uma infobox.

Índice

Uso

O módulo provê essas chamadas especificamente para o uso em infoboxes no presente:

  1. getValue
  2. getPreferredValue
  3. getSourcedValue
  4. getCoords
  5. getQualifierValue

A chamada getSourcedValue é mantida para compatibilidade com versões anteriores, pois agora é redundante para getValue que pode fazer o mesmo trabalho usando o parâmetro |onlysourced=true.

Existem também essas chamadas úteis:

  1. getLink
  2. getLabel
  3. getAT
  4. formatDate
  5. checkBlacklist
  6. predDni
  7. predMorte

Chamadas generalizadas:

{{#invoke:WikidataIB |getValue |<PropertyID> |name=<fieldname> |suppressfields=<list of fields which will never display> |fetchwikidata=<list of fields to fetch values from Wikidata> |onlysourced=<yes/no> |noicon=<yes/no> |df=<dmy/mdy/y> |bc=<BC/BCE> |<local parameter>}}
{{#invoke:WikidataIB |getPreferredValue |<PropertyID> |name=<fieldname> |suppressfields=<list of fields which will never display> |fetchwikidata=<list of fields to fetch values from Wikidata> |onlysourced=<yes/no> |noicon=<yes/no> |df=<dmy/mdy/y> |bc=<BC/BCE> |<local parameter>}}
{{#invoke:WikidataIB |getSourcedValue |<PropertyID> |name=<fieldname> |suppressfields=<list of fields which will never display> |fetchwikidata=<list of fields to fetch values from Wikidata> |<local parameter>}}
{{#invoke:WikidataIB |getCoords |name=<fieldname> |suppressfields=<list of fields which will never display> |fetchwikidata=<list of fields to fetch values from Wikidata> |<local parameter>}}
{{#invoke:WikidataIB |getQualifierValue |<PropertyID> |pval=<ID of target value for the property> |qual=<qualifier ID for that target value> |name=<fieldname> |suppressfields=<list of fields which will never display> |fetchwikidata=<list of fields to fetch values from Wikidata> |onlysourced=<yes/no>}}

Função getValue

  • getValue pode também pegar um parâmetro |qid= que é o ID do Wikidata para o artigo. Isto não será normalmente usado, mas está disponível para teste, embora faça a chamada cara.
  • A propriedade a ser retornada é passada na primeira propriedade não nomeada.
  • O nome do campo que a função é chamada é passada no parâmetro |name=, que é primeiramente checado em uma blacklist de campos que não devem ser mostradas nunca, (i.e. a chamada retorna nil em todas as circunstâncias). Se o campo não está na blacklist, é então checado contra uma whitelist. Se o nome do campo concorda, a chamada retornará qualquer valor fornecido localmente se é fornecido como segundo parâmetro não nomeado, ou o valor do Wikidata caso contrário.
  • O nome é compulsório quando a blacklist ou a whitelist é usada, então o módulo retorna nil se não é fornecido.
  • A blacklist é passada no parâmetro |suppressfields=
  • A whitelist é passada no parâmetro |fetchwikidata=

A função getValue aceitará um parâmetro booleano |onlysourced= que irá suprimir retornos dos valores do Wikidata que estão sem fontes ou somente referenciados a wIRChelp. A ausência do parâmetro, um parâmetro |onlysourced vazio e uma string vazia ("") têm como default para verdadeiro (i.e. somente os valores referenciados são retornados). Os valores no, false e 0 são tratados como falsos (i.e. todos os valores são retornados); qualquer outro valor é verdadeiro (embora |onlysourced=yes seja recomendado para legibilidade).

A função getValue aceitará um parâmetro booleano noicon que suprimirá o ícone "edite no Wikidata" para quando o valor retornado for processado futuramente pela infobox (e.g. uma url). A ausência do parâmetro ou um parâmetro |noicon vazio default para falso (i.e. o parâmetro é adicionado). A string vazia ("") e os valores no, false e 0 são tratados como falsos; qualquer outro valor é verdadeiro (embora |noicon=true seja recomendado para legibilidade).

Em ordem de lidar com o requerimento para datas em my, dmy ou y, getValue aceita um parâmetro |df= que pode pegar valores "dmy", "my" ou "y" - default é "dmy".

Se um artigo exigir o sufixo a.C., getValue retornará a data com esse sufixo;

Em uma invocação do módulo para extrair datas, getValue aceita um parâmetro |idioma= que pode receber o valor "pt" para formatar a data de acordo com o português europeu (única diferença se dá nas datas envolvendo o primeiro dia do mês. Por exemplo: 1º de maio de 2017 (em português brasileiro) e 1 de maio de 2017 (em português europeu)).

  • A propriedade a ser retornada é passada na primeira propriedade não nomeada.

A função getValue aceitará um especificador de uso de unidade de medida (ao invés da unidade por extenso) na terceira propriedade não nomeada. A unidade de medida será exibida somente se o valor passado for unidade

Função getPreferredValue

A função getPreferredValue trabalha exatamente como getValue, tomando os mesmos parâmetros, mas se qualquer um dos valores para a propriedade tem um rank set preferido, ela retornará esses valores.

Exemplo

Obtendo o(s) nome(s) da Predefinição:Q de Predefinição:Q:

  • {{#invoke:WikidataIB |getValue |P170 |fetchwikidata=ALL |qid=Q29016906 |onlysourced=no}}Erro em Lua em Módulo:WikidataIB na linha 279: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WikidataIB |getPreferredValue |P170 |fetchwikidata=ALL |qid=Q29016906 |onlysourced=no}}Erro em Lua em Módulo:WikidataIB na linha 279: attempt to index field 'wikibase' (a nil value).

Função getSourcedValue

  • getSourcedValue trabalha exatamente como getValue, mas somente retorna valores que tenham referência a algo mais do que a wIRChelp. Não há garantias de fontes confiáveis, mas ajuda separar o joio do trigo.

Exemplo de getSourcedValue

De Predefinição:Q:

Burton correntemente tem quatro valores para Predefinição:Q no Wikidata:

Usando getValue em Richard Burton:

  • {{#invoke:WikidataIB |getValue |P106 |name=occupation |fetchwikidata=ALL}} -> Erro em Lua em Módulo:WikidataIB na linha 279: attempt to index field 'wikibase' (a nil value).

Usando getSourcedValue em Richard Burton:

  • {{#invoke:WikidataIB |getSourcedValue |P106 |name=occupation |fetchwikidata=ALL}} -> Erro em Lua em Módulo:WikidataIB na linha 279: attempt to index field 'wikibase' (a nil value).

Função getCoords

  • getCoords pode também pegar um parâmetro |qid= que é o ID do Wikidata para o artigo. Isto não será normalmente usado, mas está disponível para testes, embora faça a chamada cara.
  • As coordenadas do Wikidata são passadas a Predefinição:Coord que retorna o display como se fosse chamado manualmente.
  • O nome do campo que a função é chamada é passada no parâmetro |name, que é primeiramente checado em uma blacklist de campos que não devem ser mostradas nunca, (i.e. a chamada retorna nil em todas as circunstâncias). Se o campo não está na blacklist, é então checado contra uma whitelist. Se o nome do campo concorda, a chamada retornará qualquer valor fornecido localmente se é fornecido como segundo parâmetro não nomeado, ou o valor do Wikidata caso contrário.
  • O nome é compulsório quando a blacklist ou a whitelist é usada, então o módulo retorna nil se não é fornecido.
  • A blacklist é passada no parâmetro |suppressfields=
  • A whitelist é passada no parâmetro |fetchwikidata=

Função getQualifierValue

O getQualifierValue é para usar quando queremos concordar o valor de um qualificador. Nós precisamos saber a propriedade e o valor da propriedade que a qualifica. Os parâmetros são:

  • A propriedade ID passada no parâmetro não nomeado (ou |1)
  • O valor alvo para esta propriedade em |pval
  • O ID qualificador para o valor alvo em |qual
  • O nome do campo onde é chamada para implementar "whitelisting" e "blacklisting" da propriedade nele
  • A lista de campos para concordância ("whitelist") em |fetchwikidata= - aceita |fetchwikidata=ALL para concordar todos os campos
  • Lista opcional de campos para não serem exibidos ("blacklist") em |suppressfields=
  • booleano opcional para especificar se apenas valores referenciados da propriedade são retornados (default para "no") em |onlysourced=
  • Item ID opcional para acesso arbitrário (chamada carísssima!) em |qid=

Exemplo de getQualifierValue

Em Predefinição:Q existe uma propriedade Predefinição:Q, que tem um valor Predefinição:Q. Tem dois qualificadores, Predefinição:Q e Predefinição:Q. Para obter a data de início:

  • {{#invoke:WikidataIB |getQualifierValue |P793 |pval=Q385378 |qual=P580 |name=xyz |fetchwikidata=ALL }}

Em Telescópio do Polo Sul retorna:

  • Erro em Lua em Módulo:WikidataIB na linha 279: attempt to index field 'wikibase' (a nil value).

Função getLink

getLink retorna o rótulo para um Qid ligado a wiki para o artigo local (se o artigo existe).

Função getLabel

getLabel retorna o rótulo para uma Qid. Se o rótulo não existe, retorna o Qid. Note que este é o rótulo dado para a entrada no Wikidata na mesma linguagem da corrende wIRChelp, se o rótulo existe.

  • {{#invoke:WikidataIB |getLabel |Q29016906}}Erro em Lua em Módulo:WikidataIB na linha 216: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WikidataIB |getLabel |Q3621491}}Erro em Lua em Módulo:WikidataIB na linha 216: attempt to index field 'wikibase' (a nil value).

Função getAT

getAT retorna o título do artigo para uma Qid. Se o título do artigo não existe, não retorna nada. Note que este é o título do artigo na corrente wIRChelp, se o interwiki existe na entrada Wikidata.

  • {{#invoke:WikidataIB |getAT |Q29016906}}Erro em Lua em Módulo:WikidataIB na linha 920: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:WikidataIB |getAT |Q3621491}}Erro em Lua em Módulo:WikidataIB na linha 920: attempt to index field 'wikibase' (a nil value).

Função predDni

predDni toma uma data de nascimento passada pelo usuário (tal como devolvida pela função getValue ou getPreferredValue ou da forma DD{{!}}MM{{!}}AAAA) e a insere dentro da predefinição:Dni. Também aceita os argumentos "|idioma=" caso se deseje exibir a data na variante do português angolano e a variável não nomeada "sem idade" quando não se desejar exibir a idade.

{{#invoke:WikidataIB |predDni |<data de nascimento obtida através da função getValue ou getPreferredValue acrescentada opcionalmente dos parâmetros "|idioma=" e "|sem idade" ou então a data por extenso como "01{{!}}04{{!}}2018">}}

Exemplo:

  • {{#invoke:WikidataIB|predDni|01{{!}}04{{!}}2016}}01 de Abril de 2016 (8 anos)
  • {{#invoke:WikidataIB|predDni|01{{!}}04{{!}}2020|idioma=pt-ao|sem idade}}01 de Abril de 2020

Função predMorte

Tal qual predDni, predMorte toma uma data de morte e uma data de nascimento passada pelo usuário (novamente: tal como devolvida pela função getValue ou getPreferredValue ou da forma DD{{!}}MM{{!}}AAAA) e a insere dentro da predefinição:Morte. Também aceita o argumento "|idioma=" caso se deseje exibir a data na variante do português angolano.

{{#invoke:WikidataIB |predMorte |<data de morte obtida através da função getValue ou getPreferredValue ou então a data por extenso como "01{{!}}04{{!}}2018">|<data de nascimento obtida através da função getValue ou getPreferredValue ou então a data por extenso como "01{{!}}04{{!}}2017">}}

Exemplo:

  • {{#invoke:WikidataIB|predMorte|01{{!}}04{{!}}2018|01{{!}}04{{!}}2016}}Erro em lua: expandTemplate: template "Morte" does not exist.

Função formatDate*

formatDate aceita uma data no formato usual de mw.wikibase.entity:formatPropertyValues, como "1 de agosto de 30 a.C." como parâmetro 1 e o formata de acordo com os parâmetros df e bc.

  • {{#invoke:WikidataIB |formatDate | 1 de agosto de 30 | bc=BC |df=dmy}}1
  • {{#invoke:WikidataIB |formatDate | 1 de agosto de 20 | bc=BCE |df=mdy}}1
  • df = "dmy" / "mdy" / "y" - default é "dmy"
  • bc = "BC" / "BCE" - default é "BCE"

* Não está funcionando normalmente


Adendo sobre o idioma de retorno

Por padrão, os rótulos retornados pelo módulo serão retornados por default na variante brasileira do português. Caso um editor deseje que o rótulo seja retornado em português europeu (essas são, infelizmente, as duas únicas variantes implementadas no Wikidata), ao utilizar qualquer uma das funções apresentadas, basta adicionar |idioma=pt ou |idioma=pt-ao (neste caso, os rótulos serão retornados em português europeu, e as datas serão retornadas no formato angolano) nos parâmetros da função.

Ver também