How to search for blocks in backlinks that contain links to specific notes

I would like to search in an easy way for all the blocks in every note that contains the notes [[Note 1]] AND [[Note 2]] (and possibly [[Note 3]] ecc…). At best, I would like to apply this kind of filtering to the backlinks of a note.

Why?

I won’t hide it: it was my PKM workflow on Roam (you could have understood it by my emphasis on “blocks”). The workflow I developed was very basic, because I like basic and rapid things: basically I reviewed all of my highlights adding notes that referred to what they were talking about. For example, this could be an highlight

Making a note discoverable involves making it small, simple, and easy to digest. We accomplish this using compression: creating highly condensed summaries, without all the fluff.
But we also want to make our notes understandable. This involves including all the context: the details, the examples, and cited sources to be sure nothing falls through the cracks.

And I could add these links

[[Making a note discoverable]] involves making it small, simple, and easy to digest. We accomplish this using [[compression]]: creating highly condensed summaries, without all the fluff. But we also want to make our notes understandable. This involves including all the context: the details, the examples, and cited sources to be sure nothing falls through the cracks. [[making a note understandable]] [[understandability]] [[communicating through time]] [[summarization]] [[limits of communication]]

for Roam users: in Roam I used to add a # at the beginning of the notes put at the end in order to give them a look that wasn’t disturbing reading. If there is a way to replicate this in Obsidian it would be great, but not fundamental.

The idea of the workflow is: I want to find this highlight in the future when I will search about these topics. And then I “tag” this topic in the highlight, whether thay are already in the text or if I have to add them at the end, no matter if I condense them in few words or in a sentence. This workflow had for sure a lot of defects, but I liked it becuase it was incredibly effective given how simple it was.

With Roam, I simply went to the backlinks of a note, and I could already filter them based on which other links where contained in each backlinks. So, if I was doing research about [[limits of communication]], if I filtered its backlinks through [[communicating through time]] I would probably have found this highlight.

I am perfectly aware that the “block” concept is what strongly differentiate Obsidian and Roam, but I wanted to find a way to implement this workflow in Obsidian (specially since when the block reference option came out), because I’m starting to need it also in some Vaults I started to keep.

What I tried

Dataview

Every time I discover something new about Dataview, and every time i become more confused about it. But I am quite sure that it can’t help me, because it works mostly on note level. I mean: there could be a way to search for parts of text that contains specific notes, but what I understand is that in the end Dataview would be able only to show you the name of the note that contains that text (or any other property of that whole note). This is useless to me: I want to read the block, the highlight, directly in the output. Or at least a part of it, to understand what it is actually talking about.
Moreover, it’s absolutely not UI friendly. I would not like to go every time inside the code and change things from there in order to adjust my search.
Just today I discovered the file.lists metadata, but I didn’t understand it well, and it also slows considerably down my computer. I don’t know if it could open me some opportunities, in case I organize all of my knowledge in bullet lists (it would be fine to me)

Inline query

The one that has this syntax, to be clear

```query
something
\```

without that “\”, sorry I don’t know how to escape

Why inline? Because it’s the only way to make possible to access to the list of the notes (how is it called? Notes explorer?) by typing [[. This is fundamental to me, because the notes I created in the highlights are the “themes” I want to search for. I discovered time ago that there is the “block” option, and it partially solves my problem in this way

```query
block:("[[limits of communication]]" "[[communicating through time]]")
\```

Thanks to Query Control I have a nice and useful view of the results. But I have two problems:

  • it’s very uncomfortable that I have to wrap everything in quotation marks. Moreover, as in Dataview, it’s not comfortable to go every time inside the code (even if this is very basic)
  • I still lack the comfort I had in Roam to do this search directly in the backlinks (typing [[ in the search area of the backlinks panel doesn’t open the notes explorer)
  • I lack the list of notes tagged in the backlinks, and the comfort to filter them just by clicking on them.

Is there any way to implement this workflow in Obsidian? It seems to me so basic, and the functionality to “filter by notes contained” seems to me so easy, that I can’t believe it’s not possible.

As of current, you’re correct that Dataview can’t discern the block the link originates from, and thusly can’t display the source of the link. It could be that Datacore will be able to do something like that, when/if it’s released into the public. (It’s the successor of dataview by the same developer)

Before that you need to do searches like block: ("[[making" "[[comm") to find blocks that have links to stuff like “making a note discoverable” and “communicating through time”. Since this is using the default search pane, it’ll also list the context of your search, and you can type as much or little of the link you need to make the result set manageable.

These kind of searches can also be included in the body of a note, and then you could even let the auto complete help you select just the link you want to search for. The same search as above would then look like:

```query
block:("[[making" "[[comm")
```
1 Like

I think you’ve found the limits of what’s available, unless there’s a plugin that specifically does what you want (I don’t know of one but also don’t know all the plugins). It would be possible to make a plugin that does what you want, and I imagine it wouldn’t be terribly difficult for someone who knows how to make plugins.

I didn’t know about Datacore, I will wait with hope.
Yeah, your solution is what I was doing, more or less. It remains very very uncomfortable, but yes, it’s the most effective.

I think I will try to suggest it in the Plugin Ideas, hoping I can describe it effectively

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.