start see open how edition downloads community d3.js visualization neo4j graph-databases graph-visualization

d3.js - open - neo4j see graph



¿Es D3.js la opción correcta para la visualización en tiempo real de los datos de Neo4j Graph DB (4)

Soy un estudiante de investigación de CS en UW, y mi grupo está a punto de intentar visualizar el tráfico de red específico que se coloca en un DB de gráfico neo4j en tiempo real.

He leído acerca de muchas herramientas diferentes como gephi, cytoscape, rickshaw (basado en D3.js), algunas otras y D3.js.

Hasta ahora estamos avanzando con D3.js, pero queríamos obtener la opinión de la comunidad. No podemos usar cytoscape debido a neo4j, y sentimos que D3.js funcionaría mejor con datos semi-grandes en un entorno rápido en tiempo real.

Sugerencias?

Quizás para otra pregunta, pero también siéntase libre de aportar: ¿La mejor manera de implementar neo4j? Java, Ruby, node.js?

¡Gracias!


Creo que D3 es genial, sin embargo, recientemente, hubo una charla sobre Sigma.js en FOSDEM, que explica que es mejor escalas para gráficos más grandes. Véase también http://thewhyaxis.info/hairball/


Mi entendimiento: Gephi no hace bien con las actualizaciones en tiempo real; se utiliza generalmente en datos estáticos.

Una consideración importante: ¿cuál es la visualización que desea presentar? ¿Es un gráfico dirigido? ¿Cíclico? ¿Ponderado? Etiquetas adicionales?

Algunos kits de herramientas son "fijos" en lo que pueden mostrar, pero facilitan la presentación de un gráfico. Otros (como d3) son muy extensibles, por lo que puedes crear casi cualquier cosa.

Para los propósitos del formato , puede obtener mejores respuestas si puede precisar las limitaciones y necesidades de su sistema (tasa de datos real, cliente ligero / grueso, tipo de visita, etc.)


No hay una solución ideal para este tipo de problema y la mayoría depende de lo que tenga en mente para hacer, el equipo y el presupuesto (de dinero y tiempo) que tiene.

No te recomendaría D3, a menos que tengas que cumplir con uno de los siguientes:

  • Quieres crear una nueva forma de visualizar tus datos.
  • tienes personas capacitadas en tu equipo, ese puedes ser tú, con D3
  • ya tienes otros widgets de D3 / viz para integrar

Si no cumple con ninguna de las entradas anteriores, pondría D3 en un lado y le diría que eche un vistazo a:

  • SigmaJS , Open Source y librería gratuita de Javascript.
  • KeyLines , Herramientas de Javascript comerciales.
  • VivaGraphJS , Open Source y biblioteca gratuita de JS.

Descargo de responsabilidad : soy uno de los desarrolladores de KeyLines.

Dependiendo del tamaño de los datos que tenga, la elección de la biblioteca puede cambiar: si planea no tener más de 3/400 nodos en su gráfico y no necesita estilos / animaciones particulares, SigmaJS creo que está más que bien; Si está buscando algo más avanzado para el estilo o la animación, recomendaría KeyLines, ya que está diseñado para manejar este tipo de situaciones (proporcionando un diseño incremental) y escala hasta 2000 nodos sin problemas, aunque podría sugerir Para tener un filtro en un lado con este tamaño.

Me gustaría nombrar a VivaGraph como último recurso: SigmaJS también tiene un renderizador WebGL y proporciona una IMHO mucho más agradable.
VivaGraphJS pronto será reemplazado por ngraph que usará un ngraph agnóstico para los renders: puedes usar PIXI, Fabric o lo que quieras ...

Utilizar un renderizador WebGL tiene sentido cuando carga sus activos una vez y los reutiliza todo el tiempo: si está diseñando los elementos de su gráfico en un escenario en tiempo real, no hay ventajas en Canvas IMHO.


echa un vistazo a vivagraph que utiliza webgl para la representación y se adapta muy bien también para redes más grandes. Tienen algunos buenos ejemplos para los realmente grandes (FB, Amazon).

http://github.com/anvaka/VivaGraphJS