[[TracNav(TracNav/ISO15926inOWL)]] = Adding membership relationships to ISO 15926-2 in OWL = Status of this document: Sketch {{{ #!comment Placeholder for discussion forum This document is open for feedback, please post questions and comments in the forum at the bottom of this page. You will [WikiStart#Contactpoints need a login] to post in the forum. }}} Author: * [mailto:martin.georg.skjaeveland@dnv.com Martin G. Skjæveland], DNV ---- = Table of Contents = [[PageOutline(2-3,,inline)]] == Abstract == This article suggests a formalization of the membership relationships expressed more or less informally in the text definition of the entity types of ISO 15926-2:2003 and how they may be expressed in OWL. ---- == Introduction == ISO 15926-2 defines a quite substantial hierarchy of membership relationships. An example of one such sub hierarchy is the following: A class_of_class_of_individual is a class_of_class whose members are instances of class_of_individual. (ISO 15926-2:2003, p. 166) A class_of_individual is a class whose members are instances of possible_individual. (ISO 15926-2:2003, p. 117) {{{ #!graphviz.dot digraph G { overlap=false; ranksep=.6; nodesep=.7; label="Figure 1"; node [fontname=Arial, fontsize=8]; edge [fontname=Arial, fontsize=6]; class_of_class_of_individual [shape="box", width=2]; class_of_individual [shape="box", width=1.6]; possible_individual [shape="box", width=1.6]; "ROTATING MECHANICAL EQUIPMENT CLASS" [shape="none", label="ROTATING MECHANICAL\nEQUIPMENT CLASS"]; PUMP [shape="none"]; "#TheOldPumpInMyGarage" [shape="none"]; class_of_class_of_individual -> "ROTATING MECHANICAL EQUIPMENT CLASS" [label="instance"]; class_of_individual -> PUMP [label="instance"]; possible_individual -> "#TheOldPumpInMyGarage" [label="instance"]; "ROTATING MECHANICAL EQUIPMENT CLASS" -> PUMP [label="member"]; PUMP -> "#TheOldPumpInMyGarage" [label="member"]; } }}} ''Figure 1: An example of a membership hierarchy. `ROTATING MECHANICAL EQUIPMENT CLASS` is an instance of class_of_class_of_individual and `PUMP`, a member of `ROTATING MECHANICAL EQUIPMENT CLASS`, is an instance of class_of_individual. `PUMP` has the member `#TheOldPumpInMyGarage` which is an instance of possible_individual.'' However, this hierarchy is not included in the EXPRESS listing of ISO 15926-2 due to what seems to be lack of expressiveness in the EXPRESS language: It should be noted that the EXPRESS subtypes of class defined in this part of ISO 15926 are instances of class_of_class, though the EXPRESS language specification does not allow this to be stated (ISO 15926-2:2003, p. 37). This information is naturally therefore not included in the OWL representation of the EXPRESS file, since this file is the source of data for the resulting OWL file. (Read more: [wiki:ISO15926inOWLtranslateEXPRESStoOWL].) The membership relation/(Classification) is together with the specialization relation the most fundamental way to describe the universe of interest. Capturing this information is important to ensure that the ISO 15926-2 data model is used as intended. == OWL representation == The membership relation is represented in ISO 15926-2 using the entity type CLASSIFICATION: classification is a relationship that indicates membership of a class (ISO 15926-2:2003, p. 33). The [http://www.tc184-sc4.org/wg3ndocs/wg3n1328/lifecycle_integration_schema/lexical/classification.html EXPRESS definition] is {{{ ENTITY classification SUBTYPE OF (relationship); classified : thing; classifier : class; END_ENTITY; }}} {{{ #!graphviz.dot digraph G { overlap=false; ranksep=.6; nodesep=.7; label="Figure 2"; node [fontname=Arial, fontsize=8]; edge [fontname=Arial, fontsize=6]; class_of_individual [shape="box", width=1.6, color=grey, fontcolor=grey]; possible_individual [shape="box", width=1.6, color=grey, fontcolor=grey]; classification [shape="box", width=1.6]; PUMP [shape="none"]; "#TheOldPumpInMyGarage" [shape="none"]; "#12345" [shape="none"]; class_of_individual -> PUMP [label="instance", color=grey, fontcolor=grey]; possible_individual -> "#TheOldPumpInMyGarage" [label="instance", color=grey, fontcolor=grey]; classification -> "#12345" [label="instance"]; "#12345" -> PUMP [label="classifier"]; "#12345" -> "#TheOldPumpInMyGarage" [label="classified"]; } }}} ''Figure 2: An example of how membership relationships are expressed using ISO 15926-2. To state that "`#TheOldPumpInMyGarage` is a member of `PUMP`" an instance of classification, `#12345`, has `#TheOldPumpInMyGarage` as its classified value and `PUMP` as its classifier value.'' The corresponding OWL definition of Classification in the OWL file http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003 is {{{ Class: Classification SubClassOf: Relationship, hasClassified exactly 1 Thing, hasClassifier exactly 1 Class }}} This definition restricts/requires instances of Classification to have exactly one hasClassified value of type Class and exactly one hasClassifier value of type Thing, i.e., informally a classification must have exactly one classified, which must be a Thing, and one classifier, which must be a Class. The owl:ObjectProperties hasClassified and hasClassifier are defined in ISO 15926-2 OWL as {{{ ObjectProperty: hasClassifier Domain: Classification ObjectProperty: hasClassified Domain: Classification }}} This definition restricts the use of the !ObjectProperties hasClassified and hasClassifier. The domain of both properties is Classification. Informally this means that only classifications may have classifiers and classifieds. However, these definitions does not restrict the use of Classification for specific entity types, e.g., for instances of !ClassOfIndividual such that "A class_of_individual is a class whose members are instances of possible_individual (ISO 15926-2:2003, p. 117)". We need to put local restrictions on the use of Classification on specific entity types. To be able to do so we define the inverse !ObjectProperies of hasClassifier and hasClassified, respectively isClassifierIn and isClassifiedIn: {{{ ObjectProperty: isClassifierIn Inverses: hasClassifier ObjectProperty: isClassifiedIn Inverses: hasClassified }}} This allows us to state in OWL that "a !ClassOfIndividual may only be a classifier in a Classification which has a !PossibleIndividual as classified": {{{ Class: ClassOfIndividual SubClassOf: isClassifierIn only (hasClassified only PossibleIndividual) }}} and "a !PossibleIndividual may only be classified in a Classification which has a !ClassOfIndividual as classifier": {{{ Class: PossibleIndividual SubClassOf: isClassifiedIn only (hasClassifier only ClassOfIndividual) }}} We have now established the necessary vocabulary to state the membership relationships in ISO 15926-2 in the chosen OWL serialization. The following sections tries to identify all the membership relationships declared in the ISO 15926-2 text. == Identified membership relationships in ISO 15926-2 == === "Class Of X", "X" and supporting definition === The following table lists pairs of entity types (Class Of X, X) where the definition of Class Of X contains the following or a similar passage: "A is a <[some "supertype" of class_of_X]> whose members are instances of ". || '''Class Of X''' || '''X''' || Excerpt from [http://www.tc184-sc4.org/wg3ndocs/wg3n1328/lifecycle_integration_schema.html definition] of "Class of X"|| || !ClassOfAbstractObject || !AbstractObject || A is a whose members classify members of .|| || !ClassOfActivity || Activity || A is a whose members are instances of .|| || !ClassOfApproval || Approval || A is a whose members are members of ...|| || !ClassOfArrangementOfIndividual || !ArrangementOfIndividual || A is a whose members are instances of .|| || !ClassOfAssemblyOfIndividual || !AssemblyOfIndividual || A is a whose members are instances of .|| || !ClassOfClass || Class || A is a whose members are instances of .|| || !ClassOfClassOfDefinition || !ClassOfDefinition || A is a whose members are members of .|| || !ClassOfClassOfDescription || !ClassOfDescription || A is a whose members are members of .|| || !ClassOfClassOfIdentification || !ClassOfIdentification || A is a whose members are members of .|| || !ClassOfClassOfIndividual || !ClassOfIndividual || A is a whose members are instances of .|| || !ClassOfClassOfRelationship || !ClassOfRelationship || A is a whose members are instances of .|| || !ClassOfClassOfRelationshipWithSignature || !ClassOfRelationshipWithSignature || An is a and .|| || !ClassOfClassOfRepresentationTranslation || !ClassOfRepresentationTranslation || A is a whose members are members of .|| || !ClassOfClassOfResponsibilityForRepresentation || !ClassOfResponsibilityForRepresentation || A is a whose members are members of ... || || !ClassOfClassOfUsageOfRepresentation || !ClassOfUsageOfRepresentation || A is a whose members are members of ... || || !ClassOfClassification || Classification || A is a whose members are members of .|| || !ClassOfCompositionOfIndividual || !CompositionOfIndividual || A is a whose members are members of .|| || !ClassOfConnectionOfIndividual || !ConnectionOfIndividual || A is a whose members are members of . || || !ClassOfContainmentOfIndividual || !ContainmentOfIndividual || A is a whose members are instances of . || || !ClassOfDirectConnection || !DirectConnection || A is a whose members are members of .|| || !ClassOfEvent || Event || A is a whose members are members of .|| || !ClassOfFeatureWholePart || !FeatureWholePart || A is a whose members are instances of .|| || !ClassOfIndirectConnection || !IndirectConnection || A is a whose members are members of .|| || !ClassOfIndividualUsedInConnection || !IndividualUsedInConnection || A is a whose members are members of .|| || !ClassOfInvolvementByReference || !InvolvementByReference || A is a whose members are instances of .|| || !ClassOfLifecycleStage || !LifecycleStage || A is a whose members are members of .|| || !ClassOfMultidimensionalObject || !MultidimensionalObject || A is a whose members are instances of . || || !ClassOfPeriodInTime || !PeriodInTime || A is a whose members are instances of .|| || !ClassOfPointInTime || !PointInTime || A is a whose members are members of . || || !ClassOfProperty || Property || A is a whose members are instances of . || || !ClassOfPropertySpace || !PropertySpace || A is a whose members are members of .|| || !ClassOfRelationship || Relationship || A is a whose members are members of .|| || !ClassOfRelativeLocation || !RelativeLocation || A is a whose members are instances of .|| || !ClassOfScale || Scale || A is a whose members are instances of .|| || !ClassOfShape || Shape || A is a that has instances of as its members.|| || !ClassOfSpecialization || Specialization || A is a whose members are instances of .|| || !ClassOfStatus || Status || A is a whose members are a .|| || !ClassOfTemporalWholePart || !TemporalWholePart || A is a whose members are members of .|| === "Class of X" and "not X", but supporting definition === The following table lists pairs of entity types where the name of the first (Class of X) is not the result of prefixing the second entity type (not X) with "!ClassOf", however, the definition of Class Of X contains the following or a similar passage: "A is a <[some "supertype" of class_of_X]> whose members are instances of ". || '''Class of X''' || '''not X''' || [http://www.tc184-sc4.org/wg3ndocs/wg3n1328/lifecycle_integration_schema.html Definition] of "Class of X" || || !ClassOfClassOfRepresentation || !ClassOfRepresentationOfThing || A is a whose members are instances of . || || !ClassOfIndividual || !PossibleIndividual || A is a class whose members are instances of .|| || !ClassOfNumber || !ArithmeticNumber || A is a whose members are members of . || || !ClassOfClassOfComposition || !ClassOfCompositionOfIndividual || A is a whose members are instances of . ''(NB! There is no entity type named "class_of_composition" so this, or "class_of_composition_of_individual", must be a typo.)''|| == Candidate membership relationships in ISO 15926-2 == === Class of X and X, but no supporting definition === The following table lists pairs of entity types (Class Of X, X) where the definition of Class Of X '''does not''' contain the following or a similar passage: "A is a <[some "supertype" of class_of_X]> whose members are instances of ". || '''Class Of X''' || '''X''' || [http://www.tc184-sc4.org/wg3ndocs/wg3n1328/lifecycle_integration_schema.html Definition] of "Class of X" || || !ClassOfArrangedIndividual || !ArrangedIndividual || A is a whose members are an arrangement of components. || || !ClassOfClassOfInformationRepresentation || !ClassOfInformationRepresentation || A is a that classifies information representation classes.|| || !ClassOfDefinition || Definition || A is a that indicates the pattern is a definition of the represented .|| || !ClassOfDescription || Description || A is a that indicates the pattern is a description of the represented thing.|| || !ClassOfFunctionalMapping || !FunctionalMapping || A is a that is a many to one mapping. A is a function.|| || !ClassOfIdentification || Identification || A is a that indicates that the pattern is used to refer to the represented thing.|| || !ClassOfIndirectProperty || !IndirectProperty || A is a that indicates that a member of the can possess a member of the as an of this type.|| || !ClassOfIntendedRoleAndDomain || !IntendedRoleAndDomain || A is a that indicates that a member of the is intended to act as a member of the .|| || !ClassOfLeftNamespace || !LeftNamespace || A is a that indicates that the class_of_part is the left namespace for the members of the class_of_class_of_whole.|| || !ClassOfNamespace || Namespace || A is a that indicates that a is the class_of_part used as a namespace for each member of a that is the class_of_class_of_whole.|| || !ClassOfParticipation || Participation || A is a that indicates a member of an instance of participates in a member of an instance of .|| || !ClassOfPossibleRoleAndDomain || !PossibleRoleAndDomain || A is a that indicates the that can be played by a member of the , in some .|| || !ClassOfRecognition || Recognition || A is a that indicates that a member of a may result in the recognition of a member of a .|| || !ClassOfRepresentationOfThing || !RepresentationOfThing || A is a that indicates that all members of the pattern represent the .|| || !ClassOfResponsibilityForRepresentation || !ResponsibilityForRepresentation || A is a whose members indicate that a (usually an organization) deems that members of the pattern can be used as representations of the represented thing.|| || !ClassOfRightNamespace || !RightNamespace || A is a where the class_of_part is the namespace for the members of the class_of_class_of_whole.|| || !ClassOfShapeDimension || !ShapeDimension || A is a that is a dimension of a .|| || !ClassOfTemporalSequence || !TemporalSequence || A is a where the sequence is of a temporal nature.|| || !ClassOfUsageOfRepresentation || !UsageOfRepresentation || A is a whose members indicate that a (usually an organization) reads or otherwise uses members of the pattern as a representation of the represented thing.|| === Class Of X, but no X === The following table lists the entity types with a name starting with "class_of_" which is not listed in any other of the tables in this article and has no immediate identifiable "membership" entity type. || '''Class Of X''' || '''?''' || [http://www.tc184-sc4.org/wg3ndocs/wg3n1328/lifecycle_integration_schema.html Definition] of "Class of X" || || !ClassOfApprovalByStatus || || A is a that indicates a status of the approval that is independent of what is being approved by whom. || || !ClassOfAssertion || || A is a that describes the assertive nature of the member relations.|| || !ClassOfAtom || || A is a whose members are atoms.|| || !ClassOfBiologicalMatter || || A is a whose members are particular types of cell or aggregations of cells.|| || !ClassOfCauseOfBeginningOfClassOfIndividual || || A is a that indicates that a member of a causes the beginning of a member of a .|| || !ClassOfCauseOfEndingOfClassOfIndividual || || A is a that indicates that a member of the causes the ending of a member of the .|| || !ClassOfCompositeMaterial || || A is a whose members have a common arrangement of separable compounds.|| || !ClassOfCompound || || A is a whose members consist of arrangements of molecules of the same or different types, bound together by intermolecular forces. This includes both mixtures and alloys.|| || !ClassOfDimensionForShape || || A is a that indicates that members of the class_of_shape have a dimension that is a member of the class_of_dimension.|| || !ClassOfExpressInformationRepresentation || || A is a that is defined by ISO 10303-11. || || !ClassOfFeature || || A is a whose members are contiguous, non-separable parts of some and have an incompletely defined boundary.|| || !ClassOfFunctionalObject || || A is a that indicates the function or purpose of an object.|| || !ClassOfInanimatePhysicalObject || || A is a whose members are not living.|| || !ClassOfInformationObject || || A is a whose members are members of zero or more and of zero or more . || || !ClassOfInformationPresentation || || A is a that distinguishes styles for presenting information. || || !ClassOfInformationRepresentation || || A is a that defines a pattern that represents information.|| || !ClassOfIsomorphicFunctionalMapping || || A is a that is isomorphic.|| || !ClassOfMolecule || || A is a whose members are molecules.|| || !ClassOfOrganism || || A is a whose members are living organisms. || || !ClassOfParticulateMaterial || || A is a whose members are arranged amounts of super-molecular sized objects of the same or different types.|| || !ClassOfPerson || || A is a whose members are people.|| || !ClassOfRelationshipWithRelatedEnd1 || || A is a where a particular is related in the , rather than the members of a . The related plays the indicated by the class_of_end_1 attribute. || || !ClassOfRelationshipWithRelatedEnd2 || || A is a where a particular is related in the , rather than the members of a . The related plays the indicated by the class_of_end_2 attribute.|| || !ClassOfRelationshipWithSignature || || A is a that may have a specified for each end.|| || !ClassOfRepresentationTranslation || || A is a that indicates the translation of two instances of .|| || !ClassOfScaleConversion || || A is a that defines a conversion between two different scales of units used for the quantification of properties.|| || !ClassOfSubAtomicParticle || || A is a whose members are constituent particles of atoms.|| === Other === The following table lists other entity type pairs where the definition of one of the entity types indicate a possible membership between the pair. || Class || Member || [http://www.tc184-sc4.org/wg3ndocs/wg3n1328/lifecycle_integration_schema.html Definition]|| || !ClassOfRelationshipWithSignature || !OtherRelationship || Definition other_relationship: An is a that is not a member of any of the other explicit subtypes of . The meaning of an is specified by a by an instance of . || || !ClassOfIndirectProperty || !IndirectProperty || Definition indirect_property: An is a between a and a . The nature of the is defined by its by a . ''(Note: !ClassOfIndirectProperty is also listed in the table "Class of X and X, but no supporting definition".)''|| || Language || ? || Definition language: A is a whose members are all the information representations made in the language. || || !RepresentationOfGregorianDateAndUtcTime || ? || Definition representation_of_Gregorian_date_and_UTC_time: A is a whose members are representations of time using the UTC system of time identification as specified in ISO 8601:2000 together with the Gregorian system for representing dates. All times shall be represented using UTC representation of time. Dates shall follow the Gregorian calendar. || || !ShapeDimension || !IndividualDimension || Definition shape_dimension: A is a that is a set of that define an aspect of a shape. || || !PropertySpace || Property || Definition property_space: A is a whose members are a coherent continuum of . || || !ClassOfOrganization || !PhysicalObject || A is a whose members are instances of that are composed of temporal parts of people and other assets, and are organised with a particular purpose.|| ---- {{{ #!comment Placeholder for discussion forum [[ViewTopic([Enter forum topic])]] }}}