Another way to do the same thing

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)
Previous post Next post
Up