Skip to content
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

[FEA]: Hypergraph Interchange Format invitation #4853

Closed
2 tasks done
Tracked by #3280
colltoaction opened this issue Jan 8, 2025 · 3 comments
Closed
2 tasks done
Tracked by #3280

[FEA]: Hypergraph Interchange Format invitation #4853

colltoaction opened this issue Jan 8, 2025 · 3 comments
Labels
feature request New feature or request

Comments

@colltoaction
Copy link

colltoaction commented Jan 8, 2025

Is this a new feature, an improvement, or a change to existing functionality?

New Feature

How would you describe the priority of this feature request

Medium

Please provide a clear description of problem this feature solves

Hi, I'm a developer working in the HIF project, allowing hypergraphs to be shared across many libraries. I think it would be great for the Higher-order Network Science community to have support from the growing number of libraries for GPUs. I also think users of cugraph will greatly benefit from having access to higher-order datasets.

I'm excited to see you already support hypergraphs, because this integration should be very straightforward. There are so far 4 well-established Python projects using HIF. You can take a look at the load/save methods that have been implemented:

Describe your ideal solution

def from_hif(json):
incidences = read_incidences(json)
nodes = read_nodes(json)
edges = read_edges(json)
return build_hypergraph(incidences, nodes, edges)

Describe any alternatives you have considered

As I mentioned the libraries above don't explicitly support GPUs, but the design of a language-independent interchange format can be a great foundation for collaboration.

Additional context

I hope you would consider taking a look at our repository where we provide the specification of a JSON format. It is an incidence-based encoding that is developed by members of HypergraphX, HyperNetX and XGI.

Let me know what you think and any way I can help make this happen!

Code of Conduct

  • I agree to follow cuGraph's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request
@ChuckHastings
Copy link
Collaborator

Our hypergraph support in cugraph is minimal. We wrap some functionality developed by our friends at graphistry to provide some compatibility with RAPIDS.

We don't currently have any algorithms that operate on hypergraphs, and don't have any tasks currently on our roadmap to change that situation.

I would suggest discussing collaboration on this effort with graphistry. If/when we get to expanding our hypergraph capabilities we will likely do that by first evaluating what they have done beyond what we already have.

@ChuckHastings ChuckHastings removed the ? - Needs Triage Need team to review and classify label Jan 27, 2025
@colltoaction
Copy link
Author

Thank you for your consideration and pointers 🙏🏻. Looking at the code it seems there is a file copied from graphistry source code, but not a package dependency: https://github.com/rapidsai/cugraph/blob/branch-25.02/python/cugraph/cugraph/structure/hypergraph.py

In any case I will follow up with them, they even have an existing integration with one of our libraries :)

https://github.com/graphistry/pygraphistry/blob/105487b5e7dfc3bd8c2ae3df1f34baa45fc6e77f/demos/demos_databases_apis/hypernetx/hypernetx.ipynb

@ChuckHastings
Copy link
Collaborator

Going to close this based on this discussion. As I mentioned, when we get around to exploring hyper graph in more detail we will look into your project to explore interchange formats.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants