Sounds like you've got good insight into graphs - I might give those ideas a try!