ISO 15926-7 - a further Introduction 

                                                                                                                                                                                           latest update: 2008-03-03  

The world today is a "global village", in which business is highly integrated.

 

Information exchange is the "blood stream" of such integrated business, and one might expect that such exchange is by now without any problem.

 

This, however, is not the case. This has many reasons, such as:

  • There are approx. 5000 natural languages used in this world (not including the dialects)
  • Each discipline has its own jargon, that again is in different natural languages, no cross-connections possible
  • Information is stored in a proprietary format, and must be exchanged with a system with another proprietary format
  • Systems (and people) work with 'implicit' information (details are left out, because 'you know')
  • Present standards, such as for e-business, are too limited in scope
  • Standards change every 3 to 4 years, assets (like a plant or an oil field) have a lifetime of 10 - 100 years.

ISO 15926 provides the means to deal with these handicaps.

 

 

Information representation

Information is a relationship between known things. It can be represented in layers of precision. The least precise is a representation in words (lawyers make a living of that).

Early 2004 the web language RDF (Resource Description Framework) was launched by W3C (World Wide Web Consortium). In essence it is a grammar to build elementary sentences, that always have the structure: subject - property - object. This is called a "triple".  These are two examples:

Figure 1 - Generic triple with sample populations

Wikipedia defines "subject" as: "In philosophy, a subject is a being which has . . . .  a relationship with another entity (or "object"). A subject is an observer and an object is a thing observed.".

Triples can be combined in "graphs", such as:

Figure 2 - Example of information about individuals, represented by a graph

Note - Ovals denote classes, rectangles denote members of a class.

It is also possible to build special graphs in the form of "n-ary relationships", where n=1-to-many. For example:

Figure 3 - Example of an instance of an n-ary relationship

 

These n-ary relationships are called "shorthand templates" in ISO 15926. These templates are the actual information holders.

In RDF a triple is a set of three URIs (Uniform Resource Identifier) like:

http://www.pqr-ltd.com/4502/me03#ST-267634   http://tpl.rdlfacade.org/data#propertyType   http://rdl.rdlfacade.org/data#RDS658578  .

These URIs represent individual things (e.g. your car) or concepts (e.g. Volvo model V70), or an explanation  of what a particular "property" means. If you build databases of individual things, vocabularies of concepts, and vocabularies of properties you can express information on this basis.

In all the above cases the depth of definition is rather shallow, not rigourous enough for what we want to achieve: lifecycle information integration of a process plant. That requires far more rigour (or rigor for our US readers) in that we need to determine what a particular thing REALLY is, and not what its role is.  For example, an "employee" actually is a role in an "employment" relationship between an organization (or person) and a person.

That is why we developed ISO 15926 (see also below), starting in the early nineties.

Now we have the means to build a next level of precision for information representation: the "longhand" templates. These are representing information in terms of the entity types of the ISO 15926-2 data model. Actually a longhand template is an application model, based on ISO 15926-2 entity types and their derivatives, that has been formally approved by means of an ISO ballot. The approval entails that the data model has been properly used for the given semantics.

The link between a (shallow) "shorthand" template and its (deep) "longhand" counterpart is made with the standard rdfs:isDefinedBy property. In fact the longhand template defines the internals of the shorthand template. It represents the semantical decomposition of that shorthand template, as can be seen in the graph below.

Figure 4 - Template class ST-3401 - Indirect property of an individual

 

What you see here is a graph showing:

  • the longhand template class LT-3401 - that simply collects components that are ISO 15926-2 data model entities (click here for a detailed specification), or specializations thereof;
  • the shorthand template class ST-3401 - that is a class of such an n-ary relationship.

An example, in RDF/XML format, of an instance of ST-3401 looks like:

       <part2:MultidimensionalObject rdf:ID="ST-293821">  (the identifier of this template instance)

            <rdf:type rdf:resource="http://oim.rdlfacade.org/data#ST-VESSEL-3401-012"/>  (tells that this is an instance of a sepcialization of ST-3401)

            <part7:temporalWhole rdf:resource="#PHO-1234"/>  (the "temporal whole" of the "temporal part" below)

            <part7:possessor rdf:resource="#PHO-1234_20070914T1328"/>  (the "temporal part" of PHO-1234 that has this design pressure)

            <part7:context rdf:resource="http://www.xyz-corp.com/rdl#COTWP-233291"/>  (the information context, e.g. Change Order 045)

            <part7:beginning rdf:resource="#XSDT_20070914T1328Z"/>  (the date-time that this information became effective)

            <part7:propertyType rdf:resource="http://rdl.rdlfacade.org/data#RDS357074"/>  (design pressure)

            <part7:numericalValue rdf:resource="#XSFL_-0.5"/>  (minus 0.5)

            <part7:unitOfMeasure rdf:resource="http://www.15926.org/rdl#RDS1348874"/>  (barg)

        </part2:MultidimensionalObject>

