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 sources
to a given destinationd
.has_edge(g, e)
will return true if there is an edge in g that satisfiese == f
for anyf ∈ edges(g)
. This is a strict equality test that may require all properties ofe
are the same. This definition of equality depends on the implementation. For testing whether an edge exists between two verticess,d
usehas_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 ofoutneighbors
.all_neighbors
: Returns array of all neighbors (bothinneighbors
andoutneighbors
). For undirected graphs, equivalent toneighbors
.inneighbors
: Return array of in-neighbors. Equivalent toneighbors
for undirected graphs.outneighbors
: Return array of out-neighbors. Equivalent toneighbors
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.