You are on page 1of 29

Universidade Federal de Pernambuco

Graduação em Sistemas de Informação


Centro de Informática

Proposta de site para a visualização e acompanhamento de gastos


da câmara de vereadores de Recife
Trabalho de Graduação

Aluno: ​Caio Cavalcanti de Albuquerque Tenorio


Orientador:​ Vinícius Garcia

Recife, Setembro de 2019


Caio Cavalcanti de Albuquerque Tenorio

Proposta de site para a visualização e acompanhamento de gastos


da câmara de vereadores de Recife

______________________________________________________
Prof. Dr. Vinicius Cardoso Garcia
Orientador

______________________________________________________
Profa. Dra. Bernadette Farias Lóscio
Avaliadora

Recife
2019

1
RESUMO

Em um contexto onde muitos indivíduos possuem acesso à dados de maneira rápida e


prática, não é difícil entender porque a internet se tornou um grande canal para a divulgação
de dados. Esse potencial tem sido explorado das mais variadas formas. Neste cenário, a ideia
de dados abertos governamentais começou a florescer. Os governos têm se movimentado para
torna os dados disponíveis para a população. Porém, por vezes os dados são apresentados de
forma pouco amigável, segregada e pouco compreensível por máquina. Os órgãos públicos
parecem entender dados abertos apenas como uma prestação de contas para a população,
deixando de lado os princípios que regem o cerne dos dados abertos. Este trabalho tem por
objetivo a implementação de um sistema de extração de dados da Câmara Municipal de
Recife e a apresentação e disponibilização dos dados de forma mais interessante para
reutilização. Quanto menos empecilhos existirem para o acesso e interpretação das
informações públicas, mais interesse e motivação existirá por parte da população. Uma
população munida com informações está mais preparada e empoderada para cobrar de seus
representantes.
Palavras-chave​: dados abertos governamentais, extração de dados.

2
ABSTRACT

In a context where many individuals have fast and convenient access to data, it is not
difficult to understand why the internet has become a major channel for data dissemination.
This potential has been exploited in a variety of ways. In this scenario, the idea of ​open
government data began to flourish. Governments have moved to make data available to the
population. However, sometimes data are presented in an unfriendly, segregated and not
machine processable. Public agencies seem to understand open data only as an accountability
to the population, leaving aside the principles that govern the core of open data. This work
aims to implement a data extraction system of the Recife City Council and to present and
make the data more interesting for reuse. The less hindrance to accessing and interpreting
public information, the more interest and motivation there will be for the population. A
population provided with information is better prepared and empowered to charge their
representatives.
Keywords: ​open government data, data extraction.

3
AGRADECIMENTOS

Agradeço aos professores que me ajudaram durante o decorrer do curso. Agradeço aos
colegas dispostos a ajudar e compartilhar conhecimentos.
Um agradecimento especial ao professor Vinícius Garcia, que ministrou os cursos com
os quais mais me identificava, e que sempre conseguir passar os conhecimentos da melhor
maneira possível demonstrando seu amor pela profissão em suas aulas.

4
LISTA DE ABREVIATURAS

● SQL - Structured Query Language


● XLS - Microsoft Excel file format
● TXT - Text file format
● CSV - Comma-separated values
● HTML - HyperText Markup Language
● PDF - Portable Document Format
● URL - ​Universal Resource Locator.

5
SUMÁRIO

1. ​INTRODUÇÃO 7
1.1. Contexto 7
1.2. Problema 8
1.3. Objetivo 9

2. DISPOSIÇÃO DOS DADOS DA CÂMARA MUNICIPAL 11

3. COLETA DOS DADOS 14


3.1. Web Scraping 14
3.2. Planilhas 16

4. PERSISTÊNCIA DOS DADOS 19

5. APRESENTAÇÃO DOS DADOS 21


5.1. Dashboard 21
5.2. Website 22

6. CONCLUSÃO E TRABALHOS FUTUROS 25

7. REFERÊNCIAS 26

