I really like where you are going with this.

Maybe there could be a toggle switch in the Display section of graph settings to create a dotted connection between them.

Or, perhaps with either an automatic toggle or by creating a new tag called */History (or something legal), this new shared subtag node would be connected to all tags that had the History subtag.

I am having trouble finding it, but I had a similar feature or plugin idea using the same concept but for headings. In my idea, all notes that had a matching heading would be linked to a note with that heading name or a new note if one did not exist. Of course this would not be automatic and would have to be invoked.

Thanks.

3 Likes

I think it would be more usefull if they were seperate at first, because them beeing linked would lead to a lot of overlap in a Tag-Tree and would make it hard to follow the branches from Main-Tag to Lowest-Level-Tag. But it would be nice if there was a Option to filter the Graph, to show only Notes tagged with */History/* for Example.

4 Likes

+1 to that!

Linking tags to nested tags on the graph seems super important! I want to start using a tag system, but I can’t imagine not having nested tags, and I don’t want nested tabs messing up my graph view by not being linked…

6 Likes

Just chipping in, I too would find it highly useful if nested tags connected in a meaningful way.

At the very least I think that connections should be made between direct descendants so that the tag #philosophy would connect to #philosophy/socrates and to #philosophy/democrates but the two nested tags would not connect to each other. That way you would get a tree structure which feels very natural when navigating.

5 Likes

:construction: A very messy workaround, but a workaround

tl;dr: I created a note that links to the base tag and all its nested tags, pulling them together on the graph. And hacked together an automated way to pull nested tags given a base one.

:woman_shrugging: I originally, for the laughs, created a note named after the base tag, even with the #, #geo (subtags of which I use in locations for Map View, like #geo/beach). Having the note, I just went ahead and mentioned every tag nested under it in that note. Manually. And once I opened the graph, it seemed to work perfectly! I put that note into its own folder and assigned it a color so that it would blend in with the other tags.

:thinking: E-e-e-except for one small problem. When trying to extend that practice to other tags I learned that this was only working fine because the base tag was not in use. So when I created a note that only had the base tag, #geo itself, I suddenly had two dots on the graph named #geo — one for the tag and one for the note. That was confusing. And thanks to my color hack I couldn’t even tell them apart :grin: So I assigned this note a different color of course.

:warning: …and I later discovered that Obsidian on Android cannot create a file with # in the name. So I had to remove it from the note name anyway. It worked on Windows though.

:bulb: But on second thought — it actually did the job! It pulled the nested tags together! Sure, there’s one unnecessary link and the base tag got hard to spot, but the structure is mostly there. I just had to mention the base tag in the “pulling note” (as I’ve gotten to call them) too, in order to not have it dangling elsewhere.


Automation

Now, of course I had to automate this. Gathering tags by hand is tedious. I solved some of this using Dataview plugin. I mention the base tag I want to pull the subtags of, place this snippet on the page and, well, follow what it says:

Automation snippet to maintain the list (copy&paste its results from preview window into the file):

```dataviewjs
let currentPage = dv.page(this.currentFilePath)
let pageTags = currentPage.file.etags;
let query = pageTags.join(" or ");
let queryTags = (query === "")
    ? []
    : dv.pages(query).file.etags.array();
dv.paragraph(
  [...new Set(queryTags)].join(" ")
);
```
  • Sadly, this only really handles single-level tag nesting, because it gets all of the descendants of mentioned tags, not just direct children! This is JavaScript though, so it’s got to be fixable. I haven’t (yet?) gone that deep into the tags.
  • It already does not match ancestors: if you mention a nested tag, it’s not going to return the base tag of it in the result.
  • Still a bit of manual action whenever a new tag is introduced. But the snippet does make initial setup easier, and makes future tagging sprees manageable.
  • It handles multiple base tags just fine. That goes beyond the workaround, but the snippet does not care.

Better than nothing overall. I hope this helps someone out there.


Still waiting for a native solution though. Pretty please? :slightly_smiling_face:

1 Like

I have the same idea.

2 Likes

Hello, any update on this ? I don’t know if I should change the way I use tags or if a solution will come out eventually.

3 Likes

Any updates?
A toggle that could reveal relations between nested tags and root tags would be perfect.

4 Likes

I’m voting for this one!

2 Likes

Any updates with this feature?

1 Like

+1, vote it up.

3 Likes

+1 vote this up. Particularly useful for users coming from Bear

2 Likes

+1 This would be incredibly helpful. I was surprised when I found it wasn’t an existing feature. I had to completely overhaul my tagging system to reinstate order on Graph View, as I was unable to see clustering of notes based on their parent tags. At this point (for my uses) nested tags are nowhere near as useful as they could be, if they would give a more intuitive visual representation of connections. Of course this could and probably should be a toggle-able option, for flexibility in tag implementation.

2 Likes

Completely new to Obsidian - first day of using it. But definitely +1 to this!

1 Like

Same around here +1

2 Likes

#metoo +1

2 Likes

+1 me three

1 Like

Hi everyone,

+1 for me. This would be super helpful. I need nested tags a lot. But unfortunately this renders the graph view totally unusable :expressionless:

2 Likes

Have another upvote from me. This would seem to be rather the whole point of having nested tags. If you can’t use nested tags in the graph view, they lose the vast majority of their functionality. The whole point of tags is to group like things.

For example, I have the following tags: #Person/Work/Boss, #Person/Work/Co-worker, #Person/Relative, & #Person/Neighbor.

If all these people would clump near #Person, that would instantly organize my graph view immensely. As the groups (neighbors) and (bosses & co-workers) are generally unconnected to one another, having them automatically split out would again help me to see how the various groups of people are intertangled.

This is obviously a ridiculously simple example, but I believe it conveys the utility that this functionality would impart.

2 Likes