A curated list of awesome network analysis resources.
Go to file
François 64647677a6 tiny fixes 2016-04-12 15:21:17 +02:00
README.md tiny fixes 2016-04-12 15:21:17 +02:00

README.md

Awesome Network Analysis Awesome

An awesome list of resources to construct, analyze and visualize network data.

Inspired by Awesome Deep Learning, Awesome Math and others.

Table of Contents

Books

General Overviews

  1. Linked: The New Science of Networks, by Albert-László Barabási - Selected chapters online (2002).

Graph Theory

  1. Graph Theory, by Reinhard Diestel - Full book online (2000).

Method-specific

  1. Exponential Random Graph Models for Social Networks, edited by Dean Lusher, Johan Koskinen and Garry Robins (2013).

Software-specific

  1. Analyzing Social Networks (using UCINET), by Stephen P. Borgatti, Martin G. Everett and Jeffrey C. Johnson (2013).
  • Network Analysis with R/igraph, by Gabor Csárdi, Thomas Nepusz and Eduardo M. Airoldi (in preparation).
  • Network Analysis with Python/igraph, by Thomas Nepusz, Gabor Csárdi and Eduardo M. Airoldi (in preparation).
  • Statistical Analysis of Network Data with R, by Eric D. Kolaczyk and Gabor Csárdi (2014).

Topic-specific

  1. Comparing Policy Networks. Labor Politics in the U.S., Germany, and Japan, by David Knoke et al. (1996).
  2. Dynamical Processes on Complex Networks, by Alain Barrat, Marc Barthélemy and Alessandro Vespignani (2008).

Conferences

  1. European Conference on Social Networks (EUSN).

Courses

  1. CS 8803-NS: Network Science, by Constantine Dovrolis - Mostly open access readings (Georgia Tech, 2015).

Datasets

See also Mangal, an online platform and collection of tools to analyze, archive and share ecological network data (preprint, Python package, R package).

  1. Barabási and Albert Network Datasets.

Journals

Journals that are not fully open-access are marked as "gated".

  1. Applied Network Science (Springer Open).

Professional groups

  1. AFS RT 26 “Réseaux sociaux” - Thematic Network of the French Sociological Association, in French.

Research Centers

  1. Center for Network Science, Central European University, Budapest - Features a PhD in Network Science program.

Research Groups

  1. Annenberg Networks Network - Research group studying social networks at the University of Southern California.

Review Articles

  1. "Biological Networks" (Handbook of Graph Drawing and Visualization, 2013).

Software

Several links in this section come from the NetWiki Shared Code page.
See also the Social Network Analysis Project Survey (blog post), an earlier attempt to chart social network analysis tools that links to many commercial platforms not included in this list, such as Detective.io.
Also note that the Wikipedia English entry on Social Network Analysis Software links to many commercial that are often very expensive, outdated, and far from being awesome by any reasonable standard.

  1. Cytoscape - Cross-platform Java program to build, analyze and visualize networks.
  • Discourse Network Analyzer (DNA) - Qualitative content analysis tool with network export facilities, written in Java with R integration.
  • Gephi - Cross-platform, free and open source tool for network visualization.
  • GLEAMviz Simulator - Cross-platform tool intended for the prediction of human epidemics.
  • Graphviz - Cross-platform software to draw graphs in the DOT graph drawing language.
  • MuxViz - Cross-platform, free and open source tool to study multilayer networks, based on R and GNU Octave.
  • Neo4j - Open source, scalable graph database, used by companies like Linkurious.
  • NodeXL - Free, open-source template to explore network graphs with Microsoft Excel.
  • ORA-LITE - Windows program for dynamic meta-network assessment and analysis.
  • Pajek - Windows program for large network analysis, free for noncommercial use.
  • PNet - Simulation and estimation of exponential random graph models (ERGMs), written in Java for Windows.
  • Radatools - Set of tools intended for the analysis of complex networks, built on top of Radalib, a library written in Ada.
  • Siena - Simulation Investigation for Empirical Network Analysis. Formerly a Windows program, now developed as the RSiena R package.
  • SoNIA (Social Network Image Animator) - Tool to visualize dynamic or longitudinal network data. Formerly a Java program, now developed as the ndtv R package.
  • UCINET - Windows commercial software package for the analysis of social network data.
  • Visone - Cross-platform Java network analysis and visualization program, free for noncommercial use.
  • VOSviewer - Cross-platform Java tool for constructing and visualizing bibliometric networks.

Algorithms

Network placement and community detection algorithms that do not fit in any of the next subsections.
See also the Awesome Algorithms and Awesome Algorithm Visualization lists for more algorithmic awesomess.

  1. CONGA and CONGO - Algorithms to detect overlapping communities in networks, written in Java.

C / C++

For more awesome C / C++ content, see the Awesome C and Awesome C / C++ lists.

  1. Benchmark Graphs to Test Community Detection Algorithms - C++ code to generate weighted and unweighted graphs.

JavaScript

For more awesome JavaScript libraries, see the Awesome JavaScript list.

  1. d3.js - JavaScript visualization library that can plot force-directed graphs.

MATLAB

  1. CONTEST - Random network toolbox that implements nine network models.
  • Generalized Louvain - A variant of the Louvain community detection algorithm.
  • MatlabBGL - A graph library for Matlab, based on the Boost graph library.
  • MATLAB RBN Toolbox - Simulation und visualization of Random Boolean Networks.

