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.

  1. Abstract
  2. Introduction
  3. Levels
    1. Definition
    2. Definition in OWL
  4. Restricting part 2 entities to levels
    1. Level 0
    2. Level 1
    3. Level 2
    4. Level 3
  5. Adding restrictions to relations using levels and types
    1. Specialization
    2. Classification


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

Discussion

You have no rights to see this discussion.

Attachments

Home
About PCA
Reference Data Services
Projects
Workgroups