Verificação DSPL

A Verificação DSPL é um utilitário que valida um conjunto de dados DSPL em relação a vários critérios, incluindo a adesão ao esquema oficial DSPL, a consistência de referências internas e a estrutura de arquivos CSV. O utilitário pode detectar muitos problemas que causam erros de importação DSPL, ajudando você a detectar e corrigir esses problemas rapidamente antes de iniciar o processo de entrada.

Observe que o utilitário ainda (não) verifica o conjunto de dados DSPL para todos os problemas possíveis. No entanto, os problemas mais comuns são detectados. Por isso, se o conjunto de dados tiver sido validado pela ferramenta, haverá uma alta probabilidade de que ele possa ser importado e visualizado no Explorador de dados públicos. Consulte a seção Detalhes da verificação abaixo para mais informações.

Executando a verificação DSPL

Noções básicas

Observação: essas instruções presumem que você já tenha seguido as instruções de instalação fornecidas na página Ferramentas da DSPL.

Para executar a verificação DSPL, acesse o terminal / prompt no seu sistema e digite:

python dsplcheck.py [path to dataset XML or zip file]

em que o termo entre colchetes é substituído pelo caminho relativo para um arquivo XML do conjunto de dados ou um pacote DSPL compactado.

Se o conjunto de dados for válido, a ferramenta imprimirá a mensagem "validação bem-sucedida". Caso contrário, ele emitirá uma ou mais mensagens de erro descrevendo por que a validação falhou. Se o último ocorrer, corrija o conjunto de dados conforme indicado e execute a ferramenta novamente.

Nível de verificação

Por padrão, a verificação DSPL examina todo o conjunto de dados, incluindo os CSVs referenciados no arquivo XML DSPL principal. Esse processo funciona bem em conjuntos de dados pequenos e médios, mas pode sobrecarregar ou ficar sem memória em conjuntos de dados muito grandes (ou seja, entre centenas de megabytes ou maiores).

Para resolver esses casos, a ferramenta tem uma opção de nível de verificação que permite definir o escopo da verificação e melhorar o desempenho, conforme necessário. Para usar, insira --checking_level=[...] antes do caminho do conjunto de dados, em que o termo entre colchetes é substituído por um dos seguintes valores:

  • schema_only: valide o arquivo XML do conjunto de dados em relação ao esquema DSPL oficial e, em seguida, pare.
  • schema_and_model: faz a validação básica e do esquema, mas ignora o conteúdo CSV após a linha de cabeçalho.
  • full: faz a validação do esquema, do modelo e dos dados (padrão).

Verificando detalhes

A verificação DSPL executa a seguinte sequência de validações:

  • Validação de esquema XML:verifica se o arquivo de metadados do conjunto de dados é um XML válido e está em conformidade com o esquema DSPL oficial.
  • existência de CSV: verifica se todos os arquivos CSV referenciados do seu conjunto de dados existem e podem ser carregados.
  • Verificações de conceito: várias verificações de cada conceito no conjunto de dados, incluindo:
    • O conjunto de dados tem pelo menos um conceito*
    • Todas as referências de tópico são válidas
    • A referência da tabela existe se o conceito for usado como uma dimensão não temporal*
    • A referência da tabela será válida se estiver presente
    • A tabela referenciada tem uma coluna correspondente ao ID do conceito
  • Verificações de Slices: várias verificações de cada fatia do conjunto de dados, incluindo:
    • O conjunto de dados tem pelo menos uma fatia*
    • Pelo menos uma fração faz referência a uma dimensão que não é de tempo*
    • O Slice tem pelo menos uma métrica e uma dimensão
    • Exatamente uma dimensão faz referência a time conceito canônico*
    • Cada fatia tem uma combinação exclusiva de dimensões
    • Todas as referências a conceitos locais são válidas
    • Há uma referência de tabela
    • A referência da tabela é válida.
    • A tabela referenciada tem uma coluna para cada dimensão e métrica na fração
    • Os tipos de coluna na tabela referenciada correspondem aos tipos de conceitos usados na fração
  • Verificações de tabela: várias verificações de cada tabela no conjunto de dados, incluindo:
    • O conjunto de dados tem pelo menos uma tabela*
    • O arquivo CSV tem o mesmo número de colunas da tabela
    • As strings de cabeçalho CSV correspondem aos IDs das colunas
    • Todas as colunas de data têm o atributo format.
    • Os formatos de data se alinham (cercamente) com os conceitos de hora associados. Por exemplo, o formato para uma coluna time:year inclui pelo menos um caractere y*
  • Verificações de dados CSV:várias verificações dos arquivos de dados CSV referenciadas pelo arquivo XML do conjunto de dados, incluindo:
    • Cada linha CSV tem o mesmo número de colunas do cabeçalho
    • O CSV de definição de conceito não tem mais de uma linha para cada ID de conceito
    • O Slice CSV não tem mais de uma linha para cada combinação de dimensões.
    • Os valores de dimensão referenciados no CSV da fatia são válidos
    • O Slice CSV é classificado corretamente
    • Os valores CSV de números inteiros e flutuantes estão formatados corretamente.

Os critérios marcados com um * são necessários para visualização no Buscador de dados públicos, mas tecnicamente não são exigidos pelo formato DSPL.

Por outro lado, a ferramenta ainda não analisa:

  • Importações de conjuntos de dados
  • Referências de atributos e propriedades
  • Extensões de conceito