GERÊNCIA DE ARQUITETURA DE SISTEMAS DE INFORMAÇÃO - GAS
UNIDADE DE INFORMAÇÕES DE GOVERNO - UIG
PROJETO DE DADOS ABERTOS PE
Padrão de Dados Abertos
Versão: 2.0
Recife, março de 2012
Agência Estadual de Tecnologia da Informação
GERÊNCIA DE ARQUITETURA DE SISTEMAS DE INFORMAÇÃO - GAS
UNIDADE DE INFORMAÇÕES DE GOVERNO - UIG
Histórico das Revisões
Data
Versão
Descrição
Autor
01/11/2011
30/11/2011
1.0
1.1
Fred Carvalho
Verlaynne Rocha
01/11/2011
04/01/2012
1.2
1.3
14/01/2012
1.4
20/01/2012
01/02/2012
1.7
2.0
Criação do documento.
Alteração do documento após reunião
com unidade de desenvolvimento
Alteração do documento
Revisão e adequação aos padrões de
documentos da GAS
Alteração
do
documento
para
adequação ao padrão de metadados
do e-ping
Inclusão de Exemplos
Revisão Final
Agência Estadual de Tecnologia da Informação
Fred Carvalho
Verlaynne Rocha
Fred Carvalho
Fred Carvalho
Verlaynne Rocha
Padrão de Dados Abertos 2.0
1.
APRESENTAÇÃO
O Governo de Pernambuco seguindo a Política Brasileira de Dados Abertos lançará em
breve seu Portal de Dados Abertos. Através dele serão disponibilizadas dados públicos, em
caráter aberto e gratuito pela Internet. Tal iniciativa busca incentivar a criação de novos serviços
eletrônicos, promover a transparência e consequentemente melhorar de qualidade das
informações de interesse da sociedade.
O portal implementa a Infraestrutura Nacional de Dados Abertos (INDA). A INDA foi
criada com o objetivo de ser o ponto referencial para a pesquisa, o acesso, o compartilhamento,
a disseminação e o uso de dados e informações de governo seguindo os preceitos de Dados
Abertos. Ela contém um conjunto de padrões, tecnologias, procedimentos e mecanismos de
controle para atender às condições de troca de dados entre os diferentes poderes e esferas de
governo com a sociedade em geral. Os dados são abertos quando podem ser utilizados
livremente, reutilizados na construção de aplicativos de forma automática e redistribuídos por
qualquer cidadão. A disponibilização desses está prevista na Lei Federal de Acesso à
Informação (Lei nº 12.527, de novembro de 2011).
O Portal de Dados Abertos de Pernambuco está sendo construído baseando-se no
resultado de uma pesquisa comparativa das funcionalidades, dos padrões de acessibilidade,
usabilidade e formato dos arquivos dos mais diversos Portais de Dados Abertos:
- Portal de Dados abertos do Chile (http://datos.gob.cl/)
- Portal de Dados abertos dos Estados Unidos (http://www.data.gov/)
- Portal de Dados abertos do Reino Unido (http://data.gov.uk/)
Portal
de
Dados
abertos
de
São
Paulo
(http://www.governoaberto.sp.gov.br/view/index.php)
- Portal de Dados abertos da Espanha (http://w20.bcn.cat/opendata/)
- Portal de Dados abertos do Canadá (http://www.data.gc.ca)
Além de um estudo paralelo em documentos como "manual de dados abertos:
desenvolvedores" e "Dados Abertos para a Democracia na Era Digital - CONSEGI 2011".
Também com base nesse estudo foi criado este Padrão de Dados Abertos que busca
padronizar a forma que os dados serão disponibilizados no Portal. Inicialmente foram definidos
dois formatos para publicação: (.CSV) e (.XML), dessa forma, o Portal estará com três estrelas
, segundo ranking, que vai até 5 estrelas, proposto por Tim Bernes-Lee em 2010
(www.w3.org/DesignIssues/LinkedData.html).
Esse padrão servirá como referencial para que os diversos órgãos publiquem seus
dados no Portal de Dados Abertos de Pernambuco
Padrão de Dados Abertos 2.0
2.
PADRONIZAÇÃO NO FORMATO DOS CAMPOS
Tipo
Formato
Texto:
- Grande
- Pequeno
“[A-Za-z0-9-! #$
%&'()*+,./:<=>
?\_{|}~ ]* ”
“alguma texto aqui”
[-]d*[,d*]
23;
24,56;
-21,26475;
d = dígito
Números positivos e negativos, com ou sem
casas decimais. As casas decimais deverão ser
separadas por “,” (vírgula).
Monetário:
- Grande
- Pequeno
Numérico
23,56;
-5,67
Números positivos ou negativos, com ou sem
casas decimais. Deve ser informado no
metadados se o valor está em dólar, real, euro,
etc.
Booleano
[true|false]
True;
False
Identifica se um determinado valor é verdadeiro
(true) ou falso (false).
Graus Decimais:
“1 1 0”;
“-49.762048 -73.23508 0”
Graus Sexagesimais:
“29 25 34.14, 98 29
46.16, 0”
Coordenadas geográficas representadas no
DATUM WGS84 ou SIRGAS2000. Cada ponto
específico será composto por três coordenadas
(x y z), que serão separadas apenas por um
espaço em branco. Os pontos serão separados
por vírgulas e deverão vir todos entre aspas
duplas. Sinal “-” representa o sul e sinal “+”
representa o norte. Informações mais detalhadas
deverão ser descritas no arquivo de metadados.
Numérico:
- Inteiro Grande
- Inteiro Pequeno
- Decimal Grande
- Decimal Pequeno
Geométrico
- Graus decimais
- Sexagesimal
Exemplos
Data
“aaaa-MM-dd”
2011-04-24;
1994-11-15
Hora
“hh:mm:ss”
08:35:47;
16:13:20
“aaaa-MM-dd
hh:mm:ss”
“2011-04-24 08:35:47”;
“1998-04-10 16:13:20”
Data e Hora
Descrição
Conteúdo textual.
dd = dia com dois dígitos
MM = mês com dois dígitos
aaaa = ano com quatro dígitos
Formatação para data.
hh = A hora com dois dígitos
mm = Os minutos com dois dígitos
ss = Os segundos com dois dígitos
Formato para hora.
Os formatos seguem o mesmo padrão dos dois
imediatamente anteriores.
Formato para data e hora.
Tabela 1 – Tipos de Dados
Como exemplo, segue abaixo algumas situações:
1. Um campo que identifica a temperatura de um ambiente:
•
•
•
Nome do Campo: temperatura
Tipo: Numérico Inteiro Pequeno
Tamanho: 3 (Número com 3 dígitos, no máximo)
2. Um campo que identifica o endereço IP de um servidor:
•
•
•
Nome do Campo: enderecoIP
Tipo: Texto Pequeno
Tamanho: 30 (Texto com 30 caracteres, no máximo)
Padrão de Dados Abertos 2.0
Abaixo, segue uma tabela apresentando o tipo de dado no arquivo de metadados, uma
definição da característica daquele tipo, para que se possa associar ao tipo correto no SGBD e um
exemplo de tamanho a ser colocado também no arquivo de metadados, caso necessário :
Tipo do dado no
Arquivo de
Metadados
Característica
Tamanho
(Exemplo)
Numérico
Inteiro Grande
Para valores superiores a dois bilhões. (> 2.000.000.000). Tamanho
refere-se a quantidade máxima de dígitos para o número.
10
Numérico
Inteiro Pequeno
Para valores inferiores ou iguais a dois bilhões. (<= 2.000.000.000).
Tamanho refere-se a quantidade máxima de dígitos para o número.
3
Numérico
Decimal Grande
Para valores numéricos maiores que os valores do tipo Numérico
Decimal Pequeno. O Tamanho refere-se a quantidade máxima de
dígitos para o número. Representado da seguinte maneira: Quantidade
de dígitos da parte inteira do número, vírgula (“,”), quantidade de dígitos
da parte decimal do número.
-
Numérico
Decimal Pequeno
Para valores numéricos variando de -1E + 300 a +1E + 300. O Tamanho
refere-se a quantidade máxima de dígitos para o número. Representado
da seguinte maneira: Quantidade de dígitos da parte inteira do número,
vírgula (“,”), quantidade de dígitos da parte decimal do número.
3,2
Texto Grande
Para valores do tipo texto com quantidade superior a quatro mil
caracteres. O tamanho refere-se a número máximo de caracteres do
texto.
7500
Texto Pequeno
Para valores do tipo texto com quantidade inferior ou igual a quatro mil
caracteres. tamanho refere-se a número máximo de caracteres do
texto.
400
Booleano
Para valores que indicam verdadeiro ou falso: true/false.
-
Data
Para valores que indicam a data conforme formato especificado: “aaaamm-dd”.
-
Hora
Para valores que indicam a hora conforme formato especificado:
“hh:mm:ss”.
-
Data e Hora
Para valores que indicam data e hora conforme formato
especificado: “aaaa-mm-dd hh:MM:ss”.
-
Monetario Grande
Para valores monetários maiores que os valores do tipo Monetario
Pequeno. O Tamanho refere-se a quantidade máxima de dígitos para o
número. Representado da seguinte maneira: Quantidade de dígitos da
parte inteira do número, vírgula (“,”), quantidade de dígitos da parte
decimal do número.
9,2
Monetario Pequeno
Para valores monetarios variando de -214.748,3647 a
+214.748,3647. O Tamanho refere-se a quantidade máxima de dígitos
para o número. Representado da seguinte maneira: Quantidade de
dígitos da parte inteira do número, vírgula (“,”), quantidade de dígitos da
parte decimal do número.
6,3
Numérico Geográfico
Decimal
Para valores que representam dados geográficos do tipo (x, y, z)
representados em números decimais.
-
Numérico Geográfico
Sexagesimal
Para valores que representam dados geográficos do tipo (x, y, z)
representados em graus, minutos e segundos.
-
Tabela 2 – Associação entre nomes dos tipos no padrão e tipos de dados
Padrão de Dados Abertos 2.0
3.
Padronização para os nomes dos Arquivos
O arquivo será criado com base em informações contidas em visões de base de dados,
arquivos pré-existentes no formato .CSV que digam respeito a um determinado assunto ou até
mesmo através da comunicação via Web Service.
Para fins de padronização, sugere-se que o nome de arquivo comece com letra maiúscula e
seja completamente formado por letras e números apenas. Portanto, sugere-se não acrescentar ao
nome de um arquivo qualquer caracter especial (@, #, $, %, &, *, ., etc), pois não será permitido,
podendo conter apenas números e letras, desde que, os números não iniciem o nome do arquivo.
Caso o nome do arquivo seja composto por mais de uma palavra, a recomendação é que a
primeira letra de cada palavra deve ser em maiúscula.
3.1. Nome do Arquivo de Dados - Regra Geral
<NomeDoArquivo>_dados_<dataDoArquivo>.xml
ou
<NomeDoArquivo>_dados_<dataDoArquivo>.csv
Exemplos:
Assunto
Nomo do Arquivo
Fornecedores
Fornecedores_dados_2012-02-02.xml
Fornecedores_dados_2012-02-02.csv
Uso do solo
UsoDoSolo_dados_2012-02-02.xml
UsoDoSolo_dados_2012-02-02.csv
Região desmatada
RegiaoDesmatada_dados_2012-02-02.xml
RegiaoDesmatada_dados_2012-02-02.csv
Localização das paradas de ônibus
LocalizacaoParadasOnibus_dados_2012-02-02.xml
LocalizacaoParadasOnibus_dados_2012-02-02.csv
3.2. Nome do Arquivo de Metadados - Regra Geral
<NomeDoArquivo>_metadados_<dataDoArquivo>.xml
ou
<NomeDoArquivo>_metadados_<dataDoArquivo>.csv
Exemplos:
Assunto
Nomo do Arquivo
Fornecedores
Fornecedores_metadados_2012-02-02.xml
Fornecedores_metadados_2012-02-02.csv
Uso do solo
UsoDoSolo_metadados_2012-02-02.xml
UsoDoSolo_metadados_2012-02-02.csv
Região desmatada
RegiaoDesmatada_metadados_2012-02-02.xml
RegiaoDesmatada_metadados_2012-02-02.csv
Localização das paradas de ônibus
LocalizacaoParadasOnibus_metadados_2012-02-02.xml
LocalizacaoParadasOnibus_metadados_2012-02-02.csv
Padrão de Dados Abertos 2.0
4.
Arquivos no formato XML – Conteúdo
4.1.
Estrutura de Campos
Com o intuito de padronizar a estrutura dos campos do arquivo XML de dados
estabeleceu-se as seguintes regras.
No arquivo XML conforme a Figura 1, definido como um formato padrão para a
disponibilização de dados abertos do governo de Pernambuco no formato aberto padrão XML,
os atributos dentro da tag <cabecalho> como descrição, criador, sigla, assunto, título, fonte, data
e periodicidade de atualização são atributos que descrevem o arquivo a ser disponibilizado:
1.
a)
2.
a)
b)
3.
a)
b)
4.
a)
5.
a)
6.
descrição:
descricao.resumo: Uma exposição sucinta do conteúdo do recurso.
criador:
criador.autor: Entidade (pessoa ou organização) responsável pelo conteúdo
intelectual do recurso.
criador.produtor: Nome da entidade (pessoa ou organização) responsável pela
produção e manutenção dos documentos arquivísticos.
sigla:
sigla.autor: A sigla da entidade (pessoa ou organização) criadora e autora do recurso.
sigla.produtor: A sigla da entidade (pessoa ou organização) criadora e produtora do
recurso.
assunto:
assunto.categoria: Permite identificar o assunto principal do recurso apontado.
titulo:
titulo.principal:Palavra, frase ou grupo de caracteres que nomeia um recurso e que
pode corresponder à sua denominação oficial ou legal, ou ainda ao nome que
aparece de forma evidente ou explícita.
a)
fonte:
fonte.origem: Identificação do recurso que deu origem ao recurso atual
a)
b)
data:
data.criacao: Data da criação ou produção do recurso.
data.publicacao: Data da publicação do recurso.
7.
8.
a)
b)
c)
peridocidade_atualizacao:
periodicidade_atualizacao.hora_atualizacao: A hora de geração de um novo
documento ou vazio caso não haja atualização.
periodicidade_atualizacao.frequencia: A frequência de atualização do documento. Ex:
1; 15. Um número inteiro e positivo ou zero, caso não haja atualização.
periodicidade_atualizacao.unidade: A repetição da atualização: hora, dia, semana,
mês, ano. Caso não haja atualização: nenhuma.
Já os outros atributos, definidos dentro da tag <corpo>, são a definição de todos os atributos e
conteúdo do arquivo que está sendo disponibilizado.
Padrão de Dados Abertos 2.0
Exemplo:
Figura 1 – Representação do arquivo de dados no formato XML conforme padrão definido
Padrão de Dados Abertos 2.0
5.
ARQUIVOS NO FORMATO XML – METADADOS
5.1.
Estrutura de Campos
Com o intuito de padronizar a estrutura dos campos no arquivo XML de metadados
estabeleceu-se algumas regras.
O arquivo de metadados, conforme a Figura 2, é estruturado da seguinte maneira:
1.
Tag arquivo – campo referencia: Faz referência ao arquivo de dados.
2.
Tag cabeçalho: Composta por outras tags que descrevem o arquivo.
3.
Tag corpo: Composta pela identificação e descrição detalhada de cada atributo
existente no arquivo de dados do arquivo de dados XML.
O arquivo XML de metadados, conforme a Figura 2, definido como o formato padrão XML para
a disponibilização de metadados no Portal de dados Abertos do governo de Pernambuco, é composto
da seguinte maneira: os atributos dentro da tag <cabecalho> como descrição, criador, sigla, assunto,
título, fonte, data e periodicidade de atualização; os atributos dentro da tag <corpo> que definem
cada atributo do arquivo de dados gerado como nome do atributo, descrição, tipo e tamanho.
−
Tag <Cabeçalho>: Para todos os atributos dentro da tag, o conteúdo delas é uma
explicação do significado daquele atributo no arquivo de dados correspondente.
−
Tag <Corpo>: Esta tag especifica o “formato” cada atributo do arquivo de dados
relacionado.
−
nome: O nome do atributo. Idêntico ao do arquivo de dados.
−
descrição: Uma explicação sobre o atributo.
−
tipo: O tipo (Texto Pequeno, Numérico Inteiro Pequeno, booleano, etc) do
atributo.
−
tamanho: O tamanho máximo do atributo, quando for preciso informar.
Padrão de Dados Abertos 2.0
Figura 2 – Representação do arquivo de metadados no formato XML conforme padrão definido
Padrão de Dados Abertos 2.0
6.
ARQUIVOS NO FORMATO CSV – CONTEÚDO
6.1.
Estrutura de Campos
Com o intuito de padronizar a estrutura dos campos no arquivo CSV de dados estabeleceu-se
algumas regras.
A Figura 3 representa a padronização dos arquivos de dados no formato CSV, cujos campos
deverão ser alinhados sequencialmente na primeira linha do arquivo, um após o outro, separado
apenas por ponto e vírgula.
A partir da segunda linha, o conteúdo correspondente a cada campo da tabela deverá ser
disposto em sua respectiva posição conforme a sequência dos campos e seguindo a mesma
formatação, separados por ponto e vírgula.
Exemplo:
Figura 3 – Representação do arquivo de dados no formato CSV conforme padrão definido
7.
ARQUIVOS NO FORMATO CSV – METADADOS
7.1.
Estrutura de Campos
Com o intuito de padronizar a estrutura dos campos no arquivo CSV de dados estabeleceu-se
algumas regras.
Conforme Figura 4, haverá as tags arquivo, cabeçalho e corpo.
A tag arquivo contém uma referência para o arquivo de dados a uma descrição do significado
deste campo referência.
A tag cabeçalho contém tanto o conteúdo dos atributos do arquivo como a descrição.
Já a tag corpo contém o nome, o tamanho, o tipo e a descrição dos atributos do arquivo de
dados referenciado.
Segundo o padrão definido as tags deverão estar entre colchetes, como é o caso de [Arquivo],
[Cabecalho] e [Corpo]. Já os campos deverão ser dispostos um em cada linha, abaixo da tag
correspondente, da seguinte maneira:
nome do campo.tipo=”descrição do campo ou conteúdo do campo”;
O nome do campo, seguido pelo símbolo “.” (ponto), seguido pelo tipo (descricao, conteudo,
tipo ou tamanho), seguido pelo símbolo “=” (igual), seguido por abre e fecha aspas dupla e finalizando
por ponto e vírgula. Entre as aspas duplas deverá haver um texto que descreva o respectivo campo.
OBS: Para a tag “assunto.categoria.conteudo” do arquivo de metadados CSV, os assuntos poderão
vir separados por vírgulas e entre aspas duplas ou somente um único assunto entre aspas duplas.
Padrão de Dados Abertos 2.0
Para os arquivo de metadados no formato CSV haverá um detalhamento descritivo para cada atributo
do arquivo de dados, conforme abaixo:
1. descricao: A descrição do campo específico. Uma explicação do que é aquele campo no
contexto das informações do arquivo de dados gerados ou do arquivo de metadados.
2. conteudo: O conteúdo para um determinado campo, seja ele da tag “Arquivo” ou da tag
“Cabeçalho”.
3. tipo: O tipo (Texto, Numerico, Booleano, etc) de um determinado atributo da tabela.
4. tamanho: O tamanho para o atributo específico.
Padrão de Dados Abertos 2.0
Figura 4 – Representação do arquivo de metadados no formato CSV conforme padrão definido
Padrão de Dados Abertos 2.0
8.
CONTATOS
Através do e-mail [email protected] para falar com Verlaynne Rocha ou Fred Carvalho.
Telefone: (81) 3181-8121