Funny, I've been using the same sort of format for my own notes on physics [1]. Although in my graph there is no semantic meaning between graph nodes, maybe I should add that.
The svg graphs are just generated from extracting markdown links. Right now it's a bash script that writes dot code to a file, and then the dot is compiled to svg... I really need to switch that bash script to jinja or anything a little more serious.
1: https://0x5.be/physics-notes/index.html