Hi Soheil. Did you mean Eric's version cannot distinguish relations with the same name, and Soheil's cannot distinguish multiple relations between the two same classes?

Relation's name is the name of it's child schema, so I thought checking the equality of parent and child schema would suffice. Things can get complicated with schema flattening and duplicate removal, so I added relation name checking to be safe and committed the code.