SNAP

1. Ciclo de vida

2. Tipología

3. Ámbito de aplicación

4. Lenguaje de programación

Descripción

Stanford Network Analysis Platform (SNAP) es una librería de propósito general para el análisis de redes y minería de grafos. Está escrito en C ++ y se escala fácilmente a redes con cientos de millones de nodos y miles de millones de aristas o conexiones. Ofrece la manipulación de manera eficiente de grandes grafos, cálculo de las propiedades estructurales y admite atributos en nodos y bordes.

SNAP también está disponible a través de NodeXL, que es una interfaz gráfica que integra el análisis de redes en Microsoft Office y Excel.

Además, está disponible una interfaz de SNAP para Python, Snap.py, lo que nos proporciona los beneficios de rendimiento de SNAP, combinados con la flexibilidad de Python.

Enlace al recurso

https://snap.stanford.edu/index.html

Ejemplos de uso

El siguiente ejemplo muestra cómo utilizar la implementación de SNAP para Python, Snap.py para la definición de un grafo dirigido con sus respectivas conexiones (se han numerado las líneas para mejorar su lectura):

1     import snap      
2     G1 = snap.TNGraph.New()
3     G1.AddNode(1)
4     G1.AddNode(5)
5     G1.AddNode(12)
6    
7     G1.AddEdge(1,5)
8     G1.AddEdge(5,1)
9     G1.AddEdge(5,12)

Cada línea da lugar a la definición del grafo de la siguiente manera:

  • En la línea 1 importamos la librería de Snap.
  • La línea 2 es la encargada de la inicialización del grafo dirigido.
  • Entre las líneas 3 y 5 se añaden los nodos del grafo, con identificadores 1, 5 y 12 respectivamente.
  • Entre las líneas 7 y 9 se establecen las relaciones (enlaces) entre nodos: del 1 al 5, del 5 al 1 y del 5 al 12.

Enlaces relacionados

https://snap.stanford.edu/snappy/doc/index.html