6
1. INTRODUÇÃO

1.1. Contexto

Com a popularização de dispositivos eletrônicos, bem como o acesso à internet por


uma grande parcela da população, fica cada vez mais fácil o acesso à grandes volumes de
dados e informações. Em um contexto onde muitos indivíduos possuem acesso à informação
de maneira rápida e prática, não é difícil entender porque a internet se tornou um grande canal
para a divulgação de dados. Esse potencial tem sido explorado das mais variadas formas.
Neste cenário, a ideia de dados abertos governamentais começou a florescer [1].
Em 2007, em Sebastopol, na Califórnia, reuniu-se um grupo de pesquisadores,
ativistas e representantes de organizações da sociedade civil norte-americana. O intuito do
encontro foi a discussão sobre dados abertos governamentais. Como o passar dos anos o
conceito se expandiu para outras áreas, como dados abertos científicos, ou mesmo dados de
organizações privadas. Segundo a definição do ​Open Knowledge Foundation​, “dados são
abertos quando qualquer pessoa pode livremente acessá-los, utilizá-los, modificá-los e
compartilhá-los para qualquer finalidade, estando sujeito a, no máximo, exigências que visem
preservar sua proveniência e sua abertura” [2] [3]. O referido grupo criou uma série de oito
princípios, que são adjetivos que um dado precisa possuir para ser um dado aberto:
1. Completos: Todos os dados públicos devem ser disponibilizados em sua completude.
Sem restrições de privacidade ou segurança.
2. Primários: Os dados devem possuir o maior nível de granularidade possível,
modificação ou agregação.
3. Atuais: Quanto mais atuais são os dados, mais valor eles possuem. Ele precisam ser
publicados o mais rápido possível.
4. Acessíveis: Devem ser disponibilizados para a maior quantidade possível de pessoas.
5. Compreensíveis por máquina: Os dados devem estar um formato que seja facilmente
lido por uma máquina. Formatos como CVS, YML, XML, são formatos bem
estruturados e facilmente lidos por máquinas. Diferente de imagens por exemplo.
6. Não discriminatórios: Disponíveis para qualquer pessoa. Qualquer coisa que dificulte
ou impeça o acesso aos dados deve ser evitada.

7
7. Não proprietários: Órgãos ou entidades não devem ter controle exclusivo dos dados.
8. Livre de licenças: Os dados não devem estar submetidos a licenças. Restrições sobre
privacidade, e outros pontos devem ser bem justificados.

Em concordância com esses princípios, em 2009, um palestrante de políticas públicas


e ativista de dados abertos da Harvard Kennedy School of Government, David Eaves, propôs
três “leis” para definir se um dado pode ser considerado aberto ou não, são elas [2]:
1. Se um dado não pode ser encontrado e indexado na ​web,​ ele não existe.
2. Um dado não estando aberto e disponível em um formato que seja compreensível por
uma máquina, ele não pode ser reaproveitado.
3. E se algum dispositivo legal impedir sua replicação, ele é inútil.

Tais leis foram propostas no contexto de dados abertos governamentais, mas podem
abranger facilmente outras definições e categorias de dados abertos[2].
Esses princípios e ideias criadas, foram tomando cada vez mais forma e ganhando
mais adeptos.
Em 18 de novembro de 2011, foi aprovada no Brasil a Lei nº 12.527, conhecida como
“Lei de Acesso à Informação” [10]. Como o nome sugere, a lei foi criada no intuito de
regulamentar o acesso à informações governamentais. Desde então, os órgãos públicos se
viram compelidos a se movimentarem para viabilizarem a disponibilização dos dados abertos
em seus respectivos escopos de atuação. Foi criada uma cartilha de publicação para a
publicação de dados abertos no Brasil [4]. Em março de 2013, foi lançado o Portal da
Transparência da Prefeitura de Recife, além disso, o site da Câmara Municipal de Recife
começou a disponibilizar dados referentes aos servidores da Câmara, bem como os vereadores
[5].

