Closed alem88 closed 1 year ago
Yes, GraphTensor
can store edge sets with any fixed number of endpoints, not just the usual two (SOURCE
and TARGET
). Please see the API docs for tfgnn.HyperAdjacency
.
However, many problems that look as if they require hyperedges can be modeled more flexibly with heterogeneous graphs and ordinary edges: make the "hyperedges" a node set and use ordinary edge sets to connect the "hypernodes". In particular, this allows a variable number of "hypernodes" per "hyperedge".
We have yet to see a model that would be formulated much better with true hyperedges than a node set representing them. (Do you have one in mind?) Therefore, at this stage, support for hypergraphs throughout the library is spotty (can't even parse them from tf.Example
).
Let me try and drive this to a conclusion: Without a compelling example application, TF-GNN is unlikely to add more hypergraph support, so I'd like to mark this issue as closed. Please reopen if you have an example application that would benefit from using actual hyperedges instead of the mutliple node sets I mentioned.
Is it possible to construct heterogeneous hypergraph with GraphTensor? If yes, it would be great that you give some example in that direction.