Descripció
Stanford Network Analysis Platform (SNAP) és una llibreria de propòsit general per a l’anàlisi de xarxes i mineria de grafs. Està escrit en C ++ i s’escala fàcilment a xarxes amb centenars de milions de nodes i milers de milions d’arestes o connexions. Ofereix la manipulació de manera eficient de grans grafs, càlcul de les propietats estructurals i admet atributs en nodes i vores.
SNAP també està disponible per mitjà de NodeXL, que és una interfície gràfica que integra l’anàlisi de xarxes en Microsoft Office i Excel.
A més, està disponible una interfície de SNAP per a Python, Snap.py, la qual cosa ens proporciona els beneficis de rendiment de SNAP, combinats amb la flexibilitat de Python.
Enllaç al recurs
https://snap.stanford.edu/index.html
Exemples d’ús
El següent exemple mostra com utilitzar la implementació de SNAP per a Python, Snap.py per a la definició d’un graf dirigit amb les seves respectives connexions (s’han numerat les línies per a millorar-ne la 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ínia dona lloc a la definició del graf de la següent manera:
- A la línia 1 importem la llibreria de
- La línia 2 és l’encarregada de la inicialització del graf dirigit.
- Entre les línies 3 i 5 s’afegeixen els nodes del graf, amb identificadors 1, 5 i 12 respectivament.
- Entre les línies 7 i 9 s’estableixen les relacions (enllaços) entre nodes: de l’1 al 5, del 5 a l’1 i del 5 al 12.