Hola Diego,Pues sí, es una de las cosas fundamentales que tengo pendiente [1], y además lo prometimos cuando hicimos el crowdfunding. La verdad es que hasta ahora no hay nada hecho ni pensado, pero yo he empezado a recopilar referencias interesantes en el issue de github [1].Justo ayer ví una guía de Heroku sobre cómo diseñan ellos sus APIs [2]; de momento lo he mirado sólo en diagonal, pero lo bueno es que empiezan a definir la API en JSON, de forma genérica, y sólo al final se preocupan de generar los clientes en Python o Ruby -algo que además hacen de forma automática, creo.
¿Qué problemas tuvisteis con el API de los diputados? Por empezar a pensar nosotros qué recursos y métodos ofrecemos.
¿Qué problemas tuvisteis con el API de los diputados? Por empezar a pensar nosotros qué recursos y métodos ofrecemos.Sobre todo a la hora de cuando un recurso de la API esta formado por varias tablas que tiene otros recursos embebidos, el mayor problema es por como django ejecuta las consultas, al tener varias relaciones acaba haciendo muchas peticiones.
Por ejemplo esta consulta tarda bastante http://proyectocolibri.es/api/v1/voting_full/
¿Sobre los datos que ofrecer en la API cuales creeis que deberian ofrecerse?
On Thursday, 22 May 2014 at 21:47, Guido wrote:
Hola David y compañía. Además de lo que habéis dicho, a mi me gustaría proponer una API de búsqueda de relaciones, que te devuelva las relaciones que hay entre dos entidades (el caso de uso más común "dime qué relación hay entre X e Y"), donde X e Y pueden ser personas, empresas o mezcla.Creo que da mucho valor porque permite buscar relaciones de poder encubiertas y desarrollar nuevas aplicaciones y servicios (p.e. aplicación móvil que me diga si un producto que voy a comprar lo ha fabricado una empresa relacionada con la trama Gürtel).
Por otro lado, no sé qué BD utilizáis ahora para almacenar los grafos, pero sería muy interesante que fuese compatible con Gremlin (https://github.com/tinkerpop/gremlin/wiki) y en general con TinkerPop que es un conjunto de herramientas abiertas para trabajar con grafos. Hay bases de datos de grafos (neo4j, titan, ...) que pueden exportar un acceso Gremlin/Rexster, por ejemplo.
Sobre el formato, yo empezaría con JSON.
Enhorabuena por el trabajo que estáis haciendo.
Imagino que lo decías por lo de encontrar relaciones entre entidades, me temo que tendré que montarme el algoritmo yo mismo. De todas formas, si alguien quiere jugar con los datos en algo tipo neo4j no debería costar mucho exportar toda la informacion de qm en algún formato sencillo e importarlo en otro sitio. Si alguien está interesado lo miramos.
Con neo4j si que habría facilidades para hacer cálculos sobre el grafo (p.e. encontrar relaciones entre 2 entidades). Si me podéis dejar exportada la BD de QM en algún sitio puedo importar esos datos en un neo4j y hacer unas pruebas de búsqueda de relaciones a ver qué tal va.
También quería jugar con distintas formas de representar los grafos (p.e. detectar y representar clusters como el de "El Colegio del Pilar" o nodos y relaciones con distinto tamaño/color según su peso o su tipo), aunque esto es otro tema.
Me he importado los datos y por ahora sin problemas (si en algún momento los vuelves a exportar, exporta un id numérico de cada entidad, es más fácil usar luego los datos).
A ver si saco un rato y veo cómo funciona la búsqueda en general y la búsqueda de relaciones con neo4j.
PD. ¿Estos datos están sujetos a algún tipo de licencia o puedo usarlos y escribir cosas en mi blog (citando que vienen de civio)?