Open positions
Open research positions in SNAP group are available here.

SNAP Package Description

SNAP Directory Structure

The SNAP package contains the following directories:

Example Applications

Functionality of the Core SNAP Library

Brief description of SNAP functionality implemented in various files in the distribution package:

snap-core
alg.hSimple 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.hApproximate Neighborhood Function: linear time algorithm to approximately calculate the diameter of massive graphs.
attr.hClass for sparse attributes TAttr and supporting classes.
bfsdfs.hAlgorithms based on Breath First Search (BFS) and Depth First Search (DFS): shortest paths, spanning trees, graph diameter, and similar.
bignet.hMemory efficient implementation of a network with data on nodes. Use when working with very large networks.
casc.hFunctions for building cascades from a list of events.
centr.hNode centrality measures: closeness, betweenness, PageRank, ...
cmty.hAlgorithms for network community detection: Modularity, Girvan-Newman, Clauset-Newman-Moore.
cncom.hConnected components: weakly, strongly and biconnected components, articular nodes and bridge edges.
conv.hConversion functions from relational tables to graphs and networks.
coreper.hCore-periphery algorithms.
ff.hForest Fire model for generating networks that densify and have shrinking diameters.
flow.hMaximum flow algorithms.
gbase.hDefines flags that are used to identify functionality of graphs.
ggen.hVarious graph generators: random graphs, copying model, preferential attachment, RMAT, configuration model, Small world model.
ghash.hHash 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.hGraph input output. Methods for loading and saving various textual and XML based graph formats: Pajek, ORA, DynNet, GraphML (GML), Matlab.
graph.hImplements graph classes TUNGraph, TNGraph, TNEGraph, and TBPGraph.
graphmp.hImplements graph classes with support for fast multi-threaded operations TNGraphMP.
gstat.hComputes many structural properties of static and evolving networks.
gsvd.hEigen and singular value decomposition of graph adjacency matrix.
gviz.hInterface to Graphviz.
kcore.hK-core decomposition of networks.
mmnet.hImplements multimodal network class TMMNet and supporting classes TModeNet and TCrossNet.
network.hImplements network classes TNodeNet, TNodeEDatNet, TNodeEdgeNet, TNEANet, TUndirNet, and TDirNet.
networkmp.hImplements network classes with support for fast multi-threaded operations TNEANetMP.
numpy.hConversion functions between SNAP and numpy types.
randwalk.hPersonalized PageRank.
sim.hAlgorithms for K-nearest neighbors and Jaccard similarity.
Snap.hMain include file of the library.
statplot.hPlots of various structural network properties: clustering, degrees, diameter, spectrum, connected components.
subgraph.hExtracting subgraphs and converting between different graph and network classes.
table.hImplements relational table class TTable.
timenet.hTemporally evolving networks.
triad.h Functions for counting triads (triples of connected nodes in the network) and computing clustering coefficient.
util.hUtilities to manipulate PDFs, CDFs and CCDFs. Quick and dirty string manipulation, URL and domain manipulation routines.
snap-adv
agm*.hImplementation of the Affiliation Graph Model (AGM).
biasedrandomwalk.hBiased random walk for node2vec.
cascdynetinf.hDynamic network inference from cascade data (infopath).
cascnetinf.hNetwork inference from cascade data (netinf).
circles.hIdentifying users social circles.
cliques.hMaximal clique detection and Clique Percolation method.
graphcounter.hPerforms fast graph isomorphism testing to count the frequency of topologically distinct sub-graphs.
kronecker.hKronecker Graph generator and KronFit algorithm for estimating parameters of Kronecker graphs.
localmotifcluster.hThe MAPPR local clustering algorithm for finding sets of nodes in a directed/undirected graph around a targeted seed node with low motif conductance.
mag.hImplements the Multiplicative Attribute Graph (MAG).
motifcluster.hA spectral method for motif-based clustering.
n2v.hImplementation of node2vec.
ncp.hNetwork community profile plot. Implements local spectral graph partitioning method to efficiently find communities in networks.
rolx.hNode role detection.
subgraphenum.hSub-graph enumeration and network motif computations.
temporalmotifs.hImplementation of algorithms for counting temporal motifs.
word2vec.hCustomized implementation of word2vec for node2vec.
snap-exp
arxiv.hFunctions for parsing Arxiv data and standardizing author names.
dblp.hParser for XML dump of DBLP data.
imdbnet.hActors-to-movies bipartite network of IMDB.
mxdag.hFinds the maximum directed-acyclic subgraph of a given directed graph.
signnet.hNetworks with signed (+1, -1) edges that can denote trust/distrust between the nodes of the network.
sir.h SIR epidemic model and SIR parameter estimation.
spinn3r.hPast parser for loading blog post data from Spinn3r.
trawling.hAlgorithm of extracting bipartite cliques from the network.
wgtnet.hWeighted networks.
wikinet.hNetworks based on Wikipedia.