transparencia-mg / work-stefanini

Repositório para registrar Backlog do trabalho desenvolvido no Portal de Dados Abertos de Minas Gerais pela empresa Stefanini
https://transparencia-mg.github.io/work-stefanini/
MIT License
5 stars 1 forks source link

#134 - Validação do conjunto de dados: Aprovação Ambiente Homologação #140

Closed Andrelamor closed 1 year ago

Andrelamor commented 1 year ago

testes em ambiente de homologação da CGE em 08/03/2023:

Inconsistência de validação:

o erro de validação demonstrado em http://projetockan.cge.mg.gov.br/datapackage-creator/show-validation/teste-sprint-6 não corresponde aos valores das colunas dos arquivos carregados nesse conjunto; a relação primaryKey e foreignKey está corretamente demonstrada na imagem gerada em http://projetockan.cge.mg.gov.br/datapackage-creator/show-diagram/teste-sprint-6, mas não deveria haver erro de validação, os valores primaryKey e foreignKey são exatamente os mesmos (1,2,3) dos arquivos users e orders

Arquivo novo não carregado corretamente:

No conjunto de teste teste-sprint-04-08032023, o arquivo users foi modificado nos valores da coluna id e carregado novamente, mas o sistema permaneceu com o arquivo anteriormente carregado. O relatório de validação deveria ter sido verde, válido, pois os valores primaryKey e foreignKey são exatamente os mesmos (1,2,3)

Andrelamor commented 1 year ago

@gileno boa tarde, fizemos novo teste com a versão 0.0.52, publicada na última sexta, dia 10/03, acerca das questões mencionadas no comentário acima, mas detectamos os mesmos problemas: o principal, o arquivo de dados carregado na instância continua sendo o primeiro, mesmo o usuário tendo feito upload de novo arquivo; o outro problema diz respeito À validação da relação primaryKey com foreignKey, vide comentário acima

gileno commented 1 year ago

@Andrelamor o campo "produto" do recurso "orders" está indicando que é um "number" ao invés de "string", mas o erro realmente de chave estrangeira era porque tinha um espaço em branco como se a coluna tivesse não fosse "id" e sim " id ". Ao ajustar isso e colocar o campo produto como string a validação passou

gabrielbdornas commented 1 year ago

@gileno boa tarde, fizemos novo teste com a versão 0.0.52, publicada na última sexta, dia 10/03, acerca das questões mencionadas no comentário acima, mas detectamos os mesmos problemas: o principal, o arquivo de dados carregado na instância continua sendo o primeiro, mesmo o usuário tendo feito upload de novo arquivo; o outro problema diz respeito À validação da relação primaryKey com foreignKey, vide comentário acima

@gileno, conforme havíamos comentado acima, a edição dos dados do recurso não está funcionando, prejudicando assim o processo de validação. Encaminho vídeo demonstrando o problema.

Versão testada 0.0.55, publicada hoje, 14/03/2023.

gileno commented 1 year ago

agora entendi o questionamento @gabrielbdornas , vou ajustar e encaminho vídeo com solução

gileno commented 1 year ago

@gabrielbdornas nova versão gerada com a correção

Andrelamor commented 1 year ago

@gabrielbdornas nova versão gerada com a correção

oi, @gileno , bom dia, não consegui achá-la (0.0.56) no pypi para atualizar nosso ambiente, somente a anterior (0.0.55): image

gileno commented 1 year ago

@Andrelamor @gabrielbdornas estava apenas no github, tinha dado erro ao subir, acabei de atualizar

Andrelamor commented 1 year ago

