Library-provided edges are immutable for both mutable and immutable Graph. However, when using mutable graphs with labeled edges where labels are mutable with respect to your use case, you might want to make your label mutable accordingly. Otherwise a much less efficient edge replacement would be necessary.
Number of the endpoints of this edge. At least two nodes are joined. In case of a hook, the two nodes are identical. Hyperedges may link more than two nodes.
Number of the endpoints of this edge. At least two nodes are joined. In case of a hook, the two nodes are identical. Hyperedges may link more than two nodes.
Whether this edge produces a self-loop. In case of a non-hyperedge, a loop is given if the incident nodes are equal. In case of a directed hyperedge, a loop is given if any of the targets is included in the sources. In case of an undirected hyperedge, a loop is given if any of the ends is a duplicate.
Whether this edge produces a self-loop. In case of a non-hyperedge, a loop is given if the incident nodes are equal. In case of a directed hyperedge, a loop is given if any of the targets is included in the sources. In case of an undirected hyperedge, a loop is given if any of the ends is a duplicate.
true if
a) two distinct ends of this undirected edge exist for which p1 and p2 hold or
b) p1 holds for a source and p2 for a target of this directed edge.
true if
a) two distinct ends of this undirected edge exist for which p1 and p2 hold or
b) p1 holds for a source and p2 for a target of this directed edge.
Note that weight is normally not part of the edge key (hashCode). As a result, edges with different weights connecting the same nodes will be evaluated as equal and thus added once and only once to the graph. In case you need multi-edges based on different weights you should define a custom edge class that mixes in ExtendedKey and adds weight to keyAttributes.