você está aqui: Home  → Arquivo de Mensagens

Brincando com Dados Abertos

Por Cesar Brod

Data de Publicação: 06 de Outubro de 2011

Na semana do dia 19 de setembro tive a oportunidade de acompanhar, em parte, o trabalho do núcleo de dados abertos da Secretaria de Logística e Tecnologia da Informação do Ministério do Planejamento. A equipe, formada por Nitai Silva, Christian Miranda, Augusto Herrmann, Carlos Vieira, João Bosco Junior e Marina Parente apresentou-me uma aplicação exemplo, desenvolvida em apenas 25 horas. Apenas com o uso de HTML e JavaScript para acessar dados abertos, a aplicação permite acompanhar o recadastramento de fornecedores do portal de compras do Governo Federal, o Comprasnet.

Tudo o que é necessário para trabalhar com os dados abertos do Comprasnet está no Portal de Dados Abertos do Sistema de Cadastramento Unificado de Fornecedores. Como nerd que se preza, porém, resolvi fazer algumas pequenas brincadeiras:

Digite a seguinte URL em seu navegador:

http://api.comprasnet.gov.br/sicaf/v1/consulta/municipios.xml?uf=rs

Você obterá, como resposta, um arquivo no formato xml listando todos os municípios do Rio Grande do Sul.

O utilitário curl permite o acesso ao conteúdo da web através da linha de comando. Digite, em seu terminal:

  curl -s http://api.comprasnet.gov.br/sicaf/v1/consulta/municipios.xml?uf=rs | grep "<nome>" | sed 's/<nome>//g' | sed 's/<\/nome>//g' | sed -e 's/^[ \t]*//'

O parâmetro -s faz com que o curl suprima as informações da busca da informação, exibindo apenas o conteúdo buscado através da URL. O comando grep irá filtrar apenas as linhas que contém a string <nome>. Os dois primeiros comandos sed eliminarão da saída as strings <nome> e </nome> e o último comando sed elimina linhas em branco e tabs no início de cada linha. Compare o resultado com o arquivo xml vindo diretamente da URL e você entenderá melhor o que os comandos acima fizeram. Para mais informações sobre cada um dos comandos usados digite, em seu terminal:

  man curl
  man sed

ou use o bem e velho Google!

Você pode também, facilmente, saber o número de municípios de cada estado adicionando mais um comando na linha acima, o wc (word count) com o parâmetro -l (para contar as linhas). Assim, o número de municípios do Rio Grande do Sul é obtido com o comando abaixo:

  curl -s http://api.comprasnet.gov.br/sicaf/v1/consulta/municipios.xml?uf=rs | grep "<nome>" | sed 's/<nome>//g' | sed 's/<\/nome>//g' | sed -e 's/^[ \t]*//' | wc -l

Mas o formato xml é apenas um dos vários formatos permitidos pela API de Dados Abertos do Comprasnet. Experimente, na mesma URL acima substituir xml por csv ou rdf.

Usei o seguinte comando para obter a latitude e longitude da Pérola do Vale, a cidade de Arroio do Meio, no Rio Grande do Sul, em um arquivo no formato csv (arroio.csv) que depois abri no LibreOffice:

  curl -s http://api.comprasnet.gov.br/sicaf/v1/consulta/municipios.csv?nome=arroio%20do%20meio > arroio.csv

Mas isto não é nada comparado a tudo o que é possível realizar com dados abertos. Troque a extensão csv por rdf, por exemplo e cada uma das consultas acima pode ser ainda mais refinada com o uso de ferramentas da web semântica como o RAP.

Quer saber mais? Dá uma espiadinha aqui!

Sobre o autor

Cesar Brod é empresário e consultor nos temas de inovação tecnológica, tecnologias livres, dados abertos e empreendedorismo. Sua empresa, a BrodTec, faz também trabalhos tradução e produção de conteúdo em inglês e português. Além de sua coluna, Cesar também contribui com dicas para o Dicas-L e mantém um blog com aleatoriedades e ousadias literárias. Você pode entrar em contato com ele através do formulário na página da BrodTec, onde você pode saber mais sobre os projetos da empresa.

Mais sobre o Cesar Brod: [ Linkedin ] | [ Twitter ] | [ Tumblr ].


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.

Recomende este artigo nas redes sociais

 

 

Veja a relação completa dos artigos de Cesar Brod