Feb 28, 2010 03:10
ISO 15926 Part 2 suggests an other way to solve the same problem - namely to declare a class of class DocumentKind to contain classes for classification of Document class.
Part 2 defines:
5.2.3.2 class_of_classification
A class_of_classification is a class_of_relationship whose members are members of classification.
A class_of_classification indicates that a member of the class_of_classified class is classified by one
or more members of the class_of_classifier class_of_class.
Attribute definitions:
class_of_classified : the class that is the class_of_classified in the class_of_classification
class_of_classifier : the class_of_class that is the class_of_classifier in the class_of_classification
It is possible to define classification_of_documents member in the class_of_classification, with Document class as a class_of_classified attribute and DocumentKind as a class_of_classifier attribute.
In Part 7 C.1 "Proto-templates for relational entity types" we can find two proto-tempates:
ClassOfClassificationTriple(x; y; z) <-> ClassOfClassification(x) ^ hasClassOfClassified(x; y) ^ hasClassOfClassifier(x; z)
ClassOfClassificationTemplate(y; z) <-> EXISTS u (ClassOfClassificationTriple(u; y; z))
It seems that the second proto-template is designed specifically to avoid creation of classification_of_documents class: It is posssible to declare
ClassOfClassificationTemplate(Document; DocumentKind)
and then declare al necessary powertypes simpy as members of DocumentKind class:
ClassificationOfClass(Report,DocumentKind)
ClassificationOfClass(ChangeNotice,DocumentKind)