1.2. Problema

Os dados disponibilizados no site da Câmara Municipal do Recife estão apresentados


de maneira segregada fazendo com que o cruzamento das informações a serem consumidas

8
pelos interessados seja trabalhosa. É importante ressaltar também, que os dados
disponibilizados constam em diferentes fontes e formatos, dificultando o trabalho para quem
tem como intenção a consulta de informações. Para quem deseja extrair os dados para a sua
utilização em pesquisas, apenas parte dos dados podem ser baixados em planilhas, a outra
parte consta apenas no ​front-end da página, sem opção de ​download [8]. A disposição dos
dados será mais detalhada no próximo tópico.

1.3. Objetivo

O objetivo do projeto é facilitar a visualização e consulta dos dados referentes aos


vereadores de Recife. Extrair os dados, transformá-los e apresentá-los de forma centralizada
com o intuito de deixar mais claro, prático e rápido para quem deseja consumir as
informações. Viabilizando assim, o acompanhamento de informações relevantes sobre
vereadores de Recife. Quanto menos empecilhos existirem para o acesso e interpretação das
informações públicas, mais interesse e motivação existirá por parte da população. Uma
população munida com informações está mais preparada para cobrar de seus representantes.
Existe uma série de dados disponibilizados pelo site da Câmara Municipal, porém, se
todos os dados fossem considerados, o escopo do trabalho ficaria muito grande. Logo, os
dados escolhidos foram os relacionados a pagamentos (remunerações e verbas indenizatórias),
presenças em sessões plenárias e propostas e matérias legislativas.

1.4 Concepção

Como citado anteriormente, alguns dados necessários para a realização deste trabalho
não estavam disponíveis para ​download,​ constando apenas no ​front-end das páginas do site da
Câmara Municipal, em contrapartida, outros dados poderiam ser baixados em planilhas. Se
fazia necessária a estruturação e transformação, e integração dos dados para sua persistência
em uma base de dados relacional para permitir a correlação entre os dados provenientes de
fontes distintas. A apresentação dos dados por meio de alguma ferramenta de visualização,
para facilitar o consumo dos dados por parte de interessados.

9
Para facilitar a organização do projeto, este foi divido em três tópicos:

1. Extração ou coleta dos dados: Desenvolvimento de aplicações/​scripts para a


extração dos dados das planilhas e do site SAPL para sua persistência em base
de dados.
2. Estruturação dos dados e persistência: Os dados de diferentes fontes, por
vezes, precisam ser transformados e correlacionados para que sejam úteis.
3. Apresentação do dados: Realizar a apresentação dos dados com ferramentas
de visualização, plotando gráficos e informações com métricas úteis para a
consulta.

As tecnologias utilizadas para a execução foram escolhidas com base no cenário


observado e serão detalhadas nos tópicos seguintes.

10
2. DISPOSIÇÃO DOS DADOS DA CÂMARA MUNICIPAL

Ao acessar a página principal da Câmara Municipal de Recife nos deparamos com


links para o Portal da Transparência de Recife, SAPL (Sistema de Processo Legislativo) e um
ícone intitulado “Prestação de Contas”. Boa parte das informações relevantes para a execução
deste trabalho estavam contidas nas duas últimas. No link de prestação de contas podemos
encontrar dados disponíveis sobre:
● Receitas
● Despesas
● Despesa funcional programática
● Despesa detalhada por Credor/Empenho
● Demonstrações contábeis
● Prestação de contas
● Relatórios de gestão fiscal
A maioria dos itens citados, ao serem clicados, abrem um ​iframe que parece pertencer
ao Portal da Transparência, que nos possibilita passar parâmetros para restringir as consultas,
e que é possível baixar os dados nos formatos PDF, XLS, ODF, TXT, CSV, XML. É bastante
fácil de usar, intuitivo, e a opção de poder escolher o formato dos dados é muito bem vinda.
Todos os itens supracitados possuem dados sobre a Câmara Municipal como um todo.
O item mais interessante para o trabalho é o de verbas indenizatórias, que diz respeito às
verbas recebidas pelos vereadores como compensações por despesas como aluguel de
escritório, locação de automóveis, contas de água e luz, serviços de reparo de automóveis, etc.
Porém, diferente dos outros itens, o item de verbas indenizatórias ao ser clicado não abre o
mesmo ​iframe,​ ao invés disso, abre-se uma paǵina onde podemos escolher entre meses e
anos. Ao escolher o mês o ano o site nos disponibiliza um arquivo XLSX como único formato
possível. Foram selecionadas as planilhas disponíveis entre 2017 e 2019, que correspondem a
legislatura atual.
Já no link SAPL, encontramos algumas categorias onde podemos fazer consultas, são
elas:

11
● Mesa diretora
● Comissões
● Parlamentares
● Pauta da Sessão
● Sessão Plenária
● Matérias Legislativas
● Normas Jurídicas
● Relatórios
Dos itens acima, os mais interessantes para o trabalho são Parlamentares, Sessão
Plenária e Matérias Legislativas. Os outros itens apresentam massas de dados muito grandes e
de pouco cunho prático. Parlamentares possui uma lista de todos os vereadores. De Sessão
Plenária, pode-se extrair a lista de presença, que pode nos dar dados sobre quem são os
vereadores mais presentes e mais faltantes. E no item de Matérias Legislativas, constam todas
as propostas apresentadas pelos vereadores. Esses três conjuntos de dados podem trazer
informações práticas e de boa relevância para a pesquisa.
Quanto a navegação de telas, o item parlamentares nos apresenta uma lista com os
nomes dos parlamentares, seu partido, e se ele ainda está exercendo o cargo. Podemos
também escolher ver essas informações de acordo com a legislatura. Para o projeto, foi
escolhida a legislatura atual. Não vemos porém, alguma opção onde possamos fazer o
download​ dos dados.
Na parte de sessões, a história é parecida. Podemos navegar entre dias vendo
informações sobre as sessões plenárias de cada dia, porém não temos a opção de baixar os
dados.

12
Figura 1 - Formulário para pesquisas sobre matérias legislativas
(Fonte: site do Sistema de Processo Legislativo)

Já para a parte de matérias legislativas, é um pouco diferente. Como mostrado na


figura 1, Nos deparamos com um formulário, onde podemos parametrizar nossa pesquisa,
podendo escolher entre tipos de matérias, autor da matéria, partido, entre outros. Entre as
matérias legislativas estão projetos de lei do executivo, projetos de lei ordinária, projetos de
resolução, emendas de leis, etc.
O resultada busca nos leva uma lista paginada com os resultados. Ao clicar em uma
matéria, chegamos a uma exibição mais detalhada dos dados da mesma, e podemos baixar um
documento com o texto da matéria na íntegra.

13
3. COLETA DOS DADOS

3.1. Web Scraping

Como mencionado no item anterior deste trabalho, parte dos dados estavam
disponíveis por meio de planilhas, facilitando o acesso, e principalmente, o armazenamento
dos dados por parte dos interessados. Contudo, uma grande e importante parte dos dados
estavam dispostos apenas por meio da ​UI (User Interface) do site SAPL. Sendo assim, as
opções para quem deseja extrair tais dados para posterior utilização são, copiar manualmente
os dados para outro ambiente, ou automatizar esse processo por meio de algum software de
extração de dados ​web​. Isso torna o processo mais complicado e cria um grande filtro para
indivíduos interessados na extração dos dados, pois, levando em conta a distribuição da
população, poucas pessoas possuem o conhecimento técnico e o tempo para o
desenvolvimento de um software que execute as tarefas necessárias para obter o resultado
esperado.
Para a coleta dos dados do SAPL, foi escolhida a técnica de ​Web Scraping,​ que
consiste em percorrer páginas ​web com a utilização de software, e extrair os dados do
front-end das páginas de forma automatizada, para estruturação em planilhas ou base de dados
[9].
Para este propósito, foi escolhido o desenvolvimento de uma aplicação em Java, com a
utilização do Jsoup. O Jsoup é uma biblioteca Java ​open source para a extração e manipulação
de dados contidos em HTML. Existem muitas soluções e bibliotecas apropriadas para ​Web
Scraping em diferentes linguagens disponíveis para uso gratuito. A escolha do Java deve-se à
familiaridade e facilidade que as ​IDE’s de Java nos proporcionam para o ​debugging,​ bem
como a vasta documentação disponível não apenas nos sites oficiais das ferramentas, como
em fóruns online, devido a grande popularidade da linguagem.
A primeira página escolhida para começar a extração dos dados foi a dos
parlamentares, já que, todos os outros dados coletados para a execução deste projeto giram em
torno dos vereadores. Essa primeira extração não trouxe muitos problemas, apesar de

14
embutidos no ​front-end da página, os dados estavam em um formato muito similar a um CSV,
além de conter poucos registros, quarenta e cinco apenas. O código foi implementado visando
a extração das colunas colunas disponíveis na página, nome parlamentar, nome civil, partido e
se o parlamentar está ativo ou não. Só foram extraídos os dados sobre os vereadores que
pertencem a legislatura atual.
A segunda categoria escolhida, foi a de sessões plenárias. Também não houveram
dificuldades em sua extração. Os dados escolhidos para serem extraídos das sessões foram o
nome da sessão, o seu tipo (se é ordinária ou extraordinária), hora da abertura, hora do
encerramento, sua data e sua lista de presença, que era a informação mais interessante para o
prosseguimento do projeto. Algo chamou a atenção a respeito dos dados desta categoria.
Existia uma lacuna grande entre os anos. Eram 111 registros correspondentes ao ano de 2019,
apenas 1 correspondentes à 2018, e 2 correspondendo à 2017, 2 a 2014, e 78 a 2013. Poucos
dados dos anos 2018, 2017 e 2014 e absolutamente nenhum dado sobre os anos de 2016 e
2015.
A terceira categoria para a extração dos dados foi a de matérias legislativas. A difícil e
com a maior quantidade de dados. A tela inicial da página de matérias possui um formulário
para a escolha de parâmetros a serem pesquisados, e ao pesquisar sem parâmetro algum ele
retornava as 10.000 (dez mil) primeiras entradas.

Figura 2 - Resulta de pesquisa de matérias legislativas


(Fonte: site Sistema de Processo Legislativo)

As entradas eram ordenadas por ordem alfabética de acordo com o nome do tipo da
matéria legislativa. Logo, a opção de fazer uma pesquisa sem parâmetros e extrair os dados,

15
não era possível, já que só seriam extraídos os 10.000 primeiros. Foi necessário percorrer as
páginas de todas as categorias, e percorrer a paginação do resultado de todas as pesquisas.
Felizmente, a ​URL gerada pelas pesquisas, apesar de grande, não escondia os parâmetros, o
que facilitou bastante, principalmente para superar a paginação, que por vezes é um desafio na
técnica de ​web scraping ​ [9].
Durante a extração dos dados sobre as matérias surgiu o problema dos links ficarem
temporariamente indisponíveis, difícil precisar se isso ocorreu por problemas de conexão
comuns, ou se a quantidade de requisições foi muito grande, fazendo com que o ​load balancer
do SAPL bloqueasse requisições temporariamente. Por precaução, foi implementado no
código um simples sistema de verificação, onde se uma requisição retornasse nula, a aplicação
esperaria 30 segundos antes de tentar novamente. Além disso, foi colocado um temporizador
entre as requisições, para evitar a sobrecarga dos servidores da câmara. Isso tornou o trabalho
custoso, e tornou o processo de extração de dados dessa categoria levar aproximadamente 3
horas para ser concluído. A massa de dados foi a maior encontrada, mas em comparação com
as massas de dados que encontramos hoje em dia não é tão grande assim, apenas 11.290 (onze
mil duzentas e noventa) entradas.
Em geral o site da SAPL respondia bem, era intuitivo de usar, mas pecava em não
possuir meios de extração diretos, além de estar fora do ar em algumas tentativas de acesso no
decorrer da elaboração deste projeto.

3.2. Planilhas

Os dados sobre remunerações podem ser acessados pelo site da Câmara Municipal,
por meio de um ​iframe que recebe parâmetros, executa uma consulta e disponibiliza o
download do resultado pelos formatos CSV, TXT, XLS, ODF, XML ou PDF. Foi escolhido o
formato CSV, por ter uma estrutura interessante e amigável do ponto de vista de máquina. Já
existem inúmeras bibliotecas para a extração e manuseio de dados nesse formato.
Outra massa de dados que nos interessa é referente às verbas indenizatórias recebidas
pelos vereadores. Elas podem ser acessadas por uma sessão no site da Câmara Municipal e só

16
podem ser baixadas no formato XLSX. O formato também é amigável à extração, e não causa
transtornos nesse sentido.
Para a coleta dos dados de ambas as massas de dados descritas acima, foram
implementados scripts em Python, que extraia estruturava e fazia inserção dos dados na nossa
base de dados. A linguagem Python foi escolhida para essa tarefa por ser bastante prática,
possuir boas libs para executarem a tarefa de maneira satisfatória, além possuir ferramentas de
debugging​ que facilitam bastante.
Infelizmente não foi possível utilizar o mesmo ​script para as planilhas das duas
categorias, já que a estruturação dos dados era diferente entre elas.

Figura 3 - Planilha de remunerações

Figura 4 - Planilha de verbas indenizatórias

17
O desafio na extração desses dados, se deve mais à estruturação dos dados nas
planilhas referentes à verbas indenizatórias. Nas planilhas de remuneração cada linha refletia
exatamente o que deveria ser inserido no banco, bastante simples. Porém no caso das verbas
indenizatórias, foi necessário um esforço maior, já que a tabela possuía atributos em ambos os
eixos como mostrado na figura abaixo.

18
4. PERSISTÊNCIA DOS DADOS

A tecnologia escolhida para a base de dados foi o PostgreSQL. É uma ferramenta de


gerenciamento de base de dados relacional, possui uma documentação vasta, e é bastante fácil
de usar.
A base de dados foi baseada no trabalho de Pedrosa [5], que fez um excelente trabalho
de curadoria com relação à relevância dos dados a serem capturados. Apesar de existirem
mais dados disponíveis nos sites já citados, esse conjunto de dados nos dá uma gama muito
interessante de possibilidades.
Foi construído um esquema de base de dados relacional utilizando PostgreSQL como
mostra a figura abaixo:

Figura 5 - Esquema da base de dados

Os dados das tabelas “vereadores”, “sessoes” e “presencas” foram extraídos via ​web
scraping pelo site SAPL. O campo “nome_parlamentar” na tabela “vereadores” foi

