Introduction
The other day someone suggested that using the RDL was not essential, and that using other vocabularies is OK in the context of ISO 15926.
I will explain here why he was wrong.
Explanation
In the signature of most Template Specifications you will find PossibleIndividual or ClassOfIndividual. But in real life you will enter an Individual that is typed InanimatePhysicalObject, or Activity, or Person, or Organization, etc. And for ClassOfIndividual a Class that is typed ClassOfInanimatePhysicalObject, or ClassOfActivity, or ClassOfPerson, or ClassOfOrganization, etc.
That is correct, because these are specializations (subclass) of PossibleIndividual or ClassOfIndividual.
A reminder: A Specialization is a Relationship that indicates that all members of the subclass are members of the superclass. Specialization is transitive.
For any other vocabulary, that is not ISO 15926-compliant, that check is not possible.
Some code
In the bottom of the Template Spec "IndividualHasPropertyWithValue" you can find:
GENERIC
:UUID_IN-PTYST-100
rdf:type tpl:IndividualHasPropertyWithValue ;
tpl:hasPropertyPossessor "ID"^^dm:PossibleIndividual ; # reference to the ID of a member of PossibleIndividual
tpl:hasPropertyType "ID"^^dm:ClassOfProperty ;
tpl:valPropertyValue ""^^xsd:decimal ;
tpl:hasScale "ID"^^dm:Scale ;
meta:valEffectiveDate "yyyy-mm-ddThh:mm:ss.sZ"^^xsd:dateTime .
EXAMPLE - Vessel V-101 has a mass of 30.57 Metric Ton
ex:fcbfda39-4d1a-4047-b4ca-45ab8d44fca4
rdf:type tpl:IndividualHasPropertyWithValue ;
tpl:hasPropertyPossessor ex:847931fd-eade-4beb-b07d-a9e889611c19 ; # V-101
tpl:hasPropertyType rdl:RDS353339 ; # MASS
tpl:valPropertyValue "30.37"^^xsd:decimal ;
tpl:hasScale rdl:RDS2229868 ; # METRIC TON
meta:valEffectiveDate "2021-07-27T10:19:00Z"^^xsd:dateTime .
where vessel V-101 is assumed to have been declared as follows:
ex:847931fd-eade-4beb-b07d-a9e889611c19
rdf:type lci:InanimatePhysicalObject, dm:WholeLifeIndividual, lci:NonActualIndividual, rdl:RDS414674 ;
rdfs:label "V-101" ;
meta:valEffectiveDate "2021-07-03T13:53:00Z"^^xsd:dateTime .
where in the lci: extension of the RDL you can find:
InanimatePhysicalObject id http://data.15926.org/lci/InanimatePhysicalObject rdfs:label InanimatePhysicalObject rdf:type Class rdfs:subClassOf PhysicalObjectand:
PhysicalObject id http://data.15926.org/dm/PhysicalObject rdfs:label PhysicalObject rdf:type Class rdfs:subClassOf PossibleIndividualFurthermore rdl:RDS353339 - MASS is typed SinglePropertyDimension, which in turn is a specialization of PropertySpace, and that of dm:ClassOfProperty, and rdl:RDS2229868 - METRIC TON is indeed a Scale.
It fits like a Swiss clock, and for the most you don't have to bother about it.