'Cleanup' filters for the graph
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 642
- Forks
- 70
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 21
Description
Would be awesome to have some cleanup functions on the graph/graph view, my suggested main ones would be:
- self-loop filter: remove all self-loops.
- largest connected component: retain just the largest component of g
- remove isolates (remove nodes not connected to any other node)
Would firstly just be a nice thing to have for users manipulating the graph. Another reason this might be handy is that some algorithms require something of the graph (e.g. for it to have no self-loops or to be connected etc) and currently you have to handle that logic on a case-by-case basis e.g. in the motifs algorithm you need to have self-loop checking in all the subroutines.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the graph/graph view entry points and existing graph manipulation APIs, then read the motifs algorithm's self-loop handling. Define how self-loop removal, largest-component retention, and isolate removal should affect the graph and its temporal data. Done means all three cleanup operations are available to graph users and the repeated self-loop checks can be handled centrally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100