Problem
I need to hide all files connected to a specific file or a file with a specific property in the graph view.
Context
When I take notes on books I often create 1 note for the book and many (often 100s) of files for different “concepts” in the book I found interesting. I make sure the all my “concept” notes are connected to the “book_name” note. So for example if I’m reading “Thinking fast and slow” I would create a page “Book/Thinking Fast and Slow.md” where I would review and summarize the book. I would also have many floating pages like “Lizard brain”, “System 1” and “Anchoring” all linking to the book page.
The problem is that when I switch to graph view the huge number of “concept” nodes drown everything else, for example my work related notes. I can’t filter them out, because the only thing that’s particular about them is that they are all connected to a specific book. Besides that they are like my regular notes, they sit in a general folder and are not different than my daily notes or work or personal notes.
Solutions
Is it possible to query against Obsidian’s graph directly using any of the graph languages like SPARQL? If so I can see 2 types of queries I can use:
- I can exclude nodes based on explicit connection, e.g. “return all ?node where a node is not connected to [node_1, node_2 … node_n]”. [node_1, node_2 … node_n] is a list of my book_name files.
- I can exclude nodes based on an attribute (e.g. tag) of the book_name file. E.g. “return all ?node where a node is not connected to tag=”#book".
Without queries which can use node connections I can create a tagging system where I would use tags which are basically book names. Then I would exclude nodes based on the tag. This approach seems super clunky (e.g. tag names get super long and I can’t use spaces, I have to use tags instead of connections when the concept belongs to multiple books, etc). It also seems like it’s not philosophically aligned with how Obsidian seems to think of tags as attributes of files.
Is something like this possible with obsidian or any of its plugins?