Download the C++ source code of the SNAP library:
SNAP 1.8 (Dec 31, 2011)
SNAP is distributed under the BSD license.
Download NodeXL which is a graphical front-end that integrates network analysis and SNAP into Microsoft Office and Excel. Using NodeXL, users without programming skills can make use of elements of the SNAP.
Short tutorial on how to use SNAP.
The file contains the following directory structure:
Brief description of functionality implemented in various files of SNAP library (directory SnapLib):
File | Description |
---|---|
alg.h | Simple algorithms like counting node degrees, simple graph manipulation (adding/deleting self edges, deleting isolated nodes) and testing whether graph is a tree or a star |
anf.h | Approximate Neighborhood Function: linear time algorithm to approximately calculate the diameter of massive graphs |
arxiv.h | Functions for parsing Arxiv data and standardizing author names |
bfsdfs.h | Algorithms based on Breath First Search (BFS) and Depth First Search (DFS): shortest paths, spanning trees, graph diameter, and similar |
bignet.h | Memory efficient implementation of a network with data on nodes. Use when working with very large networks. |
cmty.h | Algorithsm for network community detection: Modularity, Girvan-Newman, Clauset-Newman-Moore |
centr.h | Node centrality measures: closeness, betweenness, PageRank, ... |
cliques.h | Maximal clique detection and Clique Percolation method. |
cncom.h | Connected components: weakly, strongly and bi connected components, articular nodes and bridge edges |
dblp.h | Parser for XML dump of DBLP data |
ff.h | Forest Fire model for generating networks that densify and have shrinking diameters |
gbase.h | Defines flags that are used to identify functionality of graphs |
ggen.h | Various graph generators: random graphs, copying model, preferential attachment, RMAT, configuration model, Small world model |
ghash.h | Hash table with directed graphs (TNGraph) as keys. Uses efficient adaptive approximate graph isomorphism testing to scale to large graphs. Useful when one wants to count frequencies of various small subgraphs or cascades. |
gio.h | Graph input output. Methods for loading and saving various textual and XML based graph formats: Pajek, ORA, DynNet, GraphML (GML), Matlab |
graph.h | Implements graph types TUNGraph, TNGraph and TNEGraph |
gstat.h | Computes many structural properties of static and evolving networks. |
gsvd.h | Eigen and singular value decomposition of graph adjacency matrix |
gviz.h | Interface to GraphViz. |
imdbnet.h | Actors-to-movies bipartite network of IMDB. |
kcore.h | K-core decomposition of networks |
kronecker.h | Kronecker Graph generator and KronFit algorithm for estimating parameters of Kronecker graphs |
ncp.h | Network community profile plot. Implements local spectral graph partitioning method to efficiently find communities in networks |
network.h | Implements network types TNodeNet, TNodeEDatNet and TNodeEdgeNet |
signnet.h | Networks with signed (+1, -1) edges that can denote trust/distrust between the nodes of the network |
subgraphenum.h | Sub-graph enumeration and network motif computations |
sir.h | SIR epidemic model and SIR parameter estimation |
Snap.h | Main include file of the library |
spinn3r.h | Past parser for loading blog post data from Spinn3r |
statplot.h | Plots of various structural network properties: clustering, degrees, diameter, spectrum, connected components |
subgraph.h | Extracting subgraphs and converting between different graph/network types |
timenet.h | Temporally evolving networks |
trawling.h | Algorithm of extracting bipartite cliques from the network |
triad.h | Functions for counting triads (triples of connected nodes in the network) and computing clustering coefficient |
util.h | Utilities to manipulate PDFs, CDFs and CCDFs. Quick and dirty string manipulation, URL and domain manipulation routines |
wgtnet.h | Weighted networks |
wikinet.h | Networks based on Wikipedia |
Current and previous releases of the SNAP library are available here.