Request: Multi-file tag manager

I started to use Obsidian more actively in the past few month and find graph view being useless on large number of notes. So I filter them out using tags. For example, I’d be exploring a topic and create outlines and summaries for it. At some point I’d start exploring the topic’s graph, but would want to #exclude the outline files to avoid biasing the graph to these super nodes. Similarly, some topics are very dense with notes, so I’d love to add a temporary tag to these notes and exclude it as I review the rest of my notes. I try to use folders, but naturally a lot of the topics don’t work well with hierarchical folder structure.

Adding tags now is a very tedious process. I create “## Tags” header at the end of my files and have a inside the header drop my tags there. Then I either manually edit my files or use text editors like Sublime to do a search and replace. I add new tag by replacing “” with " #my_new_tag". To edit existing tags I use GitHub - pjeby/tag-wrangler: Rename, merge, toggle, and search tags from the Obsidian tag pane plugin by Profile - pjeby - Obsidian Forum. I haven’t figured how to list common tags on selected files anywhere yet.

If someone is interested I’m willing to sponsor the development of a plugin which allows to do the following for multiple files:

  1. List all tags in all selected files
  2. Add a new tag to all selected files (not add if file already has the tag)
  3. Edit a common tag on selected files
  4. Delete a common tag on selected files

Also there is a feature request for a similar feature.

2 Likes

What struck me about your post was the “temporary” bit. Not so much the “adding a tag” bit.

What if you used a meta/utility note that was just used to temporarily collect notes by linking to them. Like a Map Of Content basically. You could add notes to it (with a command or whatever). To remove the collection, delete that note.

And then the outgoing links from that meta note would be the way it referenced the notes, rather than editing the content of the notes themselves. (Editing the notes themselves would trigger syncing, versioning, modified date changes, etc. And you’d have to figure out how you would add the tag content. Prepend? Append? YAML?)

And then the key… it would be really useful to have a search operator for querying links. For example, say your temporary collection MOC note was named “Gerbils”.

And then be able to have a search like incoming: Gerbils or outgoing: Gerbils to filter that temporary network. And then you could also filter by saying -incoming: Gerbils or -outgoing: Gerbils. You could find all the notes that are linked from one note, but not linked from another note. All without editing anything in the target files.

Does anything like that exist yet?

I’m trying to figure out if Vantage plugin can do anything like that. It has some notation for finding links with a certain text in them. But I don’t think it can just query “all notes linked from X”.

edit: I found this related feature request to what I was describing: Search Operators for LINKS (backlinks, forwardlinks)

a back-linking node works as well. Although it becomes a bit unintuitive, since Obsidian’s nodes are all files and tag is a property of a file. I would probably end up with a bunch of empty file nodes in this case.
And as you said - Obsidian does not support graph traversal queries, just search and filter.