19
correlacionado com o nome “autor” na tabela “materias”, assim foi possível adicionar as
chaves estrangeiras em “materias”. Da mesma forma, o “nome_parlamentar” da tabela
“vereadores” foi correlacionado com os nomes contidos no campo “lista_de_presenca” da
tabela “sessoes”, assim foi possível a criação e adição das chaves estrangeiras em
“presencas”. Já esse conjunto de dados foi retirado da mesma fonte, a integração foi possível
já que os nomes dos vereadores eram correlacionáveis entre as tabelas.
Os dados contidos nas tabelas “remuneracoes” e “verbas_indenizatorias”, foram
extraídas de planilhas baixadas do site da Câmara Municipal. Para relacionar os dados
planilhas com o conjunto de dados anterior foi um pouco mais trabalhoso, já que, não foi
possível encontrar um identificador que gerasse uma correlação perfeita. As planilhas de
remunerações continham o número da matrícula dos vereadores, porém tal informação não
constava em mais nenhum conjunto de dados. Logo, a integração dos dados precisou ser feita
pelos nomes dos vereadores novamente. Porém, nesse caso, ocorreram problemas de
integração, já que os nomes de alguns vereadores contavam de forma bastante diferente entre
os conjuntos de dados. Por exemplo, no site da SAPL, o nome da vereadora Michelle Collins
constava como “Missionária Michelle Collins”, tanto como nome civil como nome
parlamentar. Já nas planilhas o nome da vereadora constava como “Daize Michelle”. Esse tipo
de discrepância dificultou a correlação dos dados. Foram observados também alguns casos de
erros de digitação. Tais casos precisaram ser tratados individualmente.
A tabela central do modelo é a de vereadores. Todas as outras tabelas recebem o id de
vereadores como chave estrangeira, com exceção da tabela “sessoes”, já que a relação entre
vereadores e “sessoes” era de n:n, foi criada uma tabela intermediária que recebe chaves
estrangeiras de ambas.
A adição das chaves estrangeiras foi feita por meio de um script em Python. Os
campos contendo datas também precisaram sofrer alterações para que ficassem todos com um
formato homogêneo, e que pudessem ser lidos facilmente pela nossa ferramenta de
visualização.

20
21
5. APRESENTAÇÃO DOS DADOS

5.1. Dashboard

Para a montagem da visualização dos dados foi usada a pilha de software conhecida
como ELK (Elasticsearch, Logstash e Kibana). O Logstash é uma pipeline de processamento
de dados, que executa a coleta de dados por variados tipos de fontes diferentes, os transforma
e os envia, no nosso caso, o envio foi para o Elasticsearch. Esse, por sua vez, é um servidor de
buscas bastante conhecido. Os dados brutos são analisados, normalizados e enriquecidos antes
de serem indexados. Um índice no Elasticsearch corresponde a um conjunto de dados. Esse
índice pode ser consumido pelo Kibana, que têm os dados a disposição para que estes sejam
utilizados para construção de gráficos e tabelas [6].
Por meio de um ​plugin do Logstash é possível consumir dados de uma base SQL, por
meio de consultas, e alimentar o Elasticsearch. É o que foi feito no nosso caso. Depois os
gráficos começaram a ser trabalhados através do Kibana. No Kibana, é possível criar
visualizações separadas, que são então agregadas em um ​dashboard.​ Foi criado um
dashboard interativo contendo dados relevantes sobre nossos vereadores. Abaixo alguns
exemplos:

Figura 6 - Visualizações das somas dos valores pagos aos vereadores

22
Figura 7 - Visualizações de maiores médias de remuneração mensal e o total pago por mês em verbas
indenizatórias

Como os dados são relacionados pelo índice criado pelo Elasticsearch, ao clicar no
nome de algum vereador, ou partido, o Kibana cria um filtro de dados, e todas as
visualizações são modificadas para aquele vereador ou partido escolhido.

5.2. Website

Foi criado um web site simples para a apresentação dos dados e do dashboard.

23
A tecnologia escolhida foi Ruby on Rails. Ruby é uma linguagem de programação que vem
ganhando muitos adeptos nos últimos anos. Possui um framework poderoso chamado Rails. É
bastante fácil de usar e ganhou fama por tornar possível resultados rápidos. Por se tratar de
uma prova de conceito, o Ruby on Rails ajudou a tornar o processo de criar um web site
simples e rápido.
O site possui três páginas. A página inicial apresenta uma breve descrição sobre o site,
e explica sucintamente como o usuário pode ter acesso aos dados. Existe a página criada para
a apresentação do ​dashboard onde o usuário pode interagir com o mesmo. E a terceira
paǵina é uma página de ​downloads, onde o usuário pode baixar os dados utilizados em
formato de CSV e os scripts SQL para a criação das tabelas.

Figura 8 - Página inicial do site proposto

