Graph access

The following is an overview of functions for accessing graph properties.

Global graph properties

  • nv(g) returns the number of vertices in g.
  • ne(g) returns the number of edges in g.
  • vertices(g) returns an iterable object containing all the vertices in g.
  • edges(g) returns an iterable object containing all the edges in g.
  • has_vertex(g, v) checks whether graph g includes a vertex numbered v.
  • has_edge(g, s, d) checks whether graph g includes an edge from the source vertex s to the destination vertex d.
  • has_edge(g, e) returns true if there is an edge in g that satisfies e == f for any f ∈ edges(g). This is a strict equality test that may require all properties of e are the same. This definition of equality depends on the implementation. For testing whether an edge exists between two vertices s,d use has_edge(g, s, d). Note: to use the has_edge(g, e) method safely, it is important to understand the conditions under which edges are equal to each other. These conditions are defined by the has_edge(g::G,e) method as defined by the graph type G. The default behavior is to check has_edge(g,src(e),dst(e)). This distinction exists to allow new graph types such as MetaGraphs or MultiGraphs to distinguish between edges with the same source and destination but potentially different properties.
  • has_self_loops(g) checks for self-loops in g.
  • is_directed(g) checks if g is a directed graph.
  • eltype(g) returns the type of the vertices of g.

Vertex properties

  • neighbors(g, v) returns the neighbors of vertex v in an iterable (if g is directed, only outneighbors are returned).
  • all_neighbors( returns all the neighbors of vertex v (if g is directed, both inneighbors and outneighbors are returned).
  • inneighbors return the inneighbors of vertex v (equivalent to neighbors for undirected graphs).
  • outneighbors returns the outneighbors of vertex v (equivalent to neighbors for undirected graphs).

Edge properties

  • src(e) gives the source vertex s of an edge (s, d).
  • dst(e) gives the destination vertex d of an edge (s, d).
  • reverse(e) creates a new edge (d, s) from edge (s, d).