Declaration Of Component Of ClassOfIndividual

latest update: 2017-11-27     

DeclarationOfComponentOfClassOfIndividual

NARRATIVE

General

A ClassOfIndividual has a component ClassOfIndividual unknown to the source application. Use this TIP always in case the component is not being declared explicitly in the source application.

Example - CONTROL VALVE has a VALVE CLOSURE MEMBER (plug) that is not declared as such in the source application. But we need that plug in order to attribute its characteristic to it.

ISO 15926 calls for explicit modeling, making visible what is hidden in most information carriers. Applications often do not support that explicity and do not store components as such. For example: "a CENTRIFUGAL PUMP has an ImpellerDiameter" is implicit, whereas: "a CENTRIFUGAL PUMP has an IMPELLER, and that impeller has a diameter" is explicit.

NOTE 1 - It is ESSENTIAL to give a subIdentifier (of your own fantasy) to the component, because in its lifetime it must be possible to fetch it by its GUID via a query using its subIdentifier.

NOTE 2 - The choice of the correct "composed object" will be wizard-assisted, e.g. the user calls for "control valve" and the wizard will find the correct class for the declaration of that control valve. That class shall be as high as meaningful in the class hierarchy, so that a later change will not cause problems.

INFORMATION MODEL

SIGNATURE

tip:DeclarationOfComponentOfClassOfIndividual

Role No

Role Variable

Description of Variable

Example of value

1

var_WholeIdentifierValue

Identifier of imaginary Individual that is the 'whole' in the assembly

LV-101_CO

2

var_PartObjectTypeId

"Declaration Class" that represents the function (not the role) of the 'part' imaginary Individual

rdl:RDS428894

3

var_PartIdentifierSuffix

Identifier suffix for the subIdentifier of the 'part' imaginary Individual in the assembly

-PLUG

4

var_dateTime

The effectivity xsd:dateTime of the information represented here

2017-09-10T14:57:00Z

PICK-LIST

For Role2 refer to applicable pick-list, selected via the wizard, e.g. a pick-list for all recorded parts of a control valve. For Requirements Classes these pick-lists are to be based on the RDL 1), for Product Classes on an ISO 13584-based library of the supplier, if available.

1) These ontologies do not yet exist in the RDL.

GENERIC CODE

  

# DECLARED OBJECT (check existence and if label not existing: declare)

  

:id({var_WholeIdentifierValue}{var_PartIdentifierSuffix})rdf:type <entityTypeOf(var_WholeIdentifierValue)> ;

    rdfs:subClassOf <var_PartObjectTypeId> ;

    rdfs:label  "var_WholeIdentifierValuevar_PartIdentifierSuffix" ;

    meta:valEffectiveDate "var_dateTime"^^xsd:dateTime .

 

# DECLARED TEMPLATE

:var_TemplateId1 rdf:type tpl:ClassOfAssemblyDefinition ;

    tpl:hasClassOfWhole :id(var_WholeIdentifierValue) ;

    tpl:hasClassOfPart :id({var_WholeIdentifierValue}{var_PartIdentifierSuffix}) ;

    meta:valEffectiveDate "var_dateTime"^^xsd:dateTime .