Templates latest update: 2008-03-01 ![]()

What is a template?First you are advised to click here to see a Template Specification. A Longhand Template is a collector of ISO 15926-2 entity data types that together capture the representation of the information one wants to exchange. It would be OK to use the longhand templates, but it would be a waste of server space and CPU cycles to store something over and over again that doesn't change. We can have, say, 65,000 instances of this template, and as a consequence would have to store hundreds of thousands rather useless objects. This is where the Shorthand Templates come into the play. A Shorthand Template (ST) is an n-ary relationship that only points at the variant "leaves" of the graph of its companion ("isDefinedBy") Longhand Template. These leaves are called "external references". We define the (RDF) Properties of a Shorthand Template like "possessor", "propertyType", etc. such that they can be understood by non-modellers. NOTE - Please also refer to a W3C paper, where N-ary relations in OWL are being discussed. Shorthand Templates require far less storage space and CPU cycles. In case there is doubt about their semantical content, the counterpart Longhand Template can be found via the isDefinedBy Property. The (generic) templates are defined in normative Template Specifications. Normally only shorthand templates will be instantiated, but if so required the LTs can be instantiated as well. This is required when one wants to generate a Part 21 (ISO 10303-21) file. Why Longhand Templates?So why then do we have Longhand Templates? The LTs provide the full definition of the ST in terms of an application model that complies with the data model of ISO 15926-2. This warrants true lifecycle integration, because that was, and still is, the aim of that data model. Template meta dataLonghand and Shorthand Templates are specializations of the entity data types multidimensional_object and class_of_information_representation. Both are a subtype of thing. Thing has, next to its (system) identifier, five optional attributes that represent meta data about the record (not the information content!). These are (in OWL "camelBack" notation):
The latter two are implemented by means of templates, because after the creation of a record it is not allowed to change it afterwards, and nobody creates a record that is logically deleted at creation time. Root TemplateThe meta data of thing are extended for templates with three properties:
Specialization of template classesAny template class can be specialized by constraining or fixing one or more of their Properties. In an OWL schema the constraining is done by entering a subclass behind 'allValuesFrom', and the "fixing" is done by entering the one-and-only permissible ID behind "hasValue". For example, above template class ST-3401 could be specialized to say:
This was the case with the specialized template class ST-VESSEL-3401-003 (below), that is stored in the normative ontology for Object Information Models (OIM). A further specialization could be by a user organization by fixing the unitOfMeasure, where we could fix the ID of the Scale, e.g. the ID for "BAR GAUGE". When data in any system needs to be mapped to ISO 15926 the OIM offers this kind of specialized templates, where only the ID of the physical object, the ID of the numerical value, and the date-time of effectiveness have to be filled in. This makes mapping a reasonably simple and deterministic exercise. Below is the OWL listing for the specialized template ST-VESSEL-3401-003 that is part of the OIM for VESSELs. Note that we only show the Restrictions ("anonymous classes") for the properties that need further constraining. The rest is inherited from ST-3401. Also note that the cardinality is not repeated, because it is inherited as well.
In case the PQR Ltd wants to warrant that always bar gauge is used as unit of measure, then they can further specialize this template to:
The ID of this specialized template may be the same or something totally different. It is different anyway, because it is preceded by a different URI. This is stored in the Façade of the PQR Ltd with a URI such as http://www.pqr-ltd.com/15926 RDF listing for template instanceBelow is the representation of information about an instance (vessel V-6060), using instances of template classes. This is in RDF/XML format, as is used for moving data from the originating system to its System Façade, or for data hand-over from one Façade to another.
Triples for template instancesFor storage in a Façade the above file in RDF/XML format is automatically converted to the N3 triple format with Subject-Predicate-Object: Ontology for TemplatesRDF/XML listings of shorthand templates are collected in the normative Ontology for Templates. Because for quite some time to come there will be the need for addition of templates to that ontology, that ontology cannot be on paper because the revision cycle time of ISO standards is too long. For that reason it must be on the Internet. The advantage of it being on the Internet is also that it can be imported in other ontologies. For the instantiation of longhand templates a FOL (first-order logic) specification for each template class has been defined (for the "initial set", that is). See http://www.rdlfacade.org/files/iso15926-7/ts/3401_rules.pdf for the rules of template 3401. Ultimately we expect some 200 generic templates. |