# structure.info

##### Gaining information about graph structure

Functions for exploring the basic structure of a network: number of vertices and edges, the neighbors of a node, test whether two vertices are connected by an edge.

- Keywords
- graphs

##### Usage

```
vcount(graph)
ecount(graph)
neighbors(graph, v, mode = 1)
incident(graph, v, mode=c("all", "out", "in", "total"))
is.directed(graph)
are.connected(graph, v1, v2)
get.edge(graph, id)
get.edges(graph, es)
```

##### Arguments

- graph
- The graph.
- v
- The vertex of which the adjacent vertices or incident edges are queried.
- mode
- Character string, specifying the type of adjacent vertices
or incident edges to list in a directed graph. If
out , then only outgoing edges (or their corresponding vertices) are considered;in considers incomin - v1
- The id of the first vertex. For directed graphs only edges
pointing from
`v1`

to`v2`

are searched. - v2
- The id of the second vertex. For directed graphs only edges
pointing from
`v1`

to`v2`

are searched. - id
- A numeric edge id.
- es
- An edge sequence.

##### Details

These functions provide the basic structural information of a graph.

`vcount`

gives the number of vertices in the graph.

`ecount`

gives the number of edges in the graph.

`neighbors`

gives the neighbors of a vertex. The vertices
connected by multiple edges are listed as many times as the number of
connecting edges.

`incident`

gives the incident edges of a vertex.
`is.directed`

gives whether the graph is directed or not. It just
gives its `directed`

attribute.
`are.connected`

decides whether there is an edge from `v1`

to `v2`

.

`get.edge`

returns the end points of the edge with the supplied
edge id. For directed graph the source vertex comes first, for
undirected graphs, the order is arbitrary.

`get.edges`

returns a matrix with the endpoints of the edges in
the edge sequence argument.

##### Value

`vcount`

and`ecount`

return integer constants.`neighbors`

returns an integer vector.`is.directed`

and`are.connected`

return boolean constants.`get.edge`

returns a numeric vector of length two.`get.edges`

returns a two-column matrix.

##### See Also

##### Examples

```
g <- graph.ring(10)
vcount(g)
ecount(g)
neighbors(g, 5)
incident(g, 5)
are.connected(g, 1, 2)
are.connected(g, 2, 4)
get.edges(g, 1:6)
```

*Documentation reproduced from package igraph, version 0.7.1, License: GPL (>= 2)*