Collapse Objects into Groups in Graph

WHAT DO YOU RECOMMEND

When you have many Objects in your Anytype database it becomes harder to navigate te Graph view… Several options hVe been suggested to make this easier (filter, highlight, change repulsion forces) and I think grouping Objects based on Object Type or a Relation of choice might help here.

HOW COULD IT BE DONE

Either male use of a configuration panel or allow right click on an Object or next to an Object to show a context menu with an option to collapse the view into Groups. This would result in all Objects that share their Type or one or more specific Relations to be grouped. Where relevant, dotted arrows can indicate that Objects within the Group have shared Relations with Objects in other groups, potentially with some aggregate data when hovering over the group (x Objects in group) or Relation (x Objects share y Relations with z Objects in Group q). Clicking the Group could “open” the group by applying a filter that mimic that the user opens a folder.

REAL WORLD USE CASES

For those who like to browse their Objects in a folder like structure can use Groups to mimic this. Additionally, it helps people to keep track of their Objects even if they have many in the Graph.

ADDITIONAL CONTEXT

For bonus points, make suggest these groups dynamically based on shared Relations.

Related topic that triggered me to write this feature request:

9 Likes

I wonder how this would work while keeping the flexibility of Anytype’s relational data structuring. Would this enforce a hierarchical data view when enabled? Would it override the objects’ links to put them into separate groups as per the filter, or would you be building the group’s into your data as you go and essentially be collapsing the branches to hide big clusters? If so, what could you do about circular linking?

My intention would be to have this as a read only property, so no manual grouping other than manually changing the Relation values or Type of an Object to make them appear in a different group.

Interesting :thinking: but wouldn’t objects have massive overlap with each other in the graph view? I mean there maybe hundreds if thousands of objects with a “Author” relation or a “Publication” relation… wouldn’t that make the graph view more cluttered?

But on other note… I think one thing that can make the graph view vastly better is that when we click on an object, the whole relations of the object would be highlighted and the others would fade in the background. this way we could have a version of local graph view that makes finding objects and seeing the relations much easier IMO.

2 Likes

I would say you’d need to select a single method to group, so either:

  • Object Type, which is most straight forward as every Object only can be of one Type at a time. The number of groups in your Graph would then be equal to the number of Object Types you actively use.
  • Relation value: more complex as a single Object can (and most likely will) have multiple Relations added, and potentially multiple values for a single Relation. In this case I can imagine that you select a “Grouping setting” to group based on [Relation “Tag”] where you get a single Group for every Tag you have assigned to an Object. Another example: group based on [Relation “Author”] where you get a single Group for every Author you defined (which can be Objects themselves, but could also be just a value of type Text.

In short, it will be very similar to the behavior you see in Sets :smiley:

Does that clarify what I mean? :slight_smile:

2 Likes

Yeah yeah that does clarify, thanks. It would certainly be a nice addition but I still believe we should have a local graph view.

1 Like

what do you mean with “local graph view”?

let me demonstrate with a little video.


As you can see, every page that I go in the obsidian, it only shows the connection/relation that the specific page has with others and it dynamically changes in the side bar. this is called the “local graph view” in obsidian. This feature is besides the familiar feature of “graph view” which shows all the pages and their connections at a glance.

This feature is seriously useful for you to understand and see the connection and relations and all the backlinks that a particular page has with other regardless of all the objects.

Ahhh, yep I agree. Something like:

Or

well not really… as @any mentioned in the responses to the suggestion of “local graph”, he’s talking about a mind map between the title of the object/page and its main heading whereas in local graph we see the relation between the page/object in question and other objects.

As for the second post you mentioned, yeah if we were to have a local graph, it would be ideal to have it as a sidebar. But also as I’ve mentioned in another post we can implement the local graph view as a way to toggle it when selecting an object in the main graph view itself.

alright, thanks for further clarifying! I think your idea then maybe deserves its own feature request :slight_smile:

1 Like

Are you guys talking about a grouping feature that Craft users enjoy? When using Craft, that is one of my favorite features. It permits you to create a “set” of your own without a concrete naming structure.