ГОСТ Р МЭК 61360-2—2013
Примечание 1— Сущность item_class_case_of определяет априорное семантическое соотношение.
Пример представления на языке EXPRESS:
*)
ENTITY item_class_case_of
SUBTYPE ОБ(item_clasa, a_priori_semantic_relationship);
is_case_of:SET [1:?? ОБ class_BSU;
imported_properties: LIST (0:?] OF property_BSU;
imported_types: SET [0:?]OF data_type_BSU;
imported_tables: SET (0:?] OF tableBSU;
imported_docuraenta: SET (0:?] OF document_BSU;
imported_constraints: SET [0:?) OF cor.atraint_or_constraint_id;
DERIVE
SELF\a_priori_seir.antic_relatior.ship.referer.ced_classe3:
SET [1:?1 ОБ’class_BSU SELF.is_case_of;
SELF\a_priori_semantic_relationship.referenced_properties:
LIST (0:?1 OF property_BSUSELF.imported_properties;
SELF\a_priori_aerr.ar.tic_relatior.ship.referer.ced_data_typea:
SET [0:?T OF data_type_BSUSELF.imported_types;
SELF\a_priori_aemantic_relationship.referenced_tables:
SET [0:?1 OF tableBSUSELF.imported_tabIes;
SELF\a_priori_aenar.tic_relatior.ship.referer.ced_documents:
SET [0:?1 OF document_BSUSELF.imported_documents;
SELF\a_priori_semar.tic_relatior.ship.referer.ced_conatraints:
SET £0:?] OF property_cor.straint
SELF.imported_constraints;
WHERE
WRL :superclass_of_item_is_item(SELF);
WR2 :check_is_case_of_referenced_classes_definitior. (SELF);
WR3: QUERY(p <* SELF\class.sub_clasa_properties
iNOT((p IN SELF.deacribed_by)
OR <p IN SELF.imported_propertiea))) - [];
WR4:QUERY(p <* SELF\class.sub_ciassjpropertie3
\
(p IN SELF.imported_properties)
ANО (QUERY(cl<*S£LF.is_case_of
iail_class_descriptions_reachable(cl) AND
(p IN compute_known_applicable_properties(cl))AND
(NOT i3_claas_valued_property(p, cl)))<>!]))
- П ;
WR5:QUERY(ccv<* SELF\class.class_cor.stant_values
■(ccv.3uper_class_defined_proper ty
IN SELF.imported_properties)
AND (QUERY(cl<*SELF.is_case_of
:all_class_descriptior.a_reachable (cl) AND
(ccv.super_clasa_defined_property
IN compute_known_applicable_properties(cl))AND
(QUERY <v<*clasa_value_assigned(
ccv.super_class_defined_property, cl)
ivO ccv.aasigned__value) <> [)))<>[}))
-Cl;
WR6:QUERY(propimported_properties
!(QUERY<cl<*SELF.ia_case_of
(is_class_valued_property(prop, cl)) <>■])
AND NOT is_class_valued_property(prop, SELF.identified_by))
- U ;
WR7 :QUERY(ccv <* SELF\class.class_constant_valuea
!QUERY(cl<*SELF.is_caae_of
117