Graph Predicates and Properties

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.

Basic Properties

(RefLink[GraphQ, paclet:ref/GraphQ]) — test whether an expression is a graph object

(RefLink[EdgeQ, paclet:ref/EdgeQ]) — test whether an expression is an edge in a graph

(RefLink[VertexQ, paclet:ref/VertexQ]) — test whether an expression is a vertex in a graph

Local Structural Properties

Global Structural Properties

(RefLink[IsomorphicGraphQ, paclet:ref/IsomorphicGraphQ]) — test whether two graphs are the same after vertex renaming

(RefLink[FindGraphIsomorphism, paclet:ref/FindGraphIsomorphism]) — find the graph isomorphism as a list of rules