Implementing templates in an Object-Oriented style

date 2024-01-15 

Introduction

When you start with OO you learn that OO has four 'pillars':

Let's see whether and how this could be done with ISO 15926-7/8 Templates.

Discussion

Encapsulation

The internals of a template consist of:

Note - the SPARQL query hasn't been tested yet.

Abstraction

The externals of a template are found in its 'signature', that contains the variables of the internal graph plus the necessary metadata.
These are fetched by formentioned SPARQL query.

Inheritance

As mentioned before, you can specialize templates by upfront defining one or more of the variables in the signature.

Polymorphism

Where applicable one or more Roles in the signature refer to a Class in the ISO 15926-4 Reference Data Library, or an extension thereof.
That makes the (generic) Templates re-usable for as many cases as there are Classes of the given type in the RDL or extensions.


.