Version 7 (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 notions type and 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. Types and levels
    1. Definitions
      1. Intuitions
    2. Definition in OWL
  4. Restricting ISO 15926-2 entity types to levels
    1. Level 0
    2. Level 1
    3. Level 2
    4. Level 3
  5. Adding restrictions to relations using levels
    1. Specialization
    2. Classification


Introduction

The initial goal of defining level and type is to add restrictions 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 example 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, which entails that all members of A are also instances of possible individual.

set A set A and set B
A is an instance of class of class of individual. All members of A are instances of class of individual. B is an instance of class of individual. All members of B are instances of possible individual. A is a subclass of B. All members of A are also instances of possible 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.

Types and levels

We want to be able to categorize the entity types defined in ISO 15926-2 into categories, categories which should be non-overlapping. We categorize along two axis. First we observe that a relationship is a different concept than an individual. We call this axis type.

Secondly we observe that a set of individuals is different from a set of sets of individuals and a set of relationships if different from a set of sets of relationships. Furthermore, a set of sets of individuals is different from a set of sets of sets of individuals, and so on. We call this axis level.

Note: In logic relationships are usually defined as just ordered pairs of individuals, e.g., is a relationship "from" the individual "to" the individual , and a relation is just a set of such pairs. However, in ISO 15926 relationships may also relate (other) relationships.

Definitions

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 .

Note: See http://en.wikipedia.org/wiki/Set for a primer on set theory.

Intuitions

Intuitively the set Type_Individual is the set containing

  • all individuals
  • all sets of individuals
  • all sets of sets of individuals
  • all sets of sets of sets of individuals
  • and so on.

The set Type_Relationship is the set containing

  • all relationships between individuals
  • all sets of relationships between individuals
  • all sets of sets of relationships between individuals
  • all sets of sets of sets of relationships between individuals
  • and so on.
  • Level_0 is the set containing all individuals and all relationships between individuals,
  • Level_1 is the set containing all sets of individuals and all sets of relationships between individuals,
  • Level_2 is the set containing all sets of sets of individuals and all sets of sets of relationships between individuals,
  • and so on.

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

Note: Defining all levels as mutually disjoint is not correct according to the set theoretical definition above; the empty set is a member of all sets. A possible solution is to define a "ISO 15926 notion" of level. In ISO 15926-2 the empty set is an instance of the entity type class.

Restricting ISO 15926-2 entity types to levels

This section places most entity types defined in ISO 15926 on the level axis, in either Level 0, Level 1, Level 2 or Level 3.

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. (COMMENT: This declaration is probably wrong.) 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

This section adds restrictions to relations defined in ISO 15926 using levels.

Specialization

Specialization is in ISO 15926-2 defined as:

A <specialization> is a <relationship> that indicates that all members of the subclass are members of the superclass. <specialization> is transitive.

ENTITY specialization
  SUPERTYPE OF 	(ONEOF(specialization_by_domain, specialization_by_role, boundary_of_property_space,
specialization_of_individual_dimension_from_property, boundary_of_number_space))
  SUBTYPE OF (relationship);
  subclass 	 :  	class;
  superclass 	 :  	class;
END_ENTITY;

OWL listing:

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

Classification is defined as

A <classification> is type of <relationship> that indicates that the classified <thing> is a member of the classifier <class>. <classification> is not transitive.

ENTITY classification
  SUBTYPE OF (relationship);
  classified 	 :  	thing;
  classifier   	 :    	class;

OWL listing:

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