Stanford Network Analysis Platform (SNAP) is a general purpose, high performance system for analysis and manipulation of large networks. Graphs consists of nodes and directed/undirected/multiple edges between the graph nodes. Networks are graphs with data on nodes and/or edges of the network.
The core SNAP library is written in C++ and optimized for maximum performance and compact graph representation. It easily scales to massive networks with hundreds of millions of nodes, and billions of edges. It efficiently manipulates large graphs, calculates structural properties, generates regular and random graphs, and supports attributes on nodes and edges. Besides scalability to large graphs, an additional strength of SNAP is that nodes, edges and attributes in a graph or a network can be changed dynamically during the computation.
SNAP was originally developed by Jure Leskovec in the course of his PhD studies. The first release was made available in Nov, 2009. SNAP uses a general purpose STL (Standard Template Library)-like library GLib developed at Jozef Stefan Institute. SNAP and GLib are being actively developed and used in numerous academic and industrial projects.
Download SNAPDownload SNAP HERE! Complete source code for the core SNAP and GLib libraries is available under the BSD license. SNAP works on Windows with Visual Studio or Cygwin with GCC, Mac OS X, Linux and other Unix variants with GCC installed. SNAP is largely self-contained and has minimal dependency requirements on other packages. |
Quick IntroductionA high level overview of SNAP usage. |
Installation and CompilationInstructions on how to compile SNAP programs. |
Package DescriptionA description of SNAP distribution package. |
TutorialA tutorial on Large Scale Network Analytics with SNAP, given at the ICWSM-14 conference, June 2014. |
User Reference ManualA detailed cross-reference to all classes and methods in SNAP. |
Frequently Asked QuestionsSee the SNAP FAQs page for answers to commonly asked questions. |
Mailing ListFor questions not covered by the frequently covered questions or a discussion about SNAP installation, use, and development, please use the SNAP Users mailing list. To post to the group, send your message to snap-discuss at googlegroups dot com. |
GitHub SNAP RepositoryA public development repository is available at GitHub snap-stanford/snap. |
Developer Reference ManualAn extensive cross-reference to all classes and methods in SNAP. |
SNAP C++ Programming GuideA programming guide for contributors to the core SNAP library. |