I’ve so far seen this exact problem in 4 different apps; Obsidian, Trillium, SilverBullet, and TiddlyWiki.
All of these let you write in some sort of lightweight markup (markdown for most, but TiddlyWiki has its own markup language). All of these also let you add frontmatter or metadata to your notes, and have barrels and barrels of features for querying, parsing, cataloging, and tabulating this frontmatter.
However, markdown is itself structured data. It has headings and tables and lists. That’s structure. Why not have similar facilities for querying the markdown itself?
I got into this on the TiddlyWiki forums. A lot of users encouraged me to put everything into metadata fields, practically leaving nothing in the body of notes. Then why have bodies? Why not just have a vault full of YAML files?
Why can’t I, for example, get a list of all notes where a certain heading exists, or extract data from a table in a note, or count the number of words in a note, or in a section of a note?


A little confused here. Some of the examples you mentioned are already features of obsidian (if not others).
Search all notes that have a certain text as heading? Obsidian’s general search has that. Count number of words in a note or a text selection? That’s generally available in the app.
Do you mean - I would like to reference a note in another note and in the übernote, it should tell me how many words there are in the former note? Maybe a plugin exists for that.
Or the table example - do you want to extract the text and automatically show it in another note?
Isn’t that what note embedding does?
Or, if you want to actually use the data and not just show it, then I believe you need to use DataViews.
Please let us know other examples of use cases that might not be present in Obsidian. You’ve raised an interesting topic!
Also, the people who said that you should put everything in the metadata are idiots or trolls. While you can build metadata over time, it should not be your main focus. The focus should always be your notes.