The model of the string identifier in OBJECT_ID is designed as a hierarchical id, but OBJECT_ID also has the ARCHETYPE_ID subtype, which is a multi-axial, not hierarchical id.
The correct solution is to create a new class called
HIER_OBJECT_ID which models these things, as a subtype of
OBJECT_ID. OBJECT_ID then should not specify any particular
syntax of the id string. It can be made abstract and its
attributes local_id and context_id moved to HIER_OBJECT_ID.