Si bien es cierto que los navegadores son, por definición, menos potentes que otras herramientas de escritorio (Gephi por ejemplo), estos límites cada vez resultan una restricción menor para nuestros objetivos. Sirva el ejemplo de dos utilidades para representar grafos con una gran cantidad (miles) de nodos, para ver que tenemos margen para sacar partido de las representaciones de datos en HTML5.
La posición de los papers se basa en las citas / referencias, así que un paper está más cerca de los artículos que ha citado o de los que le citan. El modelo utilizado para medir las distancias es el de muelle (Spring) basado en la ley de Hooke (la clásica de los muelles). Las referencias se obtienen procesando las fuentes LaTeX / PDF de los artículos cargados en el repositorio
Se puede aplicar zoom sobre el mapa (con la ruedecita del ratón, y arrastrando), tras lo cual empezarán a aparecer etiquetas y los nombres de autores de los artículos. Por lo que se desprende de la información que hay en el sitio web y en su blog, el código fuente no parece libremente disponible para descarga, pero sí proporcionan una utilidad llamada My Paperscape, en la que se puede cargar una propia versión de datos de gráficos.
Además de lo anterior, llama la atención lo ligera que resulta la carga, y los tiempos de respuesta de las interacciones. Aunque vemos ejemplos de sigma.js con muchos menos nodos que en el caso de paperscape, las sensaciones son muy buenas e invita a trabajar con él para sacarle el jugo.
Por lo que respecta a esta biblioteca javascript para la visualización de grafos, sólo hay un detalle importante en el momento de escribir este post: su autor anunción hace algo más de un mes que realizaría un reinicio de esta biblioteca de código, con el objetivo de hacerla más extensible y mantenible, por lo que lanzó la rama 1.0.0, incluyendo allí los detalles del cambio.
La fecha de lanzamiento que se ha planteado el autor para esta revisión es el 14 de Febrero próximo, pero para los impacientes que no teman perder el tiempo por los cambios que pueda tener, se pueden descargar esta rama. Se espera que incluya soporte para webGL y para dispositivos táctiles.
Así pues, dos opciones interesantes, con enfoques muy distintos, y con aplicaciones variadas. Personalmente me quedo con sigma.js porque se ajusta más a lo que yo necesito (una herramienta que pueda adaptar a mis objetivos), pero em ambos casos hay que reconocer el esfuerzo y la calidad del resultado final.
© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.