In the above example we relate known things defined in five different web servers, and we do that by using standard web technologies.

This is described in much more detail in this site.

OWL

OWL (Web Ontology Language) is a new (also since 2004) web language that allows us to define such application models. These models define the rules for the individual things represented in RDF, like the one above.

For example, it defines that the "object" of the property possessor of an instance of template class ST-3401 shall be an instance of part2:PossibleIndividual (the namespace part2: translates in http://dm.rdlfacade.org/data). This is done as follows (see the text in brown below):

   <part2:ClassOfMultidimensionalObject rdf:ID="ST-3401">

        <rdfs:label xml:lang="en">possession of indirect property by individual</rdfs:label>

        <rdfs:isDefinedBy rdf:resource="#LT-3401"/>

        <rdfs:subClassOf rdf:resource="#ST-0001"/>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#temporalWhole"/>

                <owl:allValuesFrom rdf:resource="http://dm.rdlfacade.org/data#PossibleIndividual"/>

                <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#possessor"/>

                <owl:allValuesFrom rdf:resource="http://dm.rdlfacade.org/data#PossibleIndividual"/>

                <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

       (this tells: the property "possessor" of an instance of this template ST-3401 shall point at an instance of part2:PossibleIndividual;

        and the cardinality defines that there is one, and only one, possible individual that can be the possessor.

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#context"/>

                <owl:allValuesFrom rdf:resource="http://dm.rdlfacade.org/data#ClassOfTemporalPart"/>

                <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#beginning"/>

                <owl:allValuesFrom rdf:resource="http://rdl.rdlfacade.org/data#XmlSchemaDateTime"/>

                <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#propertyType"/>

                <owl:allValuesFrom rdf:resource="http://dm.rdlfacade.org/data#ClassOfIndirectProperty"/>

                <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#basePropertyType"/>

                <owl:allValuesFrom rdf:resource="http://dm.rdlfacade.org/data#SinglePropertyDimension"/>

                <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#numericalValue"/>

                <owl:allValuesFrom rdf:resource="http://rdl.rdlfacade.org/data#XmlSchemaFloat"/>

                <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#unitOfMeasure"/>

                <owl:allValuesFrom rdf:resource="http://dm.rdlfacade.org/data#Scale"/>

                <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

   </part2:ClassOfMultidimensionalObject>

If, in the above instance of ST-3401, #PHO-1234_20060221T1346Z had not been an instance of PossibleIndividual, then a validator can detect that are report an error.

The listing of template class ST-3401 can be represented with the following graph:

Figure 5 - Graph of template class ST-3401

Now domain experts can define specializations of this template schema, such as also shown in the section on Object Information Models:

Figure 6 - Graph of template class ST-VESSEL-3401-012, specialized for DesignPressure of Vessels

In the specialized version of ST-3401 (Fig. 6) we see that:

  • PossibleIndividual has been specialized to 'Vessel' (i.e. this template is about a subset of all PossibleIndividuals: all vessels);
  • the propertyType is "fixed" to a member of ClassOfIndirectProperty called 'DesignPressure'.

This "fixing" is done with the "hasValue" construct in OWL:

   <part2:ClassOfMultidimensionalObject rdf:ID="ST-VESSEL-3401-012">

        <rdfs:label xml:lang="en">possession of design pressure by vessles</rdfs:label>

        <rdfs:subClassOf rdf:resource="http://www.15926.org/rdl#ST-3401"/>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#temporalWhole"/>

                <owl:allValuesFrom rdf:resource="http://rdl.rdlfacade.org/data#Vessel"/>

            </owl:Restriction>

        </rdfs:subClassOf>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#possessor"/>

                <owl:allValuesFrom rdf:resource="http://rdl.rdlfacade.org/data#Vessel"/>

            </owl:Restriction>

        </rdfs:subClassOf>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#propertyType"/>

                <owl:hasValue rdf:resource="http://rdl.rdlfacade.org/data#DesignPressure"/>

            </owl:Restriction>

        </rdfs:subClassOf>

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="#basePropertyType"/>

                <owl:hasValue rdf:resource="http://rdl.rdlfacade.org/data#Pressure"/>

            </owl:Restriction>

        </rdfs:subClassOf>

   </part2:ClassOfMultidimensionalObject>

Note that only the data that are further constrained are listed. Anything that remains the same, for example the cardinalities, is inherited from the superclass ST-3401.

Also note that although DesignPressure and Pressure are classes in their own right, they may not have members in the context of this specialized template (they may elsewhere, but not here, for OWL-DL-specific reasons).

Validation

The example instance of template class ST-3401, shown below Figure 4, now can be shown in a graph together with that template class:

Figure 7 - Graph of instantiated shorthand template ST-VESSEL-3401-012

Resuming

Based on a relatively small set of generic template classes the domain experts can build a rich ontology for each class. They can do that by making proper reference to ISO 15926-4 classes of derivatives from them, like found in any supplier catalog.

 

 

ISO 15926

ISO 15926 has three main parts:

  • Part 2 - data model - a fully generic, data-driven, 4D model with 201 entity types
  • Part 4 - reference data - core classes, object models, reference individuals (e.g. cities) - now 15,000 classes, expected to grow to 100,000
  • Part 7 - implementation methods (in OWL) - using templates, being n-ary relations

The Properties of the templates refer to reference data in a standard RDF/OWL manner. The semantics of any template type, so its "internals", are modelled in terms of Part 2 entity types.

The purpose of ISO 15926 is to provide a Lingua Franca for computer systems, thereby integrating the information produced by them. Although set up for the process industries with large projects involving many parties, and involving plant operations and maintenance lasting decades, the technology can be used by anyone willing to set up a proper vocabulary of reference data linked with Part 4.

Each computer program maps its data from its internal format to a standard format defined by ISO 15926. That data then is stored in a System Façade, each system has its own System Façade. A Façade is an RDF quad store, set up to a standard schema and API, as defined in Part 7. Any Façade only stores the data for which the Façade owner is responsible.

Data can be queried by means of SPARQL, and also can be "handed over" from one Façade to another in cases where data custodianship is handed over (e.g. from a contractor to a plant owner, of from a manufacturer to the owners of the manufactured goods). Façades have a standard API for population, handing over, information exchange, and querying.

One can set up Façades for the consolidation of data by handing over data produced by various systems and stored in their System Façades. Examples are: a Façade for a project discipline, a project, a plant, or even for a company in a fiscal year).

In any implementation a restricted number of Façades can be involved, with different rights. This is done by means of setting up a matrix called a CPF (= Confederation of Participating Façades). Using SOAP and WSDL an Ontology Browser can have access to one or more Façades in a given CPF, depending on the access rights.

Since the data model is a 4D (space-time) model, it is possible to present the data that was valid at any given point in time, thus providing a true historical record. It is expected that this will be used for Knowledge Mining.

Projects

At present (2008) two cooperating implementation projects are active:

 

The ISO 15926 Stack

The stack of ISO 15926 has eight layers, that are shown in the diagram below:

  1. The RDF-RDFS-OWL models for the Semantic Web in accordance with the W3C Recommendations
  1. The 201 entity types defined in the data model of ISO 15926 Part 2 , defined as owl:Classes; see also here.
  1. A Reference Data Library (RDL) with approx. 15,000 (now) to (ultimately?) 100,000 standard classes, defined in ISO 15926 Part 4 and mapped to Part 7 OWL format; see also here.
  1. Approx. 200 Template classes representing certain typical semantics, and using the above entity types as building blocks; see also here.
  1. Object Information Models for a number of these classes, being a collection of specialized template classes in which the RDL classes play a role
  1. Document Types  (classes) defined by the user organizations, and using views on the applicable OIM(s)
  1. Façades, for integrating all lifecycle information in Quad Stores, (mainly) containing instances (owl:Thing)
  1. The various User Systems with their proprietary internal format

 Click on any level below to obtain a detailed example

Figure 1 - The ISO 15926 Stack

Linking distributed systems

Figure 2 - Linking distributed systems

Semantic Web - the ultimate information integration

ISO 15926-7 has an information structure in the Façades that can be the "semantical backbone" when merging its data with other data, be it in another Façade or in another resource (e.g.  a Document Management System, or a supplier catalog) on the Internet/Intranet.  

User systems with web access can also fetch and use information stored in the Façades by using a standard API based on SPARQL.

The picture below gives an impression of a use case:

Figure 3 - A Confederation of Participating Façades

By mapping system data to and from the standard ISO 15926-7 Transfer File format a Façade can be populated or read, and as said above: Façades can communicate with each other over the Internet on a semantic level (they "understand" each other).

In this way the standard ISO 15926-7 format plays the same role for computer systems as English (or any other important natural language) in the communication between human beings.

Costs

The larger part of the costs is in the mapping of data in your system to the ISO 15926-7 format. The costs for an actual Façade are low, because:

  • the Facade core software will be in the public domain (software companies can use it as a basis for offering an enhanced version as an integral part of their software)

  • you can run it with freeware software such as RAP on a web server.

In case of larger consolidating Façades commercially available large-scale RDF stores will be required.