Написано на CQL см. Домашнюю страницу ActiveFacts , вам нужно ограничение подмножества, например:
some EntityDescriptor references some Commodity
only if that EntityDescriptor is for some CommodityCategory and that Commodity is of that CommodityCategory;
Обратите внимание, что это становится более плавным, если вы включаете чтение в каждом направлении.
В NORMA требуется ограничение подмножества, которое имеет две пары ролей:
Пара подмножеств - это две роли "EntityDescriptor links Commodity".Пара надмножества - это роль EntityDescriptor в «EntityDescriptor для CommodityCategory, а роль Commodity в« Commodity of CommodityCategory ».
Обратите внимание, что первую роль каждой пары играет тот же тип (EntityDescriptor»).), а также со второй ролью каждой пары (Commodity). Также можно использовать совместимые подтипы / супертипы, но типы должны быть совместимы таким образом.
Ограничение равенства похоже на два ограничения подмножества,один работает в каждом направлении. Всегда требуется, чтобы по крайней мере одна ссылка существовала всякий раз, когда EntityDescriptor предназначен для некоторой CommodityCategory, и этот Commodity относится к этой CommodityCategory, , а также наоборот .