
I see what you are trying to do. I do something very similar. I keep a log of things I have read and watched and this is how I track it, taking your example above.
Say I read Book_1 today and discover the Topic_1, this is what goes in my daily note:
- #Read:: Started reading [[Book_1]] recommended by [[kenNash]] and came upon the realisation that [[Topic_1]] is interesting.
I’ll then click on [[Topic_1]] to write something about it. And in that note, I’ll add the YAML GAO: 2021-06-03.
At the end of the day, I’ve dates for both the activity of reading the book as well as for creating the topic originating from/inspired by the book. Although the book and topic are not directly linked, they are linked through the daily note. That can be easily fixed if you decide to add a Source field to the topic. I’d suggest doing that outside of YAML since links in YAML don’t show up in backlinks. With that, all the three entities (daily note, book note, topic note) either link to each other or have a backlink.
Continuing to the next day, my daily note might look like,
- #Read:: Read chapter 3-4 of [[Book_1]] and it made me think of [[Topic_2]]
And follow the same process for [[Topic_2]]
Once this process is setup, I’d then create a new note for all my reading logs and call like Reading Log with a Dataview query to aggregate it all,
TABLE Read
FROM #Read
WHERE Read
SORT file.ctime DESC
It should look something like this (screenshot from my Watched Log
And for your specific use case of the GAO, I’d create another GAO Log note and use something like this in there,
TABLE GAO, Source
FROM #topic OR "ZK"
SORT file.ctime DESC
This should give you all topic notes most recent first, along with their GAO date and Book. Note that you can add multiple dates in the GAO YAML field and also multiple Sources in the Topic file in case you rediscover the same idea later from a different book. Dataview will show those as a list (you just need to ensure that you enter them both in the same order). You can see this from my screenshot where sometimes I watch multiple things during the day and it is shown just fine.
If you notice I’m using a tag for the Read key for Dataview. I do that so that it serves dual purpose. #Read:: works both as a Dataview inline key as well as a regular markdown tag. So if I’m working on my vault in another app (or if Obsidian goes away sometime in the future), I can still at least search for all these lines easily. Plus I also have a regular query in my log files which is simple like,
```query
tag: Watched
I keep this around because it gives me better context around the lines but the Dataview query allows me to sort and show multiple fields in columns.
Hope this gives you (or others) some ideas for a logging workflow.