ISO 15926 TUTORIAL - LESSON 9 - Mapping and Homework

Let's discuss

Mapping

First we'll have a look at a diagram that covers all aspects:

which is acually the same as shown in the very first lesson. It boils down to:

In principle this is simple, but as usual the devil is in the details. Here are some, from left to right:
All the above is yet design, not yet operational, simply because we lacked the necessary funding. But it is the cherry on the pie, and, as you have seen in previous lessons, that pie is very large.

Here is an example of a screen of an ETL tool:


In our case the middle table would be the Reference Ontology and the right table a template signature.

Implicit vs Explicit
Keep in mind that most information in documents and databases is implicit, i.e. it leaves out details that the user and/or the software is supposed to know. But in the context of information integration and sharing there will be users and software that have no clue what is meant. So we strive to explicitness to the maximum extent (but still being defendable from a business perspective).

Mapping Scope
You shouldn't map everything, because not everything needs to be computer-processable for future users. So analyze which information possibly would be required in the future, for example for revamps, debottlenecking,  energy optimalization, CO2 reduction, etc. Strive for a hybrid solution between documents and data. See the topic Mixing data and documents .

Mapping Procedure

My procedure is roughly as follows:

  1. Determine what the OOI(s) (Object Of Interest) is(are)
  2. Write a narrative about the information about those OOI's that you have to map
  3. Is an instance thereof a Class or an Individual? This determines the choice of template category: Templates for Class or Templates for Individual
  4. If the latter, is it NonActualIndividual or an ActualIndividual? And is it a WholeLifeIndividual or do you specifically require a temporal part?
  5. Declare the OOI(s) - if later it appears that it(they) already exist(s) they will be ignored
  6. Determine what kind of information it is that you map; look at the column 'Aspect' in Template Specifications
  7. Select the proper Template, where that shall be one for which you do have the data to fill the signature AND that represents the semantics of your narrative

Using AI

In order to assist you in finding a template type that matches with the data element(s) you want to map, the use of AI may be considered. In particular AI that can compare the semantics of the definition of your data element(s) with the definitions of the approx. 200 Template Specifications, and come up with a "semantic similarity rating" between 0 and 1. The ultimate selection is to be made by you. See also here.

Homework

As stated in last session here is some homework.

Exercise 1
Tell in your own words what the information contents of the following ISO 15926-8 exchange file is:

@prefix ex: <http://www.example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix dm: <http://data.15926.org/dm/> .
@prefix lci: <http://data.15926.org/lci/> .
@prefix meta: <http://data.15926.org/meta/> .
@prefix tpl: </templates/> .
@prefix rdl: <http://data.15926.org/rdl/> .

ex:3f7433c7-b915-4651-b6f8-1ea91c41ed130 
    rdf:type lci:InanimatePhysicalObject, dm:WholeLifeIndividual, lci:NonActualIndividual, rdl:RDS414674 ;
    rdfs:label "21-V-320" ;
    meta:valEffectiveDate "2021-07-23T14:43:00z"^^xsd:dateTime .

ex:3b0ef235-2e60-4b3d-a969-be8abf622958
    rdf:type lci:InanimatePhysicalObject, dm:WholeLifeIndividual, lci:NonActualIndividual, rdl:RDS2195143051 ;
    rdfs:label "21-V-320-N2" ;
    meta:valEffectiveDate "2021-07-23T14:43:00z"^^xsd:dateTime .

ex:e6b1cf6e-eea6-4ee2-b131-098eca0c4acb
    rdf:type dm:Stream, dm:WholeLifeIndividual, lci:NonActualIndividual, rdl:RDS2227031 ;
    rdfs:label "STRM-4935" ;
    meta:valEffectiveDate "2021-07-13T09:13:00z"^^xsd:dateTime .

ex:c76e7745-dec1-46e6-b422-85ae7727cfca
    rdf:type tpl:ClassificationOfIndividual ;
    tpl:hasClassified ex:3f7433c7-b915-4651-b6f8-1ea91c41ed130 ;
    tpl:hasClassifier rdl:RDS5785737 ;
    meta:valEffectiveDate "2021-07-23T14:43:00z"^^xsd:dateTime .

ex:3b61b9e5-d8e5-45fd-9873-00d477fcb753
    rdf:type tpl:ClassificationOfIndividual ;
    tpl:hasClassified ex:3b0ef235-2e60-4b3d-a969-be8abf622958 ;
    tpl:hasClassifier rdl:RDS43168245130  ;
    meta:valEffectiveDate "2021-07-23T14:43:00z"^^xsd:dateTime .

ex:773eeb6e-5966-4945-bc62-7684f628e418
    rdf:type tpl:AssemblyOfAnIndividual ;
    tpl:hasWhole ex:3f7433c7-b915-4651-b6f8-1ea91c41ed130 ;
    tpl:hasPart ex:3b0ef235-2e60-4b3d-a969-be8abf622958 ;
    meta:valEffectiveDate "2021-07-23T14:43:00z"^^xsd:dateTime .

ex:5ccdefb6-4c79-4263-b976-b9d1862bfb8f
    rdf:type tpl:ContainmentOfAnIndividual ;
    tpl:hasContainer ex:3f7433c7-b915-4651-b6f8-1ea91c41ed130 ;
    tpl:hasContained ex:e6b1cf6e-eea6-4ee2-b131-098eca0c4acb ;
    meta:valEffectiveDate "2021-07-24T11:37:00z"^^xsd:dateTime .

ex:186eb09e-52d3-4601-b73b-f201dcbd1fca
    rdf:type tpl:IndividualHasIndirectPropertyWithValue ;
    tpl:hasPropertyPossessor ex:3f7433c7-b915-4651-b6f8-1ea91c41ed130 ;
    tpl:hasIndirectPropertyType rdl:RDS2228787 ;
    tpl:valPropertyValue "4.8"^^xsd:decimal ;
    tpl:hasScale rdl:RDS1349099 ;
    meta:hasStatus rdl:RDS2224442 ; # normally not done at this level, but to show that it is possible
    meta:valEffectiveDate "2021-08-26T12:38:00z"^^xsd:dateTime .

ex:d5109a5f-6f50-49ee-bc8d-e1f19834ba17
    rdf:type tpl:PropertyOfStreamAtRelativeLocation ;
    tpl:hasStream ex:e6b1cf6e-eea6-4ee2-b131-098eca0c4acb ;
    tpl:hasLocator ex:3b0ef235-2e60-4b3d-a969-be8abf622958 ;
    tpl:hasPropertyType rdl:RDS355859 ;
    tpl:valPropertyValue "57.9"^^xsd:decimal ;
    tpl:hasScale rdl:RDS1322684 ;
    meta:hasStatus rdl:RDS2224442 ;
    meta:valEffectiveDate "2021-08-26T12:38:00z"^^xsd:dateTime .
#EOF 

ADDENDUM

Below is the set of triples for above listing (neatly sorted for you, normally random):

<http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/lci/InanimatePhysicalObject> .
<http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/dm/WholeLifeIndividual> .
<http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/lci/NonActualIndividual> .
<http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/rdl/RDS5785737> <http://data.15926.org/rdl/RDS5785737> .
<http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> <http://www.w3.org/2000/01/rdf-schema#label> "21-V-320" .
<http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> <http://data.15926.org/meta/valEffectiveDate> "2021-07-23T14:43:00z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .

<http://www.example.org/3b0ef235-2e60-4b3d-a969-be8abf622958> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/lci/InanimatePhysicalObject> .
<http://www.example.org/3b0ef235-2e60-4b3d-a969-be8abf622958> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/dm/WholeLifeIndividual> .
<http://www.example.org/3b0ef235-2e60-4b3d-a969-be8abf622958> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/lci/NonActualIndividual> .
<http://www.example.org/3b0ef235-2e60-4b3d-a969-be8abf622958> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/rdl/RDS2195143051> .
<http://www.example.org/3b0ef235-2e60-4b3d-a969-be8abf622958> <http://www.w3.org/2000/01/rdf-schema#label> "21-V-320-N2" .
<http://www.example.org/3b0ef235-2e60-4b3d-a969-be8abf622958> <http://data.15926.org/meta/valEffectiveDate> "2021-07-23T14:43:00z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .

<http://www.example.org/e6b1cf6e-eea6-4ee2-b131-098eca0c4acb> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/dm/Stream> .
<http://www.example.org/e6b1cf6e-eea6-4ee2-b131-098eca0c4acb> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/dm/WholeLifeIndividual> .
<http://www.example.org/e6b1cf6e-eea6-4ee2-b131-098eca0c4acb> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/lci/NonActualIndividual> .
<http://www.example.org/e6b1cf6e-eea6-4ee2-b131-098eca0c4acb> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/rdl/RDS2227031> .
<http://www.example.org/e6b1cf6e-eea6-4ee2-b131-098eca0c4acb> <http://www.w3.org/2000/01/rdf-schema#label> "STRM-4935" .
<http://www.example.org/e6b1cf6e-eea6-4ee2-b131-098eca0c4acb> <http://data.15926.org/meta/valEffectiveDate> "2021-07-13T09:13:00z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .

<http://www.example.org/c76e7745-dec1-46e6-b422-85ae7727cfca> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/tpl/ClassificationOfIndividual> .
<http://www.example.org/c76e7745-dec1-46e6-b422-85ae7727cfca> <http://data.15926.org/tpl/hasClassified> <http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> .
<http://www.example.org/c76e7745-dec1-46e6-b422-85ae7727cfca> <http://data.15926.org/tpl/hasClassifier> <http://data.15926.org/rdl/RDS5785737> .
<http://www.example.org/c76e7745-dec1-46e6-b422-85ae7727cfca> <http://data.15926.org/meta/valEffectiveDate> "2021-07-23T14:43:00z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .

<http://www.example.org/3b61b9e5-d8e5-45fd-9873-00d477fcb753> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/tpl/ClassificationOfIndividual> .
<http://www.example.org/3b61b9e5-d8e5-45fd-9873-00d477fcb753> <http://data.15926.org/tpl/hasClassified> <http://www.example.org/3b0ef235-2e60-4b3d-a969-be8abf622958> .
<http://www.example.org/3b61b9e5-d8e5-45fd-9873-00d477fcb753> <http://data.15926.org/tpl/hasClassifier> <http://data.15926.org/rdl/RDS43168245130> .
<http://www.example.org/3b61b9e5-d8e5-45fd-9873-00d477fcb753> <http://data.15926.org/meta/valEffectiveDate> "2021-07-23T14:43:00z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .

<http://www.example.org/773eeb6e-5966-4945-bc62-7684f628e418> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/tpl/AssemblyOfAnIndividual> .
<http://www.example.org/773eeb6e-5966-4945-bc62-7684f628e418> <http://data.15926.org/tpl/hasWhole> <http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> .
<http://www.example.org/773eeb6e-5966-4945-bc62-7684f628e418> <http://data.15926.org/tpl/hasPart> <http://www.example.org/3b0ef235-2e60-4b3d-a969-be8abf622958> .
<http://www.example.org/773eeb6e-5966-4945-bc62-7684f628e418> <http://data.15926.org/meta/valEffectiveDate> "2021-07-23T14:43:00z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .

<http://www.example.org/5ccdefb6-4c79-4263-b976-b9d1862bfb8f> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/tpl/ContainmentOfAnIndividual> .
<http://www.example.org/5ccdefb6-4c79-4263-b976-b9d1862bfb8f> <http://data.15926.org/tpl/hasContainer> <http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> .
<http://www.example.org/5ccdefb6-4c79-4263-b976-b9d1862bfb8f> <http://data.15926.org/tpl/hasContained> <http://www.example.org/e6b1cf6e-eea6-4ee2-b131-098eca0c4acb> .
<http://www.example.org/5ccdefb6-4c79-4263-b976-b9d1862bfb8f> <http://data.15926.org/meta/valEffectiveDate> "2021-07-24T11:37:00z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .

<http://www.example.org/186eb09e-52d3-4601-b73b-f201dcbd1fca> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/tpl/IndividualHasIndirectPropertyWithValue> .
<http://www.example.org/186eb09e-52d3-4601-b73b-f201dcbd1fca> <http://data.15926.org/tpl/hasPropertyPossessor> <http://www.example.org/3f7433c7-b915-4651-b6f8-1ea91c41ed130> .
<http://www.example.org/186eb09e-52d3-4601-b73b-f201dcbd1fca> <http://data.15926.org/tpl/hasIndirectPropertyType> <http://data.15926.org/rdl/RDS2228787> .
<http://www.example.org/186eb09e-52d3-4601-b73b-f201dcbd1fca> <http://data.15926.org/tpl/valPropertyValue> "4.8"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://www.example.org/186eb09e-52d3-4601-b73b-f201dcbd1fca> <http://data.15926.org/tpl/hasScale> <http://data.15926.org/rdl/RDS1349099> .
<http://www.example.org/186eb09e-52d3-4601-b73b-f201dcbd1fca> <http://data.15926.org/meta/hasStatus> <http://data.15926.org/rdl/RDS2224442> .
<http://www.example.org/186eb09e-52d3-4601-b73b-f201dcbd1fca> <http://data.15926.org/meta/valEffectiveDate> "2021-08-26T12:38:00z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .

<http://www.example.org/d5109a5f-6f50-49ee-bc8d-e1f19834ba17> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.15926.org/tpl/PropertyOfStreamAtRelativeLocation> .
<http://www.example.org/d5109a5f-6f50-49ee-bc8d-e1f19834ba17> <http://data.15926.org/tpl/hasStream> <http://www.example.org/e6b1cf6e-eea6-4ee2-b131-098eca0c4acb> .
<http://www.example.org/d5109a5f-6f50-49ee-bc8d-e1f19834ba17> <http://data.15926.org/tpl/hasLocator> <http://www.example.org/3b0ef235-2e60-4b3d-a969-be8abf622958> .
<http://www.example.org/d5109a5f-6f50-49ee-bc8d-e1f19834ba17> <http://data.15926.org/tpl/hasPropertyType> <http://data.15926.org/rdl/RDS355859> .
<http://www.example.org/d5109a5f-6f50-49ee-bc8d-e1f19834ba17> <http://data.15926.org/tpl/valPropertyValue> "57.9"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://www.example.org/d5109a5f-6f50-49ee-bc8d-e1f19834ba17> <http://data.15926.org/tpl/hasScale> <http://data.15926.org/rdl/RDS1322684> .
<http://www.example.org/d5109a5f-6f50-49ee-bc8d-e1f19834ba17> <http://data.15926.org/meta/hasStatus> <http://data.15926.org/rdl/RDS2224442> .
<http://www.example.org/d5109a5f-6f50-49ee-bc8d-e1f19834ba17> <http://data.15926.org/meta/valEffectiveDate> "2021-08-26T12:38:00z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .

For each template type a typical format is given in the template specifications. For example the last above template:

<[EssentialType] individual [hasStream] in or at [EssentialType] individual [hasLocator] has a [hasPropertyType] of [valPropertyValue] [hasScale]

that would result in a rather precise description:

[LIQUID STREAM] individual [STRM-4935] in or at [LIQUID OUTLET PORT] individual [21-V-320-N2] has a [TEMPERATURE] of [57.9] [DEGREE CELSIUS]

but of course other presentations, for example in tabular form, are possible and OK.