# 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.