These methods are the standard means of assessing the state of a network
object; other methods can (and should) use these routines in governing their own behavior. As such, improper setting of the associated attributes may result in unpleasantly creative results. (See the edge.check
argument to add.edges
for an example of code which makes use of these network properties.) The functions themselves behave has follows:
has.loops
returns TRUE
iff x
is allowed to contain loops (or loop-like edges, in the hypergraphic case).
is.bipartite
returns TRUE
iff the x
has been explicitly bipartite-coded. Values of bipartite=NULL
, and bipartite=FALSE
will evaluate to FALSE
, numeric values of bipartite>=0
will evaluate to TRUE
. (The value bipartite==0
indicates that it is a bipartite network with a zero-sized first partition.) Note that is.bipartite
refers only to the storage properties of x
and how it should be treated by some algorithms; is.bipartite(x)==FALSE
it does not mean that x
cannot admit a bipartition!
is.directed
returns TRUE
iff the edges of x
are to be interpreted as directed.
is.hyper
returns TRUE
iff x
is allowed to contain hypergraphic edges.
is.multiplex
returns TRUE
iff x
is allowed to contain multiplex edges.