All things, that are involved in any information, shall first be declared and identified as "Ur" objects (see https://en.wiktionary.org/wiki/ur-). The idea can be explained using the pump P-101 as an example.
All objects, including the Ur objects, shall have an immutable ID that always stays with that object. It is advisable to use GUIDs for that, because these are globally unique, with a neglecible chance of duplication, even more so because they are used inside a, guaranteed unique, namespace.
There are many flavors of UUID/GUID.
Next to the GUID many things get one or more user-memorizable identifiers, such as tag number, serial number, asset number, line number, equipment number, etc. These identifiers are, in the context of ISO 15926, of utmost importance, because they are the starting point of most queries. Therefore a consistent format of them is important.
The GUID can easily be fetched with a simple SPARQL query using an identifier as search criterium and hence doesn't have to be stored in the source system.
The "Declaration Class" is important and shall be selected carefully. It is the class of which the declared ActualIndividual is a member. It is the class that is ALWAYS valid as long as the declared object hasn't been deprecated. If the Declaration Class is changed the OOI is no longer valid and all information is frozen. So use PUMP and not CENTRIFUGAL PUMP, because it may change to POSITIVE DISPLACEMENT PUMP. Granted, it isn't likely to happen, but better safe than sorry. Later the specialization or classification with CENTRIFUGAL PUMP can be done with a template which can, when necessary, be deprecated and changed to POSITIVE DISPLACEMENT PUMP with a new template. The anchor remains PUMP then.
For Role1 refer to http://data.15926.org/esoc/E27A2EC1E42D44CE840E7388799B6A9C or create a local subset.
For Role2 refer to http://data.15926.org/esoc/426EF972BBA5436D8046BFCD2FE41054 or create a local subset.
# DECLARED OBJECT (check existence and if label not existing: declare)
:id(var_IdentifierValue) rdf:type <var_EntityType>, dm:WholeLifeIndividual, dm:ActualIndividual, <var_ObjectTypeId> ;
rdfs:label "var_IdentifierValue" ;
meta:valEffectiveDate "var_dateTime"^^xsd:dateTime .