Display a list of current note's outgoing unlinked mentions

Use case or problem

I want to see a list of notes related to the current note, even when I haven’t created links. Specifically, I want to see a list of notes whose titles are contained in the current note’s text.

For example, let’s say I am reading a note titled “MyNote” that mentions “epistemology” and “ontology”. And let’s say I’ve already created notes called “Epistemology” and “Ontology”. In other words, the notes “Epistemology” and “Ontology” are related to to “MyNote”. So, when I’m reading “MyNote”, I want to see a list of those related notes.

Proposed solution

We already have a list of incoming unlinked mentions in the backlinks pane, but I propose that we also have a list of “outgoing unlinked mentions.” (In other words, this would be a list of notes whose titles are contained in the current note’s text.)

Related feature requests

There is a related feature request to include an outgoing links pane, but that feature request is about actual links, rather than unlinked mentions.

I have also created a related feature request to have the option to display relations based on unlinked mentions in graph view.

6 Likes

Note that @ShaneNZ has recently discussed this idea in detail, including the idea of creating a plugin to address it.

To address ShaneNZ’s points:

If the user has a vault where a large number of commonly used nouns correspond to existing note titles, then the outgoing unlinked mentions feature might not be very useful, but I don’t think that, at least initially, it would be necessary to tweak the feature for that use case. The default would be for the feature to be off, and it would be up to the user to see if the feature is useful for a given vault.

Fair point. I’m not a developer, but it seems to me that, if the current “unlinked mentions” implementation can search through the content of all other notes, then it should be possible to search through the titles of all other notes for matches to the current note’s text. But I guess it would depend on how long the current note is.

True, but doesn’t that point apply to the existing “unlinked mentions” implementation as well? It seems like a more general problem, rather than something specific to the idea of outgoing unlinked mentions.

Interesting point. Again, this seems like a problem that is general to the idea of unlinked mentions. Perhaps the new aliases implementation provides a partial solution. At any rate, for my purposes, at least to begin with, I would only want to search for actual titles (and aliases). In other words, I simply want the current “unlinked mentions” feature in reverse.

Anyway, thanks for your deep thinking on this!

1 Like

+1
Coupled w/ the request to show outgoing links in the link pane, this feature would create parity in how Obsidian treats incoming and outgoing links. I’d argue that’s essential for an app dedicated to creating useful note networks.

I agree that the existing Unlinked Mentions feature provides an existence proof for at least one reasonable way of addressing the issues raised by @ShaneNZ. It’s not the only way. Those issues suggest possible improvements to Unlinked Mentions implementation, regardless of incoming or outgoing. There are, for instance, linguistics libraries that help with search term “relevance” and would rank a match for an uncommon substance word like ‘usability’ higher than a common adjective like ‘important’.

1 Like

Woah, thanks the creation of the feature request, and for all the extra thoughts on my thoughts. Great way to refine things :slight_smile:

Agree, think it is a bit of an edge case. The use of aliases as topic keywords on a note would be something that would make this situation worse, but it’s really a try it and see point.

In a vault of 100 notes, the current unlinked mentions implementation is “find the name of the current note in the content every other note” ie. it’s 99 searches, 1 search per other file. For outgoing unlinked mentions, let’s assume that the note we’re working on is 10 words long and we’re checking against the 99 other note names:

  • 10 searches - each word in the current note content, checked against 99 note titles
  • 9 searches - every two consecutive words in the current note content, checked against 99 note titles
  • 8 searches - every three consecutive words in the current note content, checked against 99 titles
  • etc etc

That’s 55 searches for a 10 word note, ~5000 for a 100 word note. Note titles are typically shorter than content so it’s not quite as bad as it sounds, and you’d set an upper limit ie. only check for 10 word phrases etc, but it does scale up fast, especially if you’re trying to keep the list up to date as you’re typing.

Can’t quote your quotes of me in here, but you’re right - it is a general issue with unlinked mentions. You can hack it with aliases by making an alias of every word/short phrase in the note name that you care about - ie. a note called "Improved usability leads to better user acceptance and task performance " would have aliases of “usability”, “user acceptance”, “task performance”. I’m experimenting with doing this across my vault, but really I shouldn’t have to, it’s the kind of processing that computers are suited to, not people (that and I have enough notes to not want to go back and do it to all of them :slight_smile: )

For me personally, the partial match component of this is key in order to help me form connections that I would otherwise miss while writing, refactoring and editing a note. If it has to be a perfect word for word match ie. I’ve written the text in the note the same way I wrote a note title six months ago (either incoming or outgoing), then that’s of limited usefulness to me. I can always use the search pane, but that’s very manual and I’m retyping what’s already in the note. Being prompted via a list like we’re talking about that does give me partial matches, and also Small but big QoL: When linking a pre-existing word or phrase, display the note suggestion menu (which does give the partial match results but can’t be easily triggered on a specific piece of existing text) are the two key things. I’m sure others have different workflows and needs though :slight_smile:

1 Like

Would it be more efficient to reverse the algorithm? Search for the 99 different titles in the current note’s content. Then it’s always 99 searches for a title string, of just one note. So for N notes, it’s N-1 searches in one file.

The current unlinked mentions algorithm is actually more intensive than this because it’s N-1 searches (for one string) in N-1 files. The devs may be using caching to optimize this.