Introduction
Part 2 of ISO 15926 defines a conceptual graph model and an upper ontology. It defines a reference system of generic nodes and vertices that can be specialized and combined in implementations. However, conceptual models aren't very suitable for direct implementation.
In this topic it is shown how that gap is bridged for Part 7 Templates.
Example 1
First a graph for the template IndividualHasPropertyWithValue
It is possible to represent this in RDF(S), but that is such a direct implementation of a conceptual model. In Part 7 an implementation is defined where only the variables are of interest, with a reference to the graph inside the dotted lines. That can be seen at the far right of above diagram.
The code for this template instance is:
xyz:8545 rdf:type tpl:IndividualHasPropertyWithValue ; tpl:hasPropertyPossessor xyz:12345 ; # John Doe tpl:hasPropertyType rdl:RDS7285420 ; # WEIGHT tpl:valPropertyValue "84.7"^^xsd:decimal ; tpl:hasScale rdl:RDS1328669 ; # KILOGRAM meta:valEffectiveDate "2021-10-20T17:19:00Z"^^xsd:dateTime .The code for instantiation of the 'lifted templeate' version thereof is using the node numbers in the template graph of the template
Please note that using suffices of the UUID if the template instance has the advantage that all components of a template then get a globally unique ID that leads directly to the context of that template instance.
@prefix ex: <https://data.example.org/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . @prefix dm: <http://data.15926.org/dm/> . @prefix tm: <http://data.15926.org/tm/> . @prefix tpl: <http://data.15926.org/tpl/> . @prefix rdl: <http://data.15926.org/rdl/> . @prefix meta: <http://data.15926.org/meta/> . ex:9d762866-ec2c-4c14-89c6-bec348c37914 rdf:type dm:Person, dm:WholeLifeIndiviual, dm:ActualIndividual, rdl: ; rdfs:label "John Doe" ; meta:valEffectiveDate "2024-10-18 T09:22:00Z"^^xsd:dateTime . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892 rdf:type tpl:IndividualHasPropertyWithValue, dm:LiftedTemplate ; tpl:hasPropertyPossessor ex:1450222a-583c-4052-a29b-4b7d7450614e ; tpl:hasPropertyType rdl:RDS285420 ; tpl:valPropertyValue "84.7"^^xsd:decimal ; tpl:hasScale rdl:RDS1328669 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_05 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_06 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_07 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_08 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_09 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_10 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_11 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_12 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_13 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_14 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_15 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_16 ; tm:hasLiftedPart ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_17 ; meta:hasLifecycleActivity rdl:RDS9709622 ; meta:valEffectiveDate "2024-10-20T17:19:00Z"^^xsd:dateTime . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_05 rdf:type dm:TemporalWholePart ; dm:whole ex:847931fd-eade-4beb-b07d-a9e889611c19 ; dm:part ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_06 . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_06 rdf:type dm:Individual . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_07 rdf:type dm:Classification ; dm:classified ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_06 ; dm:classifier ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_09 . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_08 rdf:type dm:Classification ; dm:classified ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_09 ; dm:classifier ex:rdl:RDS353339 . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_09 rdf:type dm:Property . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_10 rdf:type dm:Classification ; dm:classified ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_11 ; dm:classifier rdl:RDS2229868 . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_11 rdf:type dm:PropertyQuantification ; dm:input ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_09 ; dm:result ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_13 . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_12 rdf:type dm:ClassOfIdentification ; dm:pattern "30.57"^^xsd:decimal ; dm:represented ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_13 . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_13 rdf:type dm:ArithmeticNumber . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_14 rdf:type dm:Beginning ; dm:part ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_15 ; dm:whole ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_06 . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_15 rdf:type dm:PointInTime . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_16 rdf:type dm:ClassOfIdentification ; dm:pattern ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_17 ; dm:represented ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_15 . ex:bf100233-c8d0-4ffe-a1f3-de76f1641892_17 rdf:type dm:Literal ; dm:value"2024-10-20T17:19:00Z"^^xsd:dateTime .
Example 2
The second example is of the template ClassifiedDescriptionOfIndividual
The code for this template instance is:
xyz:6432 rdf:type tpl:ClassifiedDescriptionOfIndividual ; tpl:hasDescribed xyz:2345; # P-101 tpl:hasDescriptor "E-121에 대한 보일러 급수"; # 'Boiler Feed water to E-121' according the rules for a service description and in the Korean language and Hangul format tpl:hasDescriptorType xyz:R423783 ; # XYZ Corp. Service Description In Korean Language and in HANGUL format. meta:valEffectiveDate "2024-10-08T14:42:00Z"^^xsd:dateTime .BTW, symbols in lightgreen are for RDL items, and dark green for classes in a local RDL extension