2D and 3D symbols on documents

latest update: 2014-11-25    


This topic is about a way to represent a document, containing 2D or 3D symbols, with templates. The word 'document' is used here in the generic sense of "Anything serving as a representation of something by means of symbolic marks.". In the example below a P&ID is defined, and one symbol, a centrifugal pump symbol for pump P-101, is further detailed.

This is a first go, there are some outstanding items.


A picture tells more than a thousand words:


For this explanation the "flow", indicated by the red arrows, is followed.

  1. ClassOfInformationObjectWithPresentationAndRepresentation - here the document class (ClassOfInformationObject) is made a specialization of:
    • a ClassOfInformationRepresentation that defines the information content, language and presentation form - use the template DefinitionOfAnInformationRepresentation for this (not shown above);
    • a ClassOfInformationPresentation that defines the styling applicable for the entire document - can be overridden for any individual symbol.
  2. DefinitionOfClassOfInformationObjectWithClassSet - in which the EnumeratedSetOfClass collects all the symbols and texts shown on the P&ID.
  3. EnumerationOfClass - These symbols and texts are classes, and they are made members of that EnumeratedSetOfClass by using, for each symbol or text one instance of this template. In case a symbol is removed from the P&ID the related instance of this template is deprecated.
  4. IndividualRepresentedByClassOfInformationObject - Now one particular symbol is now further detailed: the symbol of a centrifugal pump that is representing the instance of FunctionalPhysicalObject with the tag number P-101. Attention shall be given to the fact that the ClassOfInformationObject shall be defined as a specialization of a ClassOfInformationRepresentation, because if not, the template may not pass the validation applied on the lifted template. According Part 2 the 'pattern' role of ClassOfRepresentationOfThing must be played by an instance of ClassOfInformationRepresentation.
  5. DefinitionOfShapeAxis2Placement - In the edm (Extended Data Model) ontology we define an intersection between ClassOfInformationObject and the Part 3 Axis2Placement. The latter defines the coordinates for placement of the symbol on the P&ID. That placement is a part of the definition of the symbol.
  6. SpecializationOfClassOfIndividual - The symbol for P-101 is a specialization of the generic symbol that is stored in the Shape Catalog.
  7. ClassOfInformationObjectWithPresentationAndRepresentation - this template is used again, now to define the type of symbol (P&ID symbol in CSG format) and its styling (Styling to W3C SVG).
  8. DefinitionOfClassOfInformationObjectWithClassSet - this template is also used again, now to define the set of geometry primitives and templates that define them, their styling details, and their local positioning. Since it is not necessary to store the history of such details, use is made of the rdf:type property rather than of many instances of the template EnumerationOfClass. This makes it more compact.

Bullets 4 - 8 must be repeated for each and every symbol or text block.

Code listing

Click here for the listing (if this .rdf file gives problems: click here for the .txt version)