[okfn-br] Fwd: [Gastosabertos-dev] CSV -> Restful API

Everton Zanella Alvarenga tom em okfn.org.br
Quarta Março 25 09:32:40 UTC 2015


Discussão interessante ocorrendo na lista de desenvolvimento do Gastos
Abertos:
https://lists.okfn.org/pipermail/gastosabertos-dev/2015-March/000168.html

---------- Mensagem encaminhada ----------
De: Edgar Zanella Alvarenga <e em vaz.io>
Data: 24 de março de 2015 22:38
Assunto: [Gastosabertos-dev] CSV -> Restful API
Para: Gastosabertos Dev <gastosabertos-dev em lists.okfn.org>


Eu comentei no email anterior uma idéia de ferramenta para gerar API's
RESTful a partir de um CSV. Deixei para descrever em detalhes num outro
email, que é este:

 Criamos para a visualização da página da Receita uma API contruída
 em cima do Flask utilizando a extensão RESTful. Se quisermos criar uma
 nova API a partir de um de nossos outros dados iremos provavelmente
 replicar boa parte do trabalho que tivemos, copiando e colando código,
 mudando nomes aqui e acolá, tirando um argumento de busca, adicionando
 outros. Me pareceu que todo esse processo poderia ser automatizado de
 certa forma.

Pensando nisso acabei pensando no processo para criação da API e tentei
generalizar parcialmente o que foi feito. Me parece que se tivermos um
CSV deveremos:

 1 Identificar os tipos das colunas.
 2 Identificar quais coluans possivelmente possuem um identificador único.
 3 Quais colunas possuem dados categóricos.
 4 Quais colunas possuem algum tipo de relação hierárquica.

Todos os passos acima podem ser automatizados ou serem realizados com ajuda
de um humano, perguntando se as inferências realizadas foram corretas ou
não.

O passo 4 pode ser feito de forma algorítmica mas com confirmação do usuário
analisando:

 * Coluna X possui quantas linhas no CSV?
 * Coluna W possui quantas linhas no CSV?

Se número de linhas de W for maior que X, pode-se supor que X está numa
hierarquia
acima de W. O número de linhas de W será maior ou igual ao número de linhas
de X,
conseguem compreender?

Resumindo, a idéia é que depois de poucos passos, após uma inferência
automatizada
seja criado um modelo no banco de dados e diversos endpoints para ele. Essa
ferramenta
iria muito além de dados de gastos públicos, o que é excelente se formos
pensar
em termos estratégicos para conseguirmos mais desenvolvedores interessados
no projeto.
De certa forma isso é o que é feito atualmente no OpenSpending, mas a parte
de inferência
é inexistente, e o modelo de dados que geram é muito restrito, limitando-se
a um
modelo possuindo uma coluna temporal e uma com informação float.

Eu dei uma pesquisada rápida a algum tempo atrás por algo desse tipo e não
obtive muitos
resultados, apenas discussões onde técnicos ou developers demonstraram ter
interesse
que uma ferramenta do gênero existisse. O máximo que encontrei foi isso:

 * https://github.com/project-open-data/csv-to-api

O que acham? Ambicioso demais? Genérico demais? Too much work?

Idéias, críticas e sugestões, não sejam polidos!
E.
_______________________________________________
Gastosabertos-dev mailing list
Gastosabertos-dev em lists.okfn.org
https://lists.okfn.org/mailman/listinfo/gastosabertos-dev



-- 
Everton Zanella Alvarenga (also Tom)
Open Knowledge Brasil - Rede pelo Conhecimento Livre
http://br.okfn.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.okfn.org/pipermail/okfn-br/attachments/20150325/c5178513/attachment-0004.html>


Mais detalhes sobre a lista de discussão okfn-br