Без заголовка
На таком общем уровне всё ОК, осталось теперь понять только, как это может быть реализовано в конкретном языке. Ибо даже такая общая вещь как 2 + 2 в разных языках реализуется ох как по-разному. Так и эти "отношения между A и B", тем более в таком огромном количестве вариантов и по такому поводу как оценка/вычисление/трансформация/поиск/мэппинг.