Introduction
This topic explains the relation between an instance of ClassOfInformationObject ("document type") and an instance of DocumentDefinition
Discussion
The applicable Part 2 definitions are:
- A ClassOfInformationObject is a ClassOfPhysicalObject whose members are members of zero or more instances of ClassOfInformationRepresentation and of zero or more instances of ClassOfInformationPresentation.
- A DocumentDefinition is a ClassOfClassOfInformationRepresentation that defines the content and/or structure of documents.
Unfortunately there is no direct relationship between the two. Instead this link is indirect: A ClassOfInformationObject is a subClassOf a ClassOfInformationRepresentation, which is classified with a DocumentDefinition
For example:
- "NEWSPAPER" is an instance of ClassOfInformationObject
- your today's physical newspaper in your mailbox is a member of "NEWSPAPER";
- your today's physical newspaper carries ink-on-paper, the latter is a member of ExpressString (a subclass of ClassOfInformationRepresentation);
- the layout and content of those strings must be in accordance with the rules of the publisher;
- those rules are defined in an instance of DocumentDefinition.
A typical example of DocumentDefinition is the definition of the API 610 Data Sheet for Centrifugal Pumps.
We can use the template DefinitionOfDocumentByContentsType to make that link:
Code Example
For the case of the Line List to XYZ Corp. standard the following code could apply, reflecting the use of above template:
:393d6af3-7473-4bae-9988-a6007c6ca026 rdf:type tpl:DefinitionOfDocumentByContentsType ; tpl:hasDocument rdl:RDS2228081 ; # POWER SYSTEM ANALYSIS DATASHEET (can also be a UUID of an actual datasheet) - See note below tpl:hasContentsType cfihos:71000281 ; # a (yet) fake CFIHOS ID for the applicable instance of DocumentDefinition, made by CFIHOS representing their rules meta:valEffectiveDate "2019-04-01T17:23:00Z"^^xsd:dateTime .
where cfihos:71000281 is an instance of dm:DocumentDefinition
Particular requirements in a local RDL extension
In case a company or an organization wants to define what they want the contents of a particular document type to be, they can do that by defining an instance of DocumentDefinition and store that in their own local RDL extension. It is possible to combine the RDL with one or more RDL extensions by "federating" them. The result is that it seems one RDL. Federation is possible for any project or other exercise.
NOTE - All templates about representing information have an instance of, mostly user-defined, DocumentDefinition in one of its Roles.
In case you are not interested in defining it, use rdl:RDS2227659 - UNDEFINED DEFINITION OF DOCUMENT. Later you can change that, if so required.