[Usability] Removing a central node does not remove the neighbors
Community Note
- Please use a 👍 reaction to provide a +1/vote. This helps the community and maintainers prioritize this request.
- If you are interested in working on this issue or have submitted a pull request, please leave a comment.
Describe the bug A clear and concise description of what the bug is and the environment/context.
There was an expectation that removing a central node would also remove all the connected neighbors. Now it just shows all the previously connected objects as singletons in the view.
To Reproduce Steps to reproduce the behavior:
- Add a node that has multiple neighbors to Graph View on Graph Explorer
- Double-click to expand.
- Select the original node in Step 1 and click delete.
- See that the node's neighbors are left.
Expected behavior Provide an option to delete node and its neighbors or something similar.
This is a tricky user experience situation to consider.
Let's say I have a graph that looks like this:
flowchart TD
a(A)
b(B)
c(C)
a --> b
a --> c
If we delete A then it might make sense to delete B and C as well.
What happens if we instead remove B or C instead of A? Would A be removed since it is a neighbor?
Then let's consider a barely more complex example:
flowchart TD
a(A)
b(B)
c(C)
d(D)
a --> b
a --> c
b --> d
What happens when I remove A?
- A, B, C are removed leaving only D
- All nodes are removed
Even if we could decide on a proper approach or algorithm, it is asking a lot of the user to understand the rules around removing nodes.
Preferred Solution
I think the core ask of this feature request is that it is too difficult to remove groups of nodes that are related to each other.
If I'm correct in that assumption, a better approach might be to improve the selection mechanisms. If we do that, the user has the option to more easily select multiple nodes and delete them as a group.
Ideas for selection mechanisms could include:
- Select one hop neighbors of selected node
- Select all related neighbors and their neighbors of the selected node
- Select all nodes matching the type of the selected node