Version 3 (modified by margs, 16 years ago) |
---|
Dividing ISO 15926-2 into levels
Status of this document: Working Draft
Authors:
- Martin G. Skjæveland, DNV
- Jon Henrik Forssell, OLF
- Johan W. Klüwer, DNV
Abstract
This article defines the notion level and describes a way of using levels to categorize the entity types of ISO 15926-2 and to add restrictions to the use of relationships -- categories and restrictions that correspond to set theoretical ideas and respect good modeling practice.
- Abstract
- Introduction
- Levels
- Restricting part 2 entities to levels
- Adding restrictions to relations using levels and types
Introduction
The initial goal of defining level and type is to add restrictions to the to the use of the relationships specialization and classification as they are defined in ISO-15926-2:2003.
In ISO 15926-2:2003 a specialization is defined as a relationship between two instances of the entity type class:
A <specialization> is a <relationship> that indicates that all members of the subclass are members of the superclass.
ENTITY specialization subclass : class; superclass : class;
This definition is too weak as the following illustrates. The definition allows an instance of class of class of individual to be declared as a subclass of an instance of a class of individual, since both class of class of individual and class of individual are subtypes of class. class of class of individual is defined in ISO 15926-2 as
A <class_of_class_of_individual> is a <class_of_class> whose members are instances of <class_of_individual>
and class of individual is defined as
A <class_of_individual> is a class whose members are instances of <possible_individual>.
Declaring an instance of class of class of individual A as a subclass of an instance of a class of individual B would mean that all the members of A are also members of B, but that entails that all members of A are instances of possible individual hence violating the definition of class of class of individual.
By adding restrictions to the use of relationships in ISO 15926 we can avoid such problems. The notions defined in this article may also be valuable for adding restrictions to other relationships than specialization and classification defined in ISO 15926-2.
Levels
Definition
Let be the set of all individuals and be the set of all pairs where .
Definition Type_Individual:
Let and , then
.
Definition Type_Relationship:
Let and , then
.
Definition Level_n:
Level_n is a set such that
.
Definition in OWL
Class: Type_Individual Class: Type_Relationship Class: Level_0 DisjointWith: Level_1, Level_2, Level_3 Class: Level_1 DisjointWith: Level_0, Level_2, Level_3 Class: Level_2 DisjointWith: Level_0, Level_1, Level_3 Class: Level_3 DisjointWith: Level_0, Level_1, Level_2
Restricting part 2 entities to levels
Level 0
part2:PossibleIndividual is declared as a subclass of Level_0, since possible_individual is the entity type that contain all individuals. A possible_individual is a thing that exists in space and time. (ISO 15926-2, 2003, p. 111).
Class: part2:PossibleIndividual SubClassOf: Level_0
part2:Relationship is declared as a subclass of Level_0. A relationship is an abstract_object that indicates something that one thing has to do with another (ISO 15926-2, 2003, p. 136).
Class: part2:Relationship SubClassOf: Level_0
part2:Class is declared as a subclass of the compliment of Level_0, i.e., part2:Class is not on Level 0.
A class is a thing that is an understanding of the nature of things and that divides things into those which are members of the class and those which are not according to one or more criteria. The identity of a class is ultimately defined by its members. (...) A class may be a member of another class or of itself. (...) There is a null class that has no members. (ISO 15926-2, 2003, p. 93--94).
Class: part2:Class SubClassOf: not (Level_0)
Level 1
part2:ClassOfIndividual is declared as a subclass of Level_1, since a class_of_individual is a class whose members are instances of possible_individual (ISO 15926-2, 2003, p. 117) and part2:PossibleIndividual is declared as a subclass of Level_0
Class: part2:ClassOfIndividual SubClassOf: Level_1
part2:ClassOfRelationship is declared as a subclass of Level_1, since a class_of_relationship is a class_of _abstract_object whose members are members of relationship (ISO 15926-2, 2003, p. 138) and part2:Relationship is declared as a subclass of Level_0.
Class: part2:ClassOfRelationship SubClassOf: Level_1
A role_and_domain is a class that specifies the domainand and role for an end of a class_of_relationship, or class_of_multidimensional_object. (ISO 15926-2, 2003, p. 142).
Class: part2:RoleAndDomain SubClassOf: Level_1
A cardinality is a class that is the maximum and/or minimum number of times a thing can play a particular role in a class_of_relationship or class_of_multidimensional_object. (ISO 15926-2, 2003, p. 140).
Class: part2:Cardinality SubClassOf: Level_1
part2:ClassOfClass is declared as a subclass of the compliment of Level_1, i.e., it is not a Level_1 class. The reason is that since a class_of_class is a class whose members are instances of class (ISO 15926-2, 2003, p. 96) and part2:Class is declared as not being a Level_0 class, part2:ClassOfClass must necessarily be a level higher than part2:Class. NOTE: part2:ClassOfClass is a subtype of part2:Class so part2:ClassOfClass is also indirectly declared as not a subclass of Level_0.
Class: part2:ClassOfClass SubClassOf: not (Level_1)
Level 2
part2:ClassOfClassOfIndividual is declared as a Level_2 class since given that a class_of_class_of_individual is a class_of_class whose members are instances of class_of_individual (ISO 15926-2, 2003, p. 130) and part2:ClassOfIndividual is declared as a Level 1 class.
Class: part2:ClassOfClassOfIndividual SubClassOf: Level_2
part2:ClassOfClassOfIndividual is declared as subclass of Level_2 since a class_of_class_of_relationship is a class_of_class whose members are instances of class_of_relationship (ISO 15926-2, 2003, p. 158) and part2:ClassOfRelationship is declared as a subclass of Level_1.
Class: part2:ClassOfClassOfRelationship SubClassOf: Level_2
Level 3
part2:ClassOfPropertySpace is declared as a subclass of the Level_2 class since a class_of_property_space is a class_of_class whose members are members of property_space ISO 15926-2, 2003, p. 97) and as according to the subtype hierarchy of ISO-15926-2:2003 part2:PropertySpace is a subclass of part2:ClassOfProperty which is a part2:ClassOfClassOfIndividual. part2:ClassOfClassOfIndividual is declared as a subclass of the Level_2 class.
Class: part2:ClassOfPropertySpace SubClassOf: Level_3
Adding restrictions to relations using levels and types
Specialization
Class: part2:Specialization SubClassOf: part2:hasSubclass only Level_1 and part2:hasSuperclass only Level_1 or part2:hasSubclass only Level_2 and part2:hasSuperclass only Level_2 or part2:hasSubclass only Level_3 and part2:hasSuperclass only Level_3 or part2:hasSuperclass only (part2:Thing and not Level_0 and not Level_1 and not Level_2 and not Level_3) and part2:hasSubclass only (part2:Thing and not Level_0)
Classification
Class: part2:Classification SubClassOf: part2:hasClassified only Level_0 and part2:hasClassifier only Level_1 or part2:hasClassified only Level_1 and part2:hasClassifier only Level_2 or part2:hasClassified only Level_2 and part2:hasClassifier only Level_3