Graph Properties & Measurements

Many algorithms and procedures require graphs with certain properties. These can be basic properties, such as being undirected, or deeper topology properties, such as being connected or acyclic. In some areas, a key problem is to decide whether two graphs are the same if the vertex names are replaced, i.e. to test whether they are isomorphic.

The Wolfram Language supports a broad range of measures that characterize graphs, from simple measures, such as the number of vertices and edges, which tell the size and sparsity of a graph, to vertex degrees, which tell how locally well connected each vertex is. Other measures include the geodesic distances in a graph or centrality measures, which give a measure of how central in the overall graph each vertex is; for example, PageRank and HITS are measures used to order web page importance as returned from a search engine.

Basic Properties

GraphQ test whether an expression is a graph object

DirectedGraphQ, UndirectedGraphQ test whether a graph is directed or undirected

MultigraphQ, MixedGraphQ test whether a graph is a multigraph or a mixed graph

EdgeQ  ▪  VertexQ  ▪  EmptyGraphQ  ▪  WeightedGraphQ  ▪  CompleteGraphQ

Structural Properties

SimpleGraphQ test whether a graph is simple

AcyclicGraphQ test whether a graph is acyclic

BipartiteGraphQ  ▪  ConnectedGraphQ  ▪  EulerianGraphQ  ▪  HamiltonianGraphQ  ▪  PathGraphQ  ▪  PlanarGraphQ  ▪  TreeGraphQ  ▪  LoopFreeGraphQ

Graph Isomorphism

IsomorphicGraphQ test whether two graphs are the same after vertex renaming

FindGraphIsomorphism find the graph isomorphism as a list of rules

FindSubgraphIsomorphism find the subgraph isomorphism

IsomorphicSubgraphQ  ▪  FindIsomorphicSubgraph  ▪  CanonicalGraph  ▪  GraphAutomorphismGroup  ▪  VertexTransitiveGraphQ  ▪  EdgeTransitiveGraphQ

Graph Coloring

FindVertexColoring find minimal vertex coloring

FindEdgeColoring find minimal edge coloring

FindPlanarColoring find face coloring for a planar graph layout

VertexChromaticNumber  ▪  EdgeChromaticNumber  ▪  ChromaticPolynomial

Basic Measures

VertexCount, EdgeCount give the number of vertices and edges in a graph

VertexDegree give the number of edges for each vertex

VertexInDegree  ▪  VertexOutDegree  ▪  GraphHub

Distance Measures

GraphDistance the length of the shortest path between two vertices

MeanGraphDistance  ▪  GraphDistanceMatrix  ▪  VertexEccentricity  ▪  GraphRadius  ▪  GraphDiameter

Connectivity Measures

VertexConnectivity the number of vertex-independent paths between two vertices

EdgeConnectivity the number of edge-independent paths between two vertices

GraphDensity fraction of edges to the possible edges in a graph

GraphLinkEfficiency how tightly connected a graph is compared to number of edges

Centrality Measures

ClosenessCentrality inverse average distance to every other vertex

BetweennessCentrality fraction of shortest paths that pass through the vertex

DegreeCentrality  ▪  EigenvectorCentrality  ▪  KatzCentrality  ▪  PageRankCentrality  ▪  HITSCentrality  ▪  RadialityCentrality  ▪  StatusCentrality  ▪  EdgeBetweennessCentrality  ▪  LinkRankCentrality

Reciprocity and Transitivity

GraphReciprocity fraction of directed edges that are reciprocated

GlobalClusteringCoefficient fraction of length-two paths that are closed

MeanClusteringCoefficient  ▪  LocalClusteringCoefficient

Homophily, Assortative Mixing, and Similarity

GraphAssortativity within-group connectivity minus between-group connectivity

VertexCorrelationSimilarity correlation similarity between actors

MeanNeighborDegree  ▪  MeanDegreeConnectivity  ▪  VertexDiceSimilarity  ▪  VertexJaccardSimilarity  ▪  VertexCosineSimilarity