Schema design with edge class

I have a situation similar to that described on
http://wiki.rubyonrails.org/rails/pages/HowToUseManyToManyAgainstASingleTable

On that page, someone made the comment:

One might argue also that this is contrived, and you should create a
real Edge class. This way when you finally realise ?whoops, I need to
colour the edges of the graph?, you have somewhere to store that
property.

Which sounds like exactly what I want. Are there any good examples of
how to do this?

Cheers,
Ketil