Open
Description
Is there any intention to support hypergraphs? The main deadlock to integrate hypergraphs in Graphs
is the assumption that edges point to 2 vertices. Currently is weird to implement a "undirected" HyperEdge
type: dst
and src
have no point there (even in an undirected graph dst
and src
look weird) because there will be more than 2 vertices.
My proposal is the following:
- See simple edges as a special case of hyperedges whose cardinality is 2.
- Stop using
dst
andsrc
for undirected edges$\rightarrow$ Usevertices(edge)
where possible instead. - For graph algorithms that need a non-hyper graph view, a hyperedge can be seen as the powerset of cardinality 2 of the connecting vertices (i.e. all vertices in an hyperedge are at distance 1).
If we relax this assumption, open edges could also be supported and implemented as cardinality 1 hyperedges.