Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conferir consistência da Wikidata com código IBGE #23

Open
ppKrauss opened this issue Jul 15, 2018 · 4 comments
Open

Conferir consistência da Wikidata com código IBGE #23

ppKrauss opened this issue Jul 15, 2018 · 4 comments
Labels
enhancement standardization enhancement by convention adoption

Comments

@ppKrauss
Copy link
Contributor

ppKrauss commented Jul 15, 2018

O código IBGE tem se mostrado consistente com as fontes primárias utilizadas, de modo que serve também para conferir se houve falha de atribuição do mesmo na Wikidata.

Com relação à completeza na adoção da P1585 foi confirmada: cd data/dump_wikidata grep -r "P1585" . | wc -l resultando em 5514, que em 5570 são ~99%, praticamente completo.

@ppKrauss
Copy link
Contributor Author

ppKrauss commented Jul 15, 2018

Implementado com php src/etc/dumpWikidata.php chk. Resultados:

  • uma falha detectada, (não achou ID IBGE 3554300 em Q2027342 - Teodoro Sampaio/SP)
  • 56 municípios sem ID IBGE (P1585) na Wikidata.
UPDATE io.citybr set "wdId"='Q22062859' WHERE "idIBGE"='2931400'; -- BA
UPDATE io.citybr set "wdId"='Q13109202' WHERE "idIBGE"='3554300'; -- SP

--- check and send pair to Wikidata
SELECT "wdId" as qid, "idIBGE" || concat(' /* ',name,'/',state,' */') as "P1585"
FROM io.citybr WHERE "idIBGE" IN (
 '2900702', '1700400', '5200605', '1500859', '5000708', '3502408', '5201306', '4201208', 
 '5000906', '5201504', '5201702', '5001243', '5103379', '1600212', '3121001', '3301702', 
 '2204303', '3137007', '1504109', '3531001', '2407708', '2107100', '4116406', '3149952', 
 '2109270', '2926707', '3156908', '3157005', '3159803', '3158300', '3162302', '3162708', 
 '3163300', '2412500', '2412807', '3166709', '1304062', '3552700', '3552908', '3168101', 
 '3168200', '3553500', '3553658', '3553906', '2931400', '3169000', '3169109', '3169208', 
 '3554755', '5008305', '3554953', '3555208', '2517001', '3171105', '2616308', '2933307'
);
-- ou COPY (...) to '/tmp/quickStatements01.csv' HEADER CSV;

A segunda consulta resulta em

qid P1585
Q818261 2900702 /* Alagoinhas/BA */
Q566 1700400 /* Almas/TO */
Q443583 5200605 /* Alto Paraíso de Goiás/GO */
Q486142 1500859 /* Anapu/PA */
... ...
Q29551446 2616308 /* Vicência/PE */
Q330208 2933307 /* Vitória da Conquista/BA */
Q22062859 2931400 /* Teodoro Sampaio/BA */

(56 registros)

Basta usar o arquivo gerado com quickStatements01.csv da Wikidata: QuickStatements (help).


Corrigindo erros da Wikidata com base na Wikipedia:

qid P1585 nome qid_correto
Q818261 2900702 Alagoinhas/BA Q22050101
Q975677 4201208 Antônio Carlos/SC Q22063985
Q608983 5201504 Aporé/GO Q22067258
Q624997 5201702 Aragarças/GO Q22067256

Foram 4 erros de wdId. Ver discussão em Wikidata:Bot_requests#Import_area_codes_P473_from_CSV_file.

O procedimento correto é corrigi-los primeiro:

  1. UPDATEs: por exemplo UPDATE io.citybr SET "wdId"='Q22050101' WHERE "idIBGE"='2900702'.
  2. Atualizar a tabela local, usando exportação dos updates, psql < src/io_console.sql.
  3. Atualizar dump_wikidata com a tabela local corrigida.

@ppKrauss
Copy link
Contributor Author

Issue contemplada com a implementação do relatório php src/etc/dumpWikidata.php chk

@ppKrauss
Copy link
Contributor Author

Problema de atribuição na Wikidata

Ao subir as ~50 correções e conferir páginas Wikidata, fica mais evidente

  1. o problema da atribuição errada (ex. o conceito de Almas/TO não tem nada haver com as almas do purgatório) e, principalmente,
  2. o problema da duplicação de conceitos na Wikidata (!), tipicamente entidades mais antigas sendo mantidos como verdadeiras, apesar da Wikipedia apontar para duplicada mais nova.

A única solução, no segundo problema, é clicar e conferir um a um: conceitos abandonados em geral nem sequer possuem rótulos, ou são pobres em lista de links Wikipedia. Outra solução que ajuda a destacar os problemáticos é criando um atributo no nosso dump que list o número de links Wikipedia e destaque o link para a Wikipedia Português, que é a "fonte fiável" de auditoria do conceito.

@ppKrauss
Copy link
Contributor Author

ppKrauss commented Jul 15, 2018

Acrescentar a verificação de P31 - Q3184121, "instance of municipality of Brazil". Vai garantir que não ocorra caso extremo como o de atribuição na tabela city-codes de Almas/TO a almas do purgatório ao invés da cidade (ou ainda Cotriguaçu Cooperativa Central/Q30926864 no lugar de Cotriguaçu/MT).

Solução por grep: apesar do código IBGE ser "único" numa página Wikidata, será uma garantia a mais conferir "Q3184121".


Software: hora de transferir o JSON Wikidata para o PostgreSQL!
As rotinas de verificação não podem ficar como mero grep, precisam analisar consistência de forma mais completa e confiável.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement standardization enhancement by convention adoption
Projects
None yet
Development

No branches or pull requests

1 participant