The main issue I have with this approach is that it only works for the most simplest use case. Outside of Frontmatter, Dataview doesn’t have inline object support. If you want to built a list of objects where each has a property that links to a page you have to use hacks and it gets messy.
For example, I have a People folder and each page represents a person. I also have a Teams folder. I intended the team pages to have a frontmatter list of “members”, where each member was an object that linked to a person and described their role. I wanted the links to join up in the graph, but that doesn’t happen.
I tried to then represent this through a markdown table, but don’t like the look of them in live preview (and can’t be styled as a table) and the data isn’t accessible through dataview.
I ended up using tasks, where each property of a member is a subtask, then have dataview roll up those properties via a map function.
I mean, it works, but none of this would be needed if I could use a frontmatter property to opt-in to frontmatter links displaying in the graph, or a second data block somewhere in the page to represent my data. Frontmatter is meant for plugins, but I don’t know if any plug-in that can import those links into the graph.
My understanding is that dataview will eventually have some kind of object support, and when that happens I’ll likely have to go back and redo my setup to support it. (None of this is a big deal, I just wish there were an easier way to do it)