`intersection`

creates the intersection of two or more graphs:
only edges present in all graphs will be included. The corresponding
operator is %s%.

If the `byname`

argument is `TRUE`

(or `auto`

and all graphs
are named), then the operation is performed on symbolic vertex names instead
of the internal numeric vertex ids.

`intersection`

keeps the attributes of all graphs. All graph,
vertex and edge attributes are copied to the result. If an attribute is
present in multiple graphs and would result a name clash, then this
attribute is renamed by adding suffixes: _1, _2, etc.

The `name`

vertex attribute is treated specially if the operation is
performed based on symbolic vertex names. In this case `name`

must be
present in all graphs, and it is not renamed in the result graph.

An error is generated if some input graphs are directed and others are
undirected.