Figura 9 - Página para download dos dados

24
Figura 10 - Paǵina com o dashboard interativo

25
6. CONCLUSÃO E TRABALHOS FUTUROS

Como aponta o estudo [11], os órgãos públicos brasileiros parecem acreditar que
transparência e dados abertos, são sinônimos. A publicação dos dados por parte dos nossos
órgãos é tratada como uma prestação de contas, e os princípios dos dados abertos são muitas
vezes ignorados.
A criação de projetos que suportam dados abertos serve para alimentar cada vez a
causa. A viabilização de acesso à informação sobre nossos representantes tem como objetivo
engajar os interessados e muní-los de informações para embasar as reivindicações.
O site Operação Política Supervisionada é uma iniciativa que faz a captação de dados,
estruturação e apresentação [7]. É um trabalho excelente, mas que deveria ser feito pelos
órgãos públicos. Se a política de dados abertos fosse tratada de maneira séria pelos órgãos
brasileiros competentes, trabalhos como esse não teriam razão de ser. Entretanto, enquanto
nossos órgãos não se mexem, cabe a nós cidadãos lutar por uma política de dados abertos
melhor.

26
7. REFERÊNCIAS

[1] JUNIOR, Eder Antonio Pansani; FERNEDA, Edberto. Dados Governamentais Abertos:
uma análise da qualidade dos dados em portais de transparência brasileiros. GT-8 –
Informação e Tecnologia, Londrina, 2018.

[2] O Que são dados abertos?. [S. l.], 2018. Disponível em:
http://dados.gov.br/pagina/dados-abertos. Acesso em: 25 nov. 2019.

[3] Quando surgiram os oito princípios dos dados abertos?. [S. l.], 2018. Disponível em:
https://br.okfn.org/2015/04/14/quando-surgiram-os-oito-principios-dos-dados-abertos/.
Acesso em: 25 nov. 2019.

[4] Cartilha de publicação de Dados Abertos. [S. l.], 2017. Disponível em:
http://dados.gov.br/pagina/cartilha-publicacao-dados-abertos. Acesso em: 25 nov. 2019.

[5] PEDROSA, Danilo Matheus de Oliveira. Ferramenta para monitoramento de gastos e


iniciativas da câmara de vereadores do Recife. 2019. Trabalho de Conclusão de Curso
(Sistemas de Informação) - UFPE, [S. l.], 2019.

[6] What is ELK?. [S. l.], 2017. Disponível em: https://www.elastic.co/pt/what-is/elk-stack.


Acesso em: 23 nov. 2019.

[7] Operação Política Supervisionada. [S. l.], 2017. Disponível em: https://ops.net.br. Acesso
em: 23 nov. 2019.

[8] KLEIN, Rodrigo Hickmann; KLEIN, Deisy Cristina Barbiero; LUCIANO, Edimara
Mezzomo. Identificação de mecanismos para a ampliação da transparência em portais de
dados abertos: uma análise no contexto brasileiro. EBAPE, Porto Alegre, 2018.

27
[9] MESCHENMOSER, Philipp; MEUSCHKE, Norman; HOTZ, Manuel; GIPP, Bela.
Scraping Scientific Web Repositories: Challenges and Solutions for Automated Content
Extraction. D-Lib Magazine, [s. l.], v. 22, ed. 9/10, 2016.

[10] SEGUNDO, José Eduardo Santarem. Web Semântica, dados ligados e dados abertos:
uma visão dos desafios do Brasil frente às iniciativas internacionais. GT 8 – Informação e
Tecnologia, [S. l.], v. 22, 2015. XVI Encontro Nacional de Pesquisa em Ciência da
Informação, 2015, João Pessoa.

[11] BRAGA, Claudomilson Fernandes; TUZZO, Simone Antoniaci. Artigo Original Dados
abertos à brasileira: aspectos de uma cidadania denegada. Comunicação & Inovação, [s. l.], v.
18, ed. 37, 2017.

28