Módulo:WikidataIB/doc
| Esta é uma subpágina de documentação para o Módulo:WikidataIB. Ela contém informações sobre o seu uso, categorias, bem como todo o conteúdo que não faz parte do módulo original. |
| Este módulo depende dos seguintes outros módulos: |
Este módulo obtém e formata dados do Wikidata. Foi concebido para permitir que predefinições, especialmente infocaixas, controlem por campo quando deve prevalecer um valor local, quando o Wikidata pode ser consultado e quando o campo deve ser suprimido. Esse controle é feito principalmente pelos parâmetros fetchwikidata/fwd e suppressfields/spf.
A {{Wdib}} é uma interface direta para a função getValue. O módulo também é utilizado por outros módulos Lua, portanto seu uso não se limita a infocaixas.
Não deve ser confundido com o Módulo:Wd, usado pela {{Wikidata}}, nem com o Módulo:Infobox/Wikidata, usado pelo Módulo:Interface Wikidata e pela {{Valor Wikidata}}. São implementações distintas.
Histórico
[editar código]A versão lusófona foi criada em 30 de janeiro de 2017 a partir de en:Module:WikidataIB. O código inicial já implementava listas de campos permitidos e proibidos para controlar o uso do Wikidata em infocaixas.
Em 26 de julho de 2017, o módulo foi novamente importado da Wikipédia em inglês para incorporar correções e atualizações. Uma nova grande sincronização ocorreu em 18 de junho de 2021, quando foi incorporada uma versão anglófona que se identifica no próprio código como 2021-02-06. Depois de ajustes posteriores em 2021, a revisão de 27 de dezembro de 2021 permanece como a versão atual do código local.
Uso
[editar código]O módulo provê essas chamadas especificamente para o uso em infoboxes no presente:
getValuegetPreferredValuechamada principal, usada para obter o valor(es) de uma dada propriedadegetQualifierValue- dado: (1) uma propriedade; (2) seu valor; (3) o IDpropriedade do qualificador, retorna valores que igualamgetValueByQualobtém o valor de uma propriedade que tem um qualificador com um dado valor de entidadegetValueByLangobtém o valor de uma propriedade que tem um qualificador P407 ("linguagem de trabalho ou nome") cujo valor tem o código de linguagem dadogetValueByRefSourceobtém o valor de uma propriedade que tem uma referência "indicada em" (P248) cujo valor tem o ID-entidade indicadogetPropOfPropse o(S) Valor (s) do prop1 são do tipo "wikibase-item" então ele retorna o(S) Valor (s) do prp2 de cada um desses itens wikibasegetAwardCatse o item tem valores de P166 (prêmio recebido), em seguida, ele examina cada um dos prêmios para P2517 (categoria de destinatários do prêmio) e retorna a categoria correspondente, com o item P734 (nome de família) como chave de ordenação, ou nenhum tipo de chave se não existir nenhum nome de famíliagetIntersectCatpara cada valor do prop1 ele obtém a categoria principal do valor e então cada valor do prop2, então ele retorna todas as categorias que representam a interseção dessas propriedadesgetSumOfPartsverifica a propriedade 'tem parte' (P527) para valores correspondentes a uma lista, se os valores correspondentes tiverem um qualificador 'quantidade' (P1114), essas quantidades são somadas e devolvidas (mas o zero devolve zero)getCoords- obtém as coordenadas e passa-as através do modelo:Coord
A chamada obsoleta getSourcedValue foi removida, pois agora é redundante para getValue que pode fazer o mesmo trabalho usando o parâmetro (que está definido por padrão). A chamada obsoleta getPreferredValue ainda é mantida, mas deve substituída por |onlysourced=truegetValue|rank=best.
Existem também essas chamadas úteis:
getLinkse houver um link do site para um artigo no Wiki local, ele retorna um link para o artigo com a etiqueta Wikidata como o texto apresentado. Se não houver nenhum link do site, ele retorna o rótulo como texto simples. Se não houver nenhuma etiqueta na língua local, devolve o ID da entidadegetAT(Article Title) Se houver um link do site para um artigo no Wiki local, ele retorna o link do site como texto simples, caso contrário nadagetSiteLinkobtém o link de texto simples para um artigo num determinado wikigetLabeldevolve a etiqueta Wikidata para a língua local como texto simples. Se não houver nenhuma etiqueta na língua local, devolve o ID da entidadegetAllLabelsobtém o conjunto de legendas e formata-o para mostrar como wikitextlabeloriddevolve a legenda com toda o wikitexto removido, ou o ID da entidade se não houver legendagetDescriptiondevolve a descrição do artigo para a entidade Wikidata se o parâmetro local for "Wikidata".getAllDescriptionsobtém o conjunto de descrições e formata-o para mostrar como wikitextgetAliasesdevolve os pseudónimos da entidade na língua actual ou dadagetAllAliasesobtém o conjunto de nomes alternativos e formata-o para mostrar como wikitextpageIddevolve o id da página Wikidata ligada (ID de entidade, número Q) da página actualformatDateleva uma datetime do formato usual de mw.wikibase.entidade: formatpropertytyvalues e formata-o de acordo com os parâmetros df (formato de data) e a.C.formatNumberformata um número de acordo com o código da língua fornecidacheckBlacklistdevolve true se o campo "não" estiver na lista negra (isto é, permitido))emptyordevolve zero se o parâmetro for apenas pontuação, espaços em branco ou marcas de html, caso contrário devolve o argumento inalteradogetLangdevolve o código da língua MediaWiki ou o nome completo da língua do conteúdo actualgetItemLangCodeprocura por país (P17), depois pela língua oficial desse país (P37), e devolve o código da língua (P424)findLanguagedevolve (1) a língua indicada se for válida; ou (2) a língua definida do utilizador; ou (3) a língua do wiki actualgetQiddevolve (1) o ID da entidade, se for fornecido; ou (2) O ID da entidade do "tópico principal da categoria (P 301)"; ou (3) O ID da entidade associado à página actual; ou (4) nadafollowQiddada uma lista de propriedades, procura por cada propriedade por sua vez e devolve o ID da entidade do primeiro valor correspondente (opcionalmente, devolve todos os IDs da entidade que correspondem)getGlobedevolve o ID de entidade do globo usado em P625 (localização das coordenadas), ou zero se não existir umgetCommonsLinkretorna um dos seguintes, por ordem de preferência: o link do site Commons do item linked Wikidata; o sitelink Commons da principal categoria do tópico linked Wikidata item;siteIDretorna a raiz do globalSiteID, por exemplo "en" para "enwiki", "enwikisource", "en-gb", etc.projIDmesmo que siteIDlocationpesquisa a partir da localização atual para cima ao longo da cadeia de locais de nível superior, retornando cada um até chegar a um paísexaminedevolve um dump formatado da propriedade dadaurl2toma um parâmetro que é um url apropriado e o formata para uso em um infobox; Aceita a sua própria saída como entradagetWebsiteobtém o sítio Web Oficial (P856) e formata-o para utilização numa caixa de infocommentcheckvalueprocura através de uma propriedade para um dado ID de entidade como o seu valor e devolve esse ID de entidade, se for encontrado; caso contrário, nadacheckValiditydevolve se o primeiro parâmetro sem nome representa um ID de entidade válidoshowNoLinksmostra os títulos dos artigos que não devem ser ligados
Exemplo de chamadas:
{{#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> |qual=<ALL/DATES/P999> |list=<ubl/hlist/prose> |linked=<yes/no> |<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>}}
{{#invoke:WikidataIB |getValueByQual |<PropertyID> |qualID=<qualifier property ID to match> |qvalue=<QID of target value for the qualifier property> |name=<fieldname> |suppressfields=<list of fields which will never display> |fetchwikidata=<list of fields to fetch values from Wikidata> |onlysourced=<yes/no>}}
{{#invoke:WikidataIB |getValueByLang |<PropertyID> |lang=<language code to match> |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
[editar código]Parameters to getValue
[editar código]Este artigo ou secção necessita de expansão. |
| Nome | Alias | Função | Padrão |
|---|---|---|---|
| (primeiro sem nome) | 1 | O ID da propriedade cujos valores são devolvidos. Necessário. | |
| (segundo sem nome) | 2 | Um valor fornecido localmente que, se não estiver vazio, será devolvido em preferência ao valor no Wikidata. | vazio |
| qid | O número Q (ID da entidade) da entidade a que a propriedade pertence. Se não for fornecido ou vazio, é por omissão o item associado Wikidata da página actual-usamw.wikibase.getEntityIdForCurrentPage(). | Id do item para a página atual | |
| eid | Uma alternativa para qid. Excepto para eid, todos os parâmetros para o getValue tratam o zero e o texto vazio o mesmo. Então, ajuste |x= dá o mesmo resultado que omitir o parâmetro. No entanto, para fornecer alguma compatibilidade com outros módulos, utilizando eid permite qid funcione normalmente. |
Id do item para a página atual | |
| rank | [Insensível à capitalização] quando definido como best, devolve os valores preferidos se estiverem presentes, caso contrário devolve os valores normais. Quando definido como best devolve os valores preferidos. Quando configurado para normal, devolve os valores normais. Quando configurado para deprecated devolve valores desactualizados. Qualquer valor de parâmetro começando com "b" é "best"; começando com "p" é "prefered"; começando com "n" é "normal"; começando com "d" é obsoleto. Vários valores são permitidos: "p n d" retornaria todas as fileiras. O "best" sobrepõe-se às outras bandeiras. Outros valores são ignorados e se não for solicitada nenhuma classificação, preferidos e normais são devolvidos. |
preferred e normal | |
| qual | A lista separada de pontuação de IDs de propriedades de qualificadores que tem que ser devolvidos em parênteses depois da propriedade. Configuracao qual=ALL devolve todos os qualificadores. Configuração qual=DATES devolve data inicial (P580) e data final (P582) com separador de data. |
none | |
| qualsonly | qo | Um booleano que permite a exibição de apenas o(s) qualificador (es), sem o valor da propriedade ou parênteses. Valores no, false e 0 são todos falsos; qualquer outra é true. |
false |
| qualsonly | qo | Um booleano que permite a exibição de apenas o(s) qualificador (es), sem o valor da propriedade ou parênteses. Valores no, false e 0 são todos falsos; qualquer outra é true. |
false |
| fetchwikidata | fwd | Lista de campos para buscar valores de. ALL buscas todos os campos. Um valor de NONE ou vazio ou omitir o parâmetro não busca campos. |
none |
| suppressfields | spf | Lista de campos que nunca irão aparecer. Isso mesmo forçará um valor local no campo a não exibir. | none |
| name | Nome do campo. Quando informa a info caixa, este é o nome que fetchwikidata e suppressfields vai reconhecer. Requirido se fetchwikidata ou suppressfields é específicado (excepto quando fetchwikidata=ALL). |
nil | |
| onlysourced | osd | Um booleano que irá filtrar os valores do Wikidata que não são obtidos ou que só são obtidos na Wikipédia. Valores no, false e 0 são todos false; qualquer outro é true. |
true |
| df | Formato de data: pode ser dma (dia antes de mês) ou mda (mês antes de dia) ou a (apenas ano). |
dmy | |
| qdf | Qualificadores de formato de data. Se omitido, revere para parâmetro padrão df, ou "y" ou "a" se df também é omitido. |
valor de df ou "y" ou "a" | |
| bc | Formato de sufixos a.C. ou d.C. (BC/BCE) para datas. | BCE | |
| plaindate | pd | Texto para modificar a formatação das datas. A configuração "true"/"yes"/"1" desactiva a adição de "circunstâncias de fontes" (P 1480) e quaisquer ligações. Definir "adj" faz o mesmo, mas usa a forma adjetiva da data. | false |
| linked | Um booleano que permite o link para uma página local através de seu link do site no Wikidata. Valores no, false e 0 são todos false; qualquer outro é true. |
true | |
| displaytext | dt | Um texto que se sobrepõe ao texto apresentado de um item ligado, se não estiver vazio. | empty |
| shortname | sn | Um booleano que permite o uso de Nome curto (p 1813) em vez de etiqueta para um item ligado. Valores no, false e 0 são todos false; quaquer outro é true. |
false |
| uselabel | uselbl | Um booleano que força a exibição do rótulo em vez do link do site desambiguado para um item ligado. As etiquetas são muito mais propensas ao vandalismo que os links do site. Valores no, false e 0 são todos false; qualquer outro é true. |
false |
| wdlinks | wdl | Um booleano que permite a exibição de links para Wikidata quando nenhum artigo local existe. Valores no, false e 0 são todos false; qualquer outro é true. |
false |
| unitabbr | uabbr | Um booleano que permite a exibição de abreviações de unidade para unidades comuns. Valores no, false e 0 são todos false; qualquer outro é true. |
false |
| convert | conv | Um booleano que permite a passagem de quantidades para Predefinição:Cvt. Valores no, false e 0são todos false; qualquer outro é true. |
false |
| showunits | su | Um booleano que permite a exibição de unidades para quantidades. Valores no, false e 0são todos false; qualquer outro é true. |
true |
| scale | Uma cadeia de texto que configura a escala de formato das quantidades. Valores são: "a"=automático; "0"=sem escala; "3"=milhar; "6"=milhão; "9"=bilhãi; "12"=trilhão. | 0 |
- getValue pode também pegar um parâmetro
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.|qid= - 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
, 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.|name= - 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 que irá suprimir retornos dos valores do Wikidata que estão sem fontes ou somente referenciados a Wikipédia. A ausência do parâmetro, um parâmetro |onlysourced=|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 seja recomendado para legibilidade).|onlysourced=yes
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 seja recomendado para legibilidade).|noicon=true
Em ordem de lidar com o requerimento para datas em my, dmy ou y, getValue aceita um parâmetro que pode pegar valores "dmy", "my" ou "y" - default é "dmy".|df=
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 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)).|idioma=
- 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
[editar código]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
[editar código]Obtendo o(s) nome(s) da criador (P170) de Corisca e Sátiro (Q29016906):
{{#invoke:WikidataIB |getValue |P170 |fetchwikidata=ALL |qid=Q29016906 |onlysourced=no}}→ Artemisia Gentileschi, Diana Rosa, Massimo Stanzione
{{#invoke:WikidataIB |getPreferredValue |P170 |fetchwikidata=ALL |qid=Q29016906 |onlysourced=no}}→ Artemisia Gentileschi
Função getSourcedValue
[editar código]- getSourcedValue trabalha exatamente como getValue, mas somente retorna valores que tenham referência a algo mais do que a Wikipedia. Não há garantias de fontes confiáveis, mas ajuda separar o joio do trigo.
Exemplo de getSourcedValue
[editar código]Burton correntemente tem quatro valores para ocupação (P106) no Wikidata:
- ator de cinema (Q10800557) (referenciado a Dutch Wikipedia);
- ator (Q33999) (referenciado a http://www.nytimes.com/1983/05/09/theater/theater-private-lives-burton-and-miss-taylor.html);
- diarista (Q18939491) (referenciado a Wikipédia);
- ator de teatro (Q2259451) (não referenciado).
Usando getValue em Richard Burton:
{{#invoke:WikidataIB |getValue |P106 |name=occupation |fetchwikidata=ALL}}-> ator de cinema, diarista, ator de teatro, ator, diretor de cinema, produtor cinematográfico, produtor, realizador, músico
Usando getSourcedValue em Richard Burton:
{{#invoke:WikidataIB |getSourcedValue |P106 |name=occupation |fetchwikidata=ALL}}->
Função getCoords
[editar código]- getCoords pode também pegar um parâmetro
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.|qid= - 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
[editar código]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
- aceita|fetchwikidata=para concordar todos os campos|fetchwikidata=ALL - 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
[editar código]Em Telescópio do Polo Sul (Q1513315) existe uma propriedade evento notável (P793), que tem um valor construção civil (Q385378). Tem dois qualificadores, data inicial (P580) e data final (P582). 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:
Função getLink
[editar código]getLink retorna o rótulo para um Qid ligado a wiki para o artigo local (se o artigo existe).
Função getLabel
[editar código]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 Wikipédia, se o rótulo existe.
{{#invoke:WikidataIB |getLabel |Q29016906}}→ Corisca e Sátiro{{#invoke:WikidataIB |getLabel |Q3621491}}→ arqueólogo
Função getAT
[editar código]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 Wikipedia, se o interwiki existe na entrada Wikidata.
{{#invoke:WikidataIB |getAT |Q29016906}}→{{#invoke:WikidataIB |getAT |Q3621491}}→
Função formatDate*
[editar código]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 de agosto de 30{{#invoke:WikidataIB |formatDate | 1 de agosto de 20 | bc=BCE |df=mdy}}→ 1 de agosto de 30- df = "dmy" / "mdy" / "y" - default é "dmy"
- bc = "BC" / "BCE" - default é "BCE"
* Não está funcionando normalmente
Adendo sobre o idioma de retorno
[editar código]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.
Testes
[editar código]Há uma bateria de testes em Módulo:WikidataIB/Exemplos para testes.
Relação com outras interfaces
[editar código]A {{Wdib}} chama diretamente getValue deste módulo. Já a {{Wikidata}} usa o Módulo:Wd, enquanto a {{Valor Wikidata}} usa o Módulo:Interface Wikidata e o Módulo:Infobox/Wikidata. O Módulo:Wikidata constitui ainda outra implementação independente.