-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hypergraphs #23
Comments
Initially the intention was to leave hypergraphs aside, but your remark about undirected edges got me thinking (see also #16). |
A directed hyperedge A undirected hyperedge Remark A undirected hyperedge can be seen as a directed hyperset where A possible implementation would be: struct HyperEdge{T}
vertices::Set{T}
end
struct HyperDiEdge{T}
src::Set{T}
dst::Set{T}
end
# Base.issubset, Base.in definitions Only question I have is what behavior should we define if Footnotes
|
Oh god don't get me started about self-loops. No one really knows how far they are supported in the current code base |
😂 Then let's forget about self-loops for now and just check that |
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
andsrc
have no point there (even in an undirected graphdst
andsrc
look weird) because there will be more than 2 vertices.My proposal is the following:
dst
andsrc
for undirected edgesvertices(edge)
where possible instead.If we relax this assumption, open edges could also be supported and implemented as cardinality 1 hyperedges.
The text was updated successfully, but these errors were encountered: