Mixing data and documents

latest update 2022-11-04  


Mapping all data presented on documents is not required for lifecycle information integration. Besides that it is a mission impossible.

This topic gives, at a conceptual level, a solution for the integration of data, that are being mapped, and documents.

Document storage

In most cases the software, that has been used for the creation of documents, will not be used throughout the life time of a facility. Then the documents are stored in, for the most, PDF format in an EDMS (Electronic Document Management System). An EDMS provides a solution for managing the creation, capture, indexing, storage, retrieval, and disposition of records and information assets of the organization.

Essential is, in this context, that each version (revision) of each document has its own URI and a user-extendable set of meta data.


A sketch of a set-up is:


Have a look at an ISA Contol Valve specification:

Mapping all 113 data elements on this document does not really make much sense. So which ones do make sense? The listing below represents the opinion of the author only:

Defining which data shall be mapped is up to the plant owner/operator, and is based on business requirements.

Note that the above should be read in the context of lifecycle information integration. For system-to-system interfacing other considerations may apply.

Considering the above one may draw the conclusion that only the meta data should be mapped, and data that have been created when engineering a control valve (provided it is important enough for lifecycle information integration). An example of the latter is the required Cv value (the selected valve has a Cv that is equal or slightly higher). Again, that value may come from some calculation program and, if so, should be mapped there at the source.

Some code

Assume a control valve with tag number FCV-101, defined on specification sheet IN-V-142 rev. 1. It has a Cv = 22.5. This leads to a mapping, in the ISO 15926 Adapter of the EDMS, to an instance of template

and in the ISO 15926 Plant Archive:

Below these four templates are represented in ISO 15926-8 format, in Turtle. Note that the control valve is here considered to be an instance of ClassOfInanimatePhysicalObject, because it is the "requirements class" of which the instance of PhysicalObject, that is represented on the P&ID, is a member. That class is tagged CO_FCV-101 (CO = ClassOf).

This code, generated in the ISO 15926 Adapter of the EDMS, has the namespace of the Plant Archive and is sent to and integrated in the latter.

:78a2ae99-7bec-4a26-a0c5-1072d5ff7e2c rdf:type tpl:ReferenceToClassOfIndividualOnDocument ;
    tpl:hasReferred :CO_FCV-101 ;
    tpl:hasDocument :64c8cdb5-7a37-4e57-b678-1f031211a9e6 ; # the GUID of IN-V-142 rev.1
    meta:valEffectiveDate "2019-06-22T00:00:00Z"^^xsd:dateTime .

:28ba21e7-f68e-45a4-968e-b3e47b14d536 rdf:type tpl:DocumentRevision ;
    tpl:hasRevisedDocument :64c8cdb5-7a37-4e57-b678-1f031211a9e6 ; # the GUID of IN-V-142 rev.1
    tpl:hasMember :4019efad-a8dc-441f-8ad2-cff79a837dee ; # the physical file at revision date
    tpl:hasActivity :10e9ba65-623e-40bc-b016-6c28514edb14 ; # auto-generated, for later use
    tpl:valRevisionDate "2014-06-22T00:00:00Z"^^xsd:dateTime ;
    meta:valEffectiveDate "2019-06-22T00:00:00Z"^^xsd:dateTime .

:960dcd59-e39e-4ce4-be44-78fb03b93cf2 rdf:type tpl:DocumentPublication ;
    tpl:hasPublishedDocument :64c8cdb5-7a37-4e57-b678-1f031211a9e6 ; # the GUID of IN-V-142 rev.1
    tpl:hasMember :fb1a5ccb-808f-409e-9afa-3c143506ba8e ; # the physical file at publication date
    tpl:hasStatus rdl:RDS2229161 ; # Approved for Procurement
    tpl:hasActivity :5e5c6658-3be0-46d7-862c-b4586ce8f5fe ; # auto-generated, for later use
    tpl:valPublicationDate "2019-06-22T00:00:00Z"^^xsd:dateTime ;
    meta:valEffectiveDate "2019-06-22T00:00:00Z"^^xsd:dateTime .

# and already stored in the Plant Archive:

:c02b49cd-a1a8-4744-97ce-d92a52a264b1 rdf:type tpl:ClassOfIndividualHasPropertyWithValue ;
    tpl:hasPossessorType :CO_FCV-101 ;
    tpl:hasPropertyType rdl:RDS6549840 ; # Cv-value (fake ID)
    tpl:valPropertyValue "22.5"^^xsd:decimal ;
    tpl:hasScale rdl:RDS1059740901 ; # DIMENSIONLESS SCALE
    meta:valEffectiveDate "2019-06-22T00:00:00Z"^^xsd:dateTime .