Not sure about how to handle the fact that in the edge table "source_id" and "target_id" are sort of foreign keys for multiple tables, so I just left them without a constraint.
Nice work. This is what I was looking for. I will merge it, but I am not going to close the branch because I think we still have some improvements that we can make.
Once we better understand the data populating these tables, we'll want to readdress size allocated to VARCHAR fields.
Not sure about how to handle the fact that in the edge table "source_id" and "target_id" are sort of foreign keys for multiple tables, so I just left them without a constraint.