Accessing Graph Properties

The following is an overview of functions for accessing graph properties. For functions that modify graphs, see Making and Modifying Graphs.

Graph Properties:

  • nv: Returns number of vertices in graph.
  • ne: Returns number of edges in graph.
  • vertices: Iterable object of all graph vertices.
  • edges: Iterable object of all graph edges.
  • has_vertex: Checks for whether graph includes a vertex.
  • has_edge(g, s, d): Checks for whether graph includes an edge from a given source s to a given destination d.
  • has_edge(g, e) will return 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 Checks for self-loops.
  • is_directed Checks if graph is directed.
  • eltype Returns element type of graphs.

Vertex Properties

  • neighbors: Return array of neighbors of a vertex. If graph is directed, output is equivalent of outneighbors.
  • all_neighbors: Returns array of all neighbors (both inneighbors and outneighbors). For undirected graphs, equivalent to neighbors.
  • inneighbors: Return array of in-neighbors. Equivalent to neighbors for undirected graphs.
  • outneighbors: Return array of out-neighbors. Equivalent to neighbors for undirected graphs.

Edge Properties

  • src: Give source vertex of an edge.
  • dst: Give destination vertex of an edge.
  • reverse: Creates a new edge running in opposite direction of passed edge.