Graphs and networks are all around us, including technological networks (the internet, power grids, telephone networks, transportation networks, ...), social networks (social graphs, affiliation networks, ...), information networks (World Wide Web, citation graphs, patent networks, ...), biological networks (biochemical networks, neural networks, food webs, ...), and many more. Graphs provide a structural model that makes it possible to analyze and understand how many separate systems act together.
Mathematica provides state-of-the-art functionality for modeling, analyzing, synthesizing, and visualizing graphs and networks. Whether those graphs are small and diagrammatic or large and complex, Mathematica provides numerous high-level functions for creating or computing with graphs. Graphs are first-class citizens in Mathematica; they can be used as input and output and they are deeply integrated into the rest of the Mathematica system.
Graph — construct a graph from vertices and edges
Graph — graph object with vertex and edge properties
FindGraphCommunities — find well-connected communities
HighlightGraph — highlight vertices, edges, or whole subgraphs
NeighborhoodGraph — graph neighborhood of some vertex, edge, etc.
IsomorphicGraphQ — test whether two graphs are the same after vertex renaming
GraphDistance — the length of the shortest path between two vertices
FindMaximumFlow — find the maximum flow between two vertices
ConnectedComponents — give groups of vertices that are strongly connected
FindClique — find complete subgraphs
DepthFirstScan — scan a graph in depth-first order