O documento discute a oficina técnica da Infraestrutura Nacional de Dados Abertos (INDA) no CONSEGI 2012 em Belém. Apresenta conceitos e tecnologias relacionadas a dados abertos como formatos de arquivos, arquiteturas de publicação, o portal dados.gov.br e catalogação de metadados.
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Oficina Técnica da INDA em Belém no Consegi
1. Oficina Técnica
da Infraestrutura Nacional de Dados Abertos –
INDA
CONSEGI 2012 Belém-PA
Nitai Bezerra da Silva
@dadosgovbr - @nitaibezerra
2. A oficina
● Conceitos e tecnologias relacionadas ao
ecossistema de dados abertos
● Para técnicos e gestores de TI envolvidos na
publicação de dados e informações, ou não :D
● Nível intermediário (?)
2 / 53
3. Agenda
● O que é a INDA ● Catalogando dados
● Arquiteturas para publicação ● Outros portais com CKAN
de dados ● Colheita de Metadados
● Formatos de arquivos (Harvesting)
● Caso: API do Siconv ● DataStore
● Web, REST APIs, etc.. ● Linked Data
● Aplicativos e Mashups ● Desenho de URIs
● Arquitetura lógica da INDA ● As 5 estrelas dos Dados
Abertos
● Portal dados.gov.br
● Metadados
3 / 53
4. Infraestrutura Nacional de Dados Abertos - INDA
Coordenamos a abertura dos dados públicos no
Brasil em colaboração com a sociedade
4 / 53
5. Infraestrutura Nacional de Dados
Abertos
Objetivos:
Proporcionar aos cidadãos, e ao governo , um ponto de acesso central aos dados públicos,
disponível na web.
Coordenar e orientar a padronização no ciclo de vida da informação, em especial no
momento de sua publicação na web .
Incentivar a agregação de valor aos dados públicos e a colaboração com o cidadão na
implementação de novos serviços à sociedade.
Ser uma iniciativa sustentável de Dados Abertos.
Para isso:
Conjunto de padrões, tecnologias, procedimentos e mecanismos de controle necessários para
se publicar dados abertos governamentais, visando seu reuso não só pela sociedade mas
pelo próprio governo. http://wiki.gtinda.ibge.gov.br/
5 / 53
6. “Dados são abertos quando qualquer pessoa pode livremente usá-los,
reutilizá-los e redistribuí-los, estando sujeito a, no máximo, a exigência
de creditar a sua autoria e compartilhar pela mesma licença.”
http://dados.gov.br/dados-abertos/
http://opendefinition.org/
Qualquer um significa qualquer um!
(Sem restrição ao uso comercial, etc.)
6 / 53
7. O que são dados abertos?
As Três Leis dos dados Oito princípios dos Dados Governamentais
governamentais abertos Abertos
1. Completos
1. Se ele não pode ser encontrado na
web e indexado, ele não existe. 2. Primários (brutos)
3. Atuais
2. Se não estiver aberto e disponível
em formato compreensível por 4. Acessíveis
máquina, ele não pode ser 5. Processável por Máquina
utilizado.
6. Não discriminatório
3. Se qualquer dispositivo legal
7. Não proprietário
não permitir que ele seja reutilizado,
ele não é útil. 8. Livre de licensa
Open gov
David Eaves
Working group
7 / 53
8. Lei de Acesso à Informação – LAI
12.527/11
Esclarece que é constitucional o direito de
acesso à informação
8 / 53
9. Lei de Acesso à Informação
●
Art. 8o §3o ...
●
I - conter ferramenta de pesquisa de conteúdo que permita o acesso à informação
de forma objetiva, transparente, clara e em linguagem de fácil compreensão;
●
II - possibilitar a gravação de relatórios em diversos formatos
eletrônicos, inclusive abertos e não proprietários , tais como planilhas e
texto, de modo a facilitar a análise das informações;
●
III - possibilitar o acesso automatizado por sistemas externos em formatos
abertos, estruturados e legíveis por máquina ;
Princípios de dados abertos!
9 / 53
10. Quais tipos de dados?
Transporte, Estatísticos, Orçamento, Segurança …
Restrição: Dados pessoais!
Ex.: Paradas de ônibus, locais turísticos, previsão climática, criminalidade
nos bairros, LOA, desempenho das escolas ...
10 / 53
11. Formatos de arquivos
● Requisitos
● Processável por máquina
● Formato não proprietário
CSV DOC MBD Other Geo Spreadsheets WS
XLS ECW MDB PGDB SQL WSDL
XML EXE Metastock PNG TIFF XHTML
PDF Geo RSS Micro Station Design
Portal TMX XLS zip+
HTML Geo TIFF N3 PPT TSV API
JSON GML OAI-PMH RAW Turtle ASCII
KML GPX ODF RDFa TXT+ Zip Autre
XLSX JPG ODS RDF- XML URL CIDR
RDF JS ODT REST WEB CSV+Zip
SHP KMZ Omega RTF Webpage Datastream
RSS Mapinfo Online Database
SOAP WFS DBF
TXT Mathlab openDataXML SPARQL WMS XML-ATOM-RSS
XSD YAML Zip zip+sas
fonte: neeta neeta@nic.in
11 / 53
15. Formatos de arquivos
● Qual o melhor?
● Depende dos seus dados, e da situação!
● Algumas orientações:
● Preferir JSON à XML
● Preferir CSV à ODS
● Escolha um formato estável e de amplo uso
● Se possível, publique em mais de um formato
15 / 53
16. Formatos de arquivos
● Mais orientações:
● Desaconselhamos compactar os arquivos
● Pesquise pelos formatos com mais audiência
● Para dados geográficos, conheça a INDE –
Infraestrutura Nacional de Dados Espaciais
– http://inde.gov.br/
● Sonhe com o RDF!!
● Para mais detalhes:
– Cartilha técnica para publicação de dados abertos
http://dados.gov.br/cartilha-publicacao-dados-abertos/
16 / 53
17. Arquiteturas de Publicação de Dados
● Requisitos
● As 3 leis e os 8 princípios! http://dados.gov.br/dados-abertos/
● Tipos de publicação
● Arquivos isolados resultado de pesquisa ou
levantamento
● Avaliações, balanços, levantamentos recorrentes
(semanal, mensal, trimestral)
● Publicações em “tempo real” (diária,
"instantânea”,....)
17 / 53
18. Publicação manual
● Os dados são coletados, transformados e
publicados num processo manual
● Sistematizar não vale a pena! (?)
● O processo manual é confiável? (!)
● Exemplo:
● Balanço do PAC, quadrimestral
●
http://dados.gov.br/dataset/obras-do-pac-programa-de-aceleracao-do-crescimento
18 / 53
20. Publicação automatizada (2)
● Questões levantadas por Peter
Krantz:
● Você realmente precisa de
uma API?
● Sua infraestrutura está
preparada?
● Torne fácil que
empreendedores tenham os
dados mais novos
● Tenha liberdade da
tecnologia. Não quebre
URLs...
20 / 53
fonte: http://www.peterkrantz.com/2012/publishing-open-data-api-design/
21. Publicação automatizada (3)
● Sistema em produção isolado
● Mais seguro
● Maior disponibilidade
● Esquema de dados
simplificado
● Autenticidade (gov.br)
● custo ~ benefício?
21 / 53
22. Caso: API do SICONV
● SICONV: Sistema que administra os convênios
entre APF, estados, municípios, DF e EPSFL.
● A API está em fase beta
● Requisitos:
● Dados em tempo “real”
● Replicação dos dados da produção
● Web Service REST
● JSON, CSV, XML, ... e HTML
22 / 53
23. Caso: API do SICONV
● Endereço: http://api.convenios.gov.br
● Bonito né?!
● Outras tecnologias:
● Princípios REST
● CORS - Cross-origin resource sharing
● HATEOAS
● Exemplo de consulta:
● http://api.convenios.gov.br/siconv/dados/orgao/54000
23 / 53
28. Web, REST APIs, etc.. (2)
● Internet = infraestrutura, um amontoado de
computadores, redes e cabos
● Web = HTTP (hypertext transfer protocol)
● Documentos
● Hiperlinks
● URLs
● Aprenda os fundamentos e faça melhor uso da
Web
28 / 53
29. Web, REST APIs, etc.. (3)
● REST - Representational State Transfer
● Alguns princípios
● Separação do Cliente e do Servidor
● Sem estado (stateless)
● Cacheável
● Sistemas em camadas
● Recursos – pedaço específico de informação (URI)
● Esqueça SOAP
● Seja RESTful
29 / 53
30. Web, REST APIs, etc.. (4)
● HATEOAS - Hypermedia as the engine of application
state
● O princípio é de que o cliente interage com a
aplicação estritamente através das hipermídias
providas pelo servidor de aplicação.
● Possibilita um maior desacoplamento servidor-
cliente
● Exemplo: navegue em
http://api.convenios.gov.br/siconv/doc/metodos.html
● Consulte no google: “dados abertos novo hamburgo”
30 / 53
32. Experimento
1. Baixe os dados do PAC no portal dados.gov.br
2. Abra no LibreOffice e faça a conversão do tipo geográfico
● =CONCATENAR(SE(DIREITA(TIRAR(O2);1)="S";"-";"");EXT.TEXTO(O2;1;PROCURAR("°";O2;1)-1)+
(EXT.TEXTO(O2;PROCURAR("°";O2;1)+1;PROCURAR("'";O2;1)-PROCURAR("°";O2;1)-
1)/60)+CONCATENAR((EXT.TEXTO(O2;PROCURAR("'";O2;1)+1;PROCURAR(".";O2;1)-PROCURAR("'";O2;1)-
1));",";EXT.TEXTO(O2;PROCURAR(".";O2;1)+1;PROCURAR(CARACT(34);O2;1)-PROCURAR(".";O2;1)-
1))*1/3600)*1
3. Suba os dados para o Google Fusion Tables
4. Mais 2 cliques e ...
Passos: https://groups.google.com/forum/?fromgroups=#!topic/thackday/uJisBSNNgkU
32 / 53
34. Arquitetura lógica da INDA
● A INDA está fundamentada na Web
● É a união dos dados publicado em
todos os órgãos
● O portal é um buscador
● O portal armazena os
metadados
● Cada órgão é
responsável pelos seus
dados
34 / 53
35. Portal Brasileiro de Dados Abertos
dados.gov.br
●
Utilizamos o CKAN ●
Outras tecnologias
●
Software Livre ●
Diazo
especializado ●
Varnish
●
Modelo flexível e ●
Solr
extensível
●
PortgreSQL
●
Integração com CMS
●
Apache
●
Wordpress
●
Python
●
VCGE para organizar
assuntos
●
HG – Mercurial
35 / 53
36. Portal Brasileiro de Dados Abertos
dados.gov.br
● É um catálogo
● Guarda metadados
● Conceitos básicos:
● Conjuntos de dados
● Recursos
● Grupos
● Etiquetas, licença, ...
36 / 53
37. CKAN
● Características:
● Sistema de catálogo de busca de dados
● API para busca e inserção
● Plugins para integração com CMSs (Drupal e WP)
● Visualização de dados e analytics
● Workflow permite orgãos administrarem seus
dados
● Storage de dados integrado
● Possibilita federação de catálogos
37 / 53
38. Metadados - catalogação
● “Dados sobre os dados”
● Descrevem o conjunto de dados
● Cobertura, descrição, proveniência, extração, etc..
● Úteis na classificação e indexação dos dados
● É o coração do catálogo
● Metadados:
● Mínimos (obrigatórios)
● Extras (desejáveis)
38 / 53
39. Metadados - catalogação
● Mínimos: ● Extras:
● Título ● Etiquetas
● Descrição ● Autoria
● Catálogo de origem ● Cobertura geográfica e
● Órgão responsável temporal
● Assuntos do VCGE
● Granularidade geográfica
e temporal
● Formato de arquivo ● Atualidade
● Referências
● Ontologia/vocabulário
● ...
http://dados.gov.br/cartilha-publicacao-dados-abertos/
39 / 53
40. Catalogando dados (exemplo)
http://treino.dados.gov.br
● Dados?
● Séries estatísticas no IBGE sobre educação
● http://seriesestatisticas.ibge.gov.br/lista_tema.aspx?op=0&no=4
40 / 53
41. Catalogação pela API
● CKAN provê uma API para administração
● Documentação:
● http://docs.ckan.org/en/latest/api.html
41 / 53
42. Portais com CKAN
● Senado, Reino Unido, Buenos Aires, ...
Mais: http://ckan.org/2012/07/31/new-ckan-data-portals/
42 / 53
43. Colheita de metadados - Harvesting
● Plugin que possibilita federação dos dados
● Replica os metadados entre catálogos
● Cada estado e município pode ter um portal de
dados abertos
● dados.sc.gov.br?
● dados.pe.gov.br?
● Documentação:
● https://github.com/okfn/ckanext-harvest
43 / 53
44. DataStore
● Serviço de armazenamento e acesso a dados
estruturados pela web
● Software que se integra com o CKAN
●
● Documentação:
● http://blog.okfn.org/2012/03/27/introducing-the-datastore/
44 / 53
45. Linked Data
● Usar a Web para ligar dados relacionados
● Expor dados na web
● Compartilhar esses dados
● Conectar pedaços de dados, informações e
conhecimento
● Usando:
● URIs
● RDF – Resource Description Framework
45 / 53
48. Linked Data (4)
● Princípios de Linked Data (note de Tim BL):
● usar URIs como nomes para as coisas;
● usar URIs do tipo HTTP, para que as pessoas
possam recuperar essas coisas;
● quando alguém recuperar uma URI, fornecer
informações úteis, usando os padrões;
● inclua links para outras URIs, para que as pessoas
possam descobrir mais coisas [relacionadas]
http://www.w3.org/DesignIssues/LinkedData.html
48 / 53
49. Desenho de URIs
● “Dar nome às coisas na Web”
● Nomear coisas concretas ou abstratas
● http://education.data.gov.uk/id/school/123065
● http://reference.data.gov.uk/def/central-government/PermanentSecretary
● Objetivos
● Nome único
● Ser persistente por muito tempo
● Ser pequeno e legível por humanos
● Incorporar identificadores já em uso
49 / 53