Объект material_property является подтипом объекта property_definition, который должен иметь условия, определяющие его достоверность, когда он задает характеристику объектам product_definition, shape_aspect или shape_aspect_relationship.
EXPRESS-спецификация:
*) | |
ENTITY material_property | |
SUBTYPE OF (property_definition); | |
UNIQUE | |
UR1: name, definition; | |
WHERE | |
WR1: ('PRODUCT_PROPERTY_DEFINITION_SCHEMA.CHARACTERIZED_OBJECT' IN | |
TYPEOF(SELF\property_definition.definition)) OR | |
(SIZEOF(bag_to_set(USEDIN(SELF, | |
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.' + | |
'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) - QUERY(temp<* | |
bag_to_set(USEDIN(SELF, | |
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.' + | |
'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) | | |
('MATERIAL_PROPERTY_REPRESENTATION_SCHEMA.' + | |
'MATERIAL_PROPERTY_REPRESENTATION' IN TYPEOF(temp)))) = 0); | |
END_ENTITY; | |
(* |
Формальные утверждения
UR1 - наименование каждого объекта material_property, связанного с единственным объектом product_definition или shape_aspect (через атрибут definition), должно быть уникальным в рамках множества объектов material_property, связанных между собой через данный объект product_definition или shape_aspect;
WR1 - если объект material_property не должен быть задан для объекта characterized_object с помощью его атрибута definition, то все ссылающиеся на него объекты property_definition_representation также должны быть объектами material_property_representation и иметь связанные с ними объекты data_environment.