@gileno, quando trocamos o tipo de uma coluna, está acontecendo o seguinte (vide conjunto http://projetockan.cge.mg.gov.br/dataset/teste-15-marco):

datapackage.json não altera tipo da coluna

interface ficou ok = image http://projetockan.cge.mg.gov.br/dataset/teste-15-marco/resource/074e075a-eb1c-4721-b196-6190347f8aef

package_show não acompanhou a modificação do tipo da 3ª coluna = image http://projetockan.cge.mg.gov.br/datapackage-creator/show-datapackage-json/ba73d404-6733-456a-870b-9ac0454ab923

Andrelamor commented 1 year ago

o víncluo foreign-key e primary key continua não sendo compreendida no relatório de validação:

os valores da coluna user_id da tabela orders.csv são exatamente os mesmos da coluna id na tabela users.csv, mas o relatório de validação não reflete: http://projetockan.cge.mg.gov.br/datapackage-creator/show-validation/teste-15-marco image

inclusive a imagem do diagrama foi gerada corretamente, apontando esse víncluo entre os valores das colunas mencionadas dessas tabelas: image http://projetockan.cge.mg.gov.br/datapackage-creator/show-diagram/teste-15-marco

gileno commented 1 year ago

@Andrelamor sobre a Foreign Key, o problema é um espaço em branco, os nomes tabela e o campo referente está com espaço em branco. Fiz o ajuste e ao validar deu tudo ok vide imagens abaixo

Captura de tela de 2023-03-15 16-05-06

Captura de tela de 2023-03-15 16-04-57

Andrelamor commented 1 year ago

datapackage.json não substitui metadados de arquivo substituído

image

http://projetockan.cge.mg.gov.br/dataset/teste-novo-arquivo-15-marco/resource/84707c2c-ff91-4d7e-90e8-b03b5394c73f image

http://projetockan.cge.mg.gov.br/datapackage-creator/show-datapackage-json/24ccad00-bd6f-4c0c-a9af-25c2c215c802

gileno commented 1 year ago

@gileno, quando trocamos o tipo de uma coluna, está acontecendo o seguinte (vide conjunto http://projetockan.cge.mg.gov.br/dataset/teste-15-marco):

datapackage.json não altera tipo da coluna

interface ficou ok = image http://projetockan.cge.mg.gov.br/dataset/teste-15-marco/resource/074e075a-eb1c-4721-b196-6190347f8aef

package_show não acompanhou a modificação do tipo da 3ª coluna = image http://projetockan.cge.mg.gov.br/datapackage-creator/show-datapackage-json/ba73d404-6733-456a-870b-9ac0454ab923

@gabrielbdornas @Andrelamor

Sobre o problema do datapackage json tem ligação com o package_show, eu tinha removido ele justamente porque fica um ciclo (datapackage json precisa do package_show que por sua vez também mostra os metadados exibidos no datapackage json)

Precisa confirmar se realmente é necessário que os metadados que estão no datapackage json estejam no package_show, o datapackage json é o merge / mapper dos dados do package com os metadados adicionais

Andrelamor commented 1 year ago

o datapackage.json está replicando o mesmo schema 3 ou 4 vezes:

http://projetockan.cge.mg.gov.br/datapackage-creator/show-datapackage-json/24ccad00-bd6f-4c0c-a9af-25c2c215c802 image

(vide o número de vezes que cada table.scema aparece no mesmo arquivo)

gileno commented 1 year ago

@Andrelamor @gabrielbdornas sim era esse o problema que fez eu remover do package_show os metadados. O package_show pede o datapackage json mas o datapackage json também precisa do package_show gera um ciclo que acaba gerando confusão nos dados.

Existe também uma cache dos dados, então sempre que vai se solicitando o package_show vai se duplicando o tableschema

gileno commented 1 year ago

@Andrelamor @gabrielbdornas vou verificar se existem issues no ckan sobre solução para esse problema cíclico e ignorar espaços para a chave estrangeira

gabrielbdornas commented 1 year ago

@gileno, entendemos os pontos. Pergunto então com base nesta sua fala:

Precisa confirmar se realmente é necessário que os metadados que estão no datapackage json estejam no package_show, o datapackage json é o merge / mapper dos dados do package com os metadados adicionais

Seria possível deixar o package_show sem nenhuma modificação (trazendo apenas os metadados do ckan) e o datapackage.json com o merge / mapper dos dados? Neste sentido o datapackage.json traria todos os metadados do ckan mais os metadados frictionless inferidos ou preenchidos em nosso formulários?

gileno commented 1 year ago

@gabrielbdornas a frictionless-ckan-mapper pede os dados do conjunto como vem do package_show, vou verificar a possibilidade de fazer "manualmente" sem usar ela quando for no package_show e usa-lá do datapackage.json

gileno commented 1 year ago

@gabrielbdornas @Andrelamor , eu subi uma nova versão 0.0.57. Para cada recurso é criado o atributo "tableschema" com o "schema" dos campos e o datapackage json não foi alterado, vejam se atende ao propósito

Andrelamor commented 1 year ago

@gabrielbdornas @Andrelamor , eu subi uma nova versão 0.0.57. Para cada recurso é criado o atributo "tableschema" com o "schema" dos campos e o datapackage json não foi alterado, vejam se atende ao propósito

oi, @gileno, obrigado; subimos a versão nova, ainda vamos testar @gabrielbdornas como ficou o table schema; mas os links de entidade sumiram, teve algum impacto nessa funcionalidade? http://projetockan.cge.mg.gov.br/datapackage-creator/show-diagram/teste-novo-arquivo-15-marco image

gileno commented 1 year ago

@Andrelamor a página da entidade estava pegando o id do tableschema que não fazia sentido, já ajustei e atualizei, se puderem atualizar antes de testar é a versão 0.0.58.

Era o único lugar que referenciava isso

gileno commented 1 year ago

@Andrelamor @gabrielbdornas ajustei a questão da foreign key para caso haja espaços em brancos

Andrelamor commented 1 year ago

testes em ambiente de homologação da CGE em 23/03/2023:

Critério 001 – Validar Metadados Conjunto