PLM as data base model

latest update 2023-12-27  

Introduction

The PLM - Plant Life-cycle Model is a model of placeholders for information for each LIFECYCLE ACTIVITY. In fact it is the foundation for the entire life-cycle information.

So, in case you have Maintenance information, exported from some MMS - Maintenance Management System, you map it to templates and you know where to put it. It resembles a relational data base (ATTENTION: IT ISN'T ONE!), where you know where to store your data.

In ISO 15926-7/8 those data are mapped to Templates, that have, in the case of MMS information, PLM Nodes [93] and [94] (In-line Maintenance) or [95] and [96] (Shop Maintenance) in their 'signature'. Since each Asset item will, predictably, be maintained sometimes, these Nodes can be declared as soon as the Asset is registered at Node [76], or in case of In-line Maintenance, as soon as the Asset is installed (Node [84])..

The relations in the PLM have been mapped to Templates and are in the code.

The Turtle code for the PLM can be found here.

Example

Let's assume that the actual pump with Asset Number A573391 required shop maintenance, which started on December 15th, 2023, and has costed USD 1227.00.

Note that the data in this diagram are different from those below.

We take the code:
##### NODE 95 #####    
ex:95
	rdf:type lci:InanimatePhysicalObject, dm:ActualIndividual, rdl:R3 ; 
	rdfs:label "Node 95 - Temporal part of [labelOf ex:76] participating in [labelOf ex:96]" ;
	meta:hasLifeycleActivity  rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "yyyy-mm-ddThh:mm:ss.sZ"^^xsd:dateTime .

##### NODE 96 #####    
ex:96
	rdf:type dm:Activity, dm:WholeLifeIndividual, dm:ActualIndividual, rdl:RDS2229991 ; 
	rdfs:label "Node 96 - Shop Maintenance Activity" ;
	meta:hasLifeycleActivity  rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "yyyy-mm-ddThh:mm:ss.sZ"^^xsd:dateTime .

#########################################################
# TEMPLATES FOR INTERRELATIONSHIPS, REPLACING PREDICATES
# NOTE - In order of Node Numbers, no duplicates
#########################################################
ex:MAINT-03
	rdf:type tpl:IndividualHasTemporalPart ;
	tpl:hasTemporalWhole  ex:76 ; # Asset
	tpl:hasTemporalPart  ex:95 ; 
	meta:hasLifeycleActivity rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "yyyy-mm-ddThh:mm:ss.sZ"^^xsd:dateTime .
	 
ex:MAINT-04
	rdf:type tpl:ParticipationOfPhysicalObjectInActivity ;
	tpl:hasActivity ex:96; # individual Shop Maintenance Activity
	tpl:hasParticipant ex:95; #  temporal part of Asset
	tpl:hasParticipantRole rdl:RDS2228942  ; # DIRECT OBJECT
	meta:hasLifeycleActivity  rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "yyyy-mm-ddThh:mm:ss.sZ"^^xsd:dateTime .

Instantiation

We can fill this with the data we have at hand.
Note that Node 95, although being a temporal part of Asset 76, acts like a whole-life individual for all Shop Maintenance information related to this maintenance ticket.

##### NODE 95 INSTANCE #####    
xyz:73a8d47d-6763-45a6-97cc-b649e0af5878
	rdf:type lci:InanimatePhysicalObject, dm:ActualIndividual, rdl:RDS327239 ;  # PUMP
	rdfs:label "A573391_2023-12-22T14:53:00Z" ;
	meta:hasLifeycleActivity rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "2023-12-15T14:53:00Z"^^xsd:dateTime .

##### NODE 96 INSTANCE #####    
xyz:4efa441d-90fe-48cf-8a51-ee60754bd6ca
	rdf:type dm:Activity, dm:WholeLifeIndividual, dm:ActualIndividual, xyzrdl:R4375854 ;  # BEARING REPLACEMENT
	rdfs:label "Maintenance Ticket M4738221" ;
	meta:hasLifeycleActivity  rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "2023-12-15T14:53:00Z"^^xsd:dateTime .

#########################################################
# TEMPLATES FOR INTERRELATIONSHIPS, REPLACING PREDICATES
#########################################################
xyz:1bae2c53-6793-4605-be9f-e56c5e1dc926
	rdf:type tpl:IndividualHasTemporalPart ;
	tpl:hasTemporalWhole  xyz:dc3e8b4d-54d6-4ec8-aea5-7f9f0ce5e1b0 ; # Asset
	tpl:hasTemporalPart  xyz:73a8d47d-6763-45a6-97cc-b649e0af5878 ; #  A573391_2023-12-22T14:53:00Z (Node 95)
	meta:hasLifeycleActivity rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "2023-12-15T14:53:00Z"^^xsd:dateTime .

xyz:6f1f1858-9a52-4ed3-892f-97280a72384b
	rdf:type tpl:ParticipationOfPhysicalObjectInActivity ;
	tpl:hasActivity xyz:4efa441d-90fe-48cf-8a51-ee60754bd6ca ; # Maintenance Ticket M4738221
	tpl:hasParticipant xyz:73a8d47d-6763-45a6-97cc-b649e0af5878; #  A573391_2023-12-22T14:53:00Z (Node 95)
	tpl:hasParticipantRole rdl:RDS2228942  ; # DIRECT OBJECT
	meta:hasLifeycleActivity  rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "2023-12-15T14:53:00Z"^^xsd:dateTime .

#####################################
# TEMPLATES FOR RELATED INFORMATION
#####################################

xyz:a8da8b3d-faea-45b1-b968-0714caef6f05
        rdf:type tpl:IndividualHasStatus ;
        tpl:hasPossessor xyz:73a8d47d-6763-45a6-97cc-b649e0af5878; #  A573391_2023-12-22T14:53:00Z (Node 95)
        tpl:hasStatus  rdl:RDS222615 ; # MAINTAINED
	meta:hasLifeycleActivity  rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "2023-12-22T10:16:00Z"^^xsd:dateTime . # NOTE: one week later

xyz:f6e0b814-746b-4351-9005-115b3448d0d9
	rdf:type tpl:IndividualHasMonetaryValue ;
	tpl:hasPossessor xyz:4efa441d-90fe-48cf-8a51-ee60754bd6ca ;  # Maintenance Ticket M4738221
	tpl:hasCostType rdl:RDS7945382  ;  # MAINTENANCE COST
	tpl:valMonetaryValue "1227.00"^^xsd:decimal ;
	tpl:hasCurrency rdl:RDS2228349 ; # USD
	meta:hasLifeycleActivity  rdl:RDS2229991 ; # SHOP MAINTENANCE
	meta:valEffectiveDate "2023-12-22T10:16:00Z"^^xsd:dateTime .
This instantiation can be shown in the following graph (now with the proper data):

.