Visualización de Big data mediante el concepto" buscar, mostrar contexto y expandir bajo demanda " [cerrado]


Estoy tratando de visualizar una red realmente enorme (nodos de 3M y bordes de 13M) almacenada en una base de datos. Para la interactividad en tiempo real, planeo mostrar solo una parte del gráfico en función de las consultas de los usuarios y expandirlo bajo demanda. Por ejemplo, cuando un usuario hace clic en un nodo, amplío su vecindario. (Esto se llama "Buscar, Mostrar contexto, Expandir bajo demanda" en este documento ).

He mirado en varias herramientas de visualización, incluyendo Gephi, D3, etc. Toman un archivo de texto como entrada, pero no tengo idea de cómo pueden conectar una base de datos y actualizar el gráfico en función de la interacción de los usuarios.

El linked paper implementó un sistema como ese, pero no describieron las herramientas que estaban usando.

¿Cómo puedo visualizar dichos datos con los criterios anteriores?

Author: user4157124, 2014-02-20

1 answers

Hay varias soluciones por ahí, pero básicamente cada uno está utilizando el mismo enfoque:

  1. crea una capa encima de tu fuente para permitirte realizar consultas de alto nivel
  2. crear una capa front end para hablar con el nivel explicado anteriormente
  3. utilice la herramienta de visualización que desee

Como señaló miro marchi , hay varias soluciones para lograr este objetivo, algunas de ellas bloqueadas a fuentes de datos particulares, otras con mucha más libertad, pero que requiere algunas habilidades de codificación.

Fuente de datos

Comenzaría con la elección del tipo de fuente: del tipo de datos probablemente elegiría Neo4J, Titan u OrientDB (si te apetece algo más exótico con algún tipo de flexibilidad). Todos ellos ofrecen una API REST JSON, el primero con un sistema y lenguaje propietario (Cypher) y los otros dos utilizando el sistema Blueprint / Rexster. Neo4J también es compatible con la pila de Blueprint si te gusta Gremlin over Cypher.

Para otras soluciones, como NoSQL o SQL db, probablemente tenga que codificar una capa anterior con la API REST relativa, pero funcionará también, aunque no lo recomendaría para el tipo de datos que tiene.

Ahora, solo queda el tercer punto y aquí tienes varias opciones.

Herramientas de visualización genéricas

  • Sigma.js es una herramienta gratuita y de código abierto para la visualización de gráficos bastante agradable. Linkurious está usando una versión fork de ella hasta ahora como sé en su producto.

  • Keylines es una herramienta de visualización de gráficos comercial, con estilos avanzados, análisis y diseños, y proporcionan demostraciones de copiar/pegar si está utilizando Neo4J o Titan. No es gratuito, pero es compatible con navegadores más antiguos - IE7 en adelante...

  • VivaGraph es otra herramienta gratuita y de código abierto para la herramienta de visualización de gráficos, pero tiene una comunidad más pequeña en comparación con SigmaJS.

  • D3.js es el factótum para la visualización de datos, puedes hacer básicamente todo tipo de visualización basada en eso, pero la curva de aprendizaje es bastante empinada.

  • Gephi es otra solución de escritorio libre y de código abierto, tienes que usar un plugin externo con eso probablemente, pero soporta la mayoría de los formatos que hay - GraphML, CSV, Neo4J, etc...

Proveedor específico

  • Linkurious es una herramienta completa específica de Neo4J comercial para buscar/investigar datos.

  • Neo4J web - admin consola-incluso si es básico que han mejorado mucho con la versión más reciente 2.x.x, basado en D3.js.

También hay otras soluciones que probablemente olvidé mencionar, pero las anteriores deberían ofrecer una buena variedad.

Otros nodos

Las herramientas JS anteriores visualizarán bien hasta 1500/2000 nodos a la vez, debido a los límites de JS.
Si desea visualizar cosas más grandes, mientras se expande, recomendaría soluciones de escritorio como Gephi.

Descargo de responsabilidad

Soy parte del equipo de desarrollo de the Keylines.

 33
Author: MarcoL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:37