[[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=2]; possible_individual [shape="box", width=2]; "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. `#TheOldPumpInMyGarage` is a member of `PUMP`, `PUMP` is a member of `ROTATING MECHANICAL EQUIPMENT CLASS`. `ROTATING MECHANICAL EQUIPMENT CLASS` is an instance of class_of_class_of_individual, `PUMP` is an instance of class_of_individual and `#TheOldPumpInMyGarage` 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. (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 thus 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 OWL definition of CLASSIFICATION in the OWL file http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003 is the following {{{ Class: Classification SubClassOf: Relationship, hasClassifier exactly 1 Class, hasClassified exactly 1 Class }}} The EXPRESS definition is found here: [http://www.tc184-sc4.org/wg3ndocs/wg3n1328/lifecycle_integration_schema/lexical/classification.html classification]. [diagram] The owl:ObjectProperties hasClassified and hasClassifier is defined in ISO 15926-2 OWL as {{{ ObjectProperty: hasClassifier Domain: Classification ObjectProperty: hasClassified Domain: Classification }}} We want to put local restrictions on the use of Classification on specific entity types, e.g., such as (informally) "a !ClassOfIndividual may only have !PossibleIndividual-s as members". To be able to do so we need to 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 that "a !ClassOfIndividual may only be a classifier in a Classification which has a !PossibleIndividual as classified" and "a !PossibleIndividual may only be classified in a Classification which has a !ClassOfIndividual as classifier", in OWL: {{{ Class: part2:ClassOfIndividual SubClassOf: isClassifierIn only (part2:hasClassified only part2:PossibleIndividual) Class: part2:PossibleIndividual SubClassOf: isClassifiedIn only (part2:hasClassifier only part2:ClassOfIndividual) }}} == 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 . || || !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.|| || !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. ''(NB! This entity type is not in the list of entity types found on the online version. [http://www.tc184-sc4.org/wg3ndocs/wg3n1328/lifecycle_integration_schema/lexical/class_of_express_information_representation.html Go here to see the definition].)'' || || !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.|| ---- {{{ #!comment Placeholder for discussion forum [[ViewTopic([Enter forum topic])]] }}}