Python

Most items below are from a Google spreadsheet by Michał Bojanowski and others.
For more awesome Python packages, see the Awesome Python list.

  1. graph-tool - Python module for network manipulation and analysis, written mostly in C++ for speed.
  • graphviz - Python renderer for the DOT graph drawing language.
  • linkpred - Assess the likelihood of potential links in a future snapshot of a network.
  • networkx - Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
  • python-igraph - Python version of the igraph network analysis package.

R

See also this Google spreadsheet by Ian McCulloh and others.
For more awesome R resources, see the Awesome R and Awesome R Books lists.

  1. Bergm - Tools to analyse Bayesian exponential random graph models (BERGM).
  • CCAS - A statistical model for communication networks.
  • concoR - A translation of the CONCOR network blockmodeling algorithm (blog post).
  • ContentStructure - implements an extension to the Topic-Partitioned Multinetwork Embeddings (TPME) model.
  • DiagrammeR - Connects R, RStudio and JavaScript libraries to draw graph diagrams (blog post).
  • ergm - Estimation of Exponential Random Graph Models (ERGM).
  • GERGM - Estimation and diagnosis of the convergence of Generalized Exponential Random Graph Models (GERGM).
  • geomnet - A single-geometry approach to network visualization with ggplot2.
  • ggnetwork - A multiple-geometries approach to plot network objects with ggplot2.
  • ggraph - A grammar of graph graphics built in the spirit of ggplot2.
  • hergm - Estimate and simulate hierarchical exponential-family random graph models (HERGM) with local dependence.
  • igraph - A collection of network analysis tools.
  • influenceR - Compute various node centrality network measures by Burt, Borgatti and others.
  • latentnet - Latent position and cluster models for network objects.
  • networkD3 - D3 JavaScript network graphs from R.
  • ndtv - Tools to construct animated visualizations of dynamic network data in various formats.
  • network - Basic tools to manipulate relational data in R.
  • networkDynamic - Support for dynamic, (inter)temporal networks.
  • rgexf - Export network objects from R to GEXF for manipulation with software like Gephi or Sigma.
  • Rgraphviz - Support for using the Graphviz library and its DOT graph drawing language from within R.
  • RSiena - Simulation Investigation for Empirical Network Analysis; fits models to longitudinal network data.
  • sna - Basic network measures and visualization tools.
  • spectralGOF - Compute the "spectral goodness of fit" (SGOF), a measure of how well a network model explains the structure of an observed network.
  • spnet - Methods for dealing with spatial social networks.
  • statnet - The project behind many R network analysis packages (mailing-list).
  • tergm - Fit, simulate and diagnose models for temporal exponential-family random graph models (TERGM).
  • tnet - Network measures for weighted, two-mode and longitudinal networks.
  • tsna - Tools for temporal social network analysis.
  • visNetwork - Using vis.js library for network visualization.
  • xergm - Extensions of Exponential Random Graph Models (ERGM, GERGM, TERGM, TNAM and REM).

Syntaxes

Generic graph syntaxes intended for use by several programs.

  1. DOT - Graph drawing syntax used by the Graphviz software.

Tutorials

  1. Analyse des réseaux : une introduction à Pajek, in French (2011).

Varia

This section is for blog posts, videos, wikis and everything else that does not fit in other categories.

  1. A Sociology Citation Network and A Co-citation Network for Philosophy - Examples of scientific co-citation networks.

Blog Series

Series of blog posts on network topics.
For more blog posts on manipulating networks with R, try searching for networks or social network analysis on the R-Bloggers R blogs aggregator.

  1. Blog Posts About Networks by Baptiste Coulmont, in French.

Fictional Networks

Explorations of fictional character networks.

  1. Lessons on Exponential Random Graph Modeling from Greys Anatomy hook-ups.

Network Science

Discussions of what "netsci" is about and means for other scientific disciplines.

  1. The Emergence of Network Science - Video documentary, featuring Steven Strogatz and many others.

Small Worlds

Links focused on (analogues to) Stanley Milgram's small-world experiment.

  1. The Erdös Number Project - Research project on the collaborative ties and network distance between mathematicians.

Contribution Guidelines

Please contribute to this list by sending a pull request after reading the Contribution Guidelines for stylistic indications.

  • All resources are listed alphabetically, with date and language mentions when relevant.
  • Authors are required for books and courses only, but are also mentioned for blog series.
  • Journals require the name of the publisher.
  • Review Articles require a journal and a date.
  • R packages: please consider citing the stable CRAN version when it exists.
  • Python packages: please consider citing the PyPi version when it exists.
  • Software should be at least free for noncommercial use (only few exceptions will be granted).

Please use U.S. English and remember that an awesome list has to be, well, awesome. The "Awesome Manifesto" states:

Only awesome is awesome

Research if the stuff you're including is actually awesome. Put only stuff on the list you or another contributor can personally recommend and rather leave stuff out than include too much.

...

Comment on why something is awesome

Apart from suggesting a particular item on your list, you should also inform your readers why it's on the list and how they will benefit from it.

Please also add your name to the copyright waiver below, with an optional link to your personal homepage, GitHub profile or social media profile.

License

CC0

To the extent possible under law, the authors of this list by chronological order: François Briatte, Ian McCulloh, Aditya Khanna, Manlio De Domenico, Patrick Kaminski, Ericka Menchen-Trevino have waived all copyright and related or neighboring rights to this work.