La configuración del metamodelo en Anjana Data permite adaptar y extender la estructura de entidades y relaciones más allá del metamodelo nativo. A través del Panel de configuración, el administrador puede definir nuevos subtipos de entidades (por ejemplo, BUSINESS TERM, AI SYSTEM, AI MODEL) y subtipos de relaciones (por ejemplo, TRAINED_WITH, GOVERNS, USED_BY) que representen la realidad de la organización.
La imagen siguiente muestra un ejemplo de metamodelo extendido, en el que se combinan las entidades y relaciones nativas con otras personalizadas, reflejando la complejidad de los activos de datos y sus vínculos dentro de la organización:

Estos subtipos de entidades y relaciones constituyen la base para:
-
Documentar de forma consistente los diferentes activos de datos.
-
Establecer relaciones de dependencia, jerarquía y gobernanza entre ellos.
-
Integrar los procesos de gobierno con workflows configurables para creación, modificación, transferencia, deprecación y validación de dichos activos.
Tabla Object Sub-types del Panel de Configuración (Visión administrador)
La tabla Object Sub-types es el punto central donde se configuran las entidades y relaciones del metamodelo. Cada subtipo de objeto registrado se caracteriza por los siguientes campos:

Estructura de la tabla Object Sub-types
Cada entidad o relación a gobernar se caracteriza por los siguientes campos:
-
id
: identificador único del subtipo de objeto.-
Se asigna automáticamente desde el Panel de configuración, en base a las secuencias de base de datos.
-
-
name
: nombre del subtipo de objeto.-
Este valor debe ser único dentro del módulo y no puede repetirse entre entidades o relaciones ya existentes.
-
Importante:
-
El atributo
name
del subtipo de objeto:-
No contener
:
,#
,(
o)
. -
No debe contener espacios para no interferir con los identificadores internos de Anjana Data.
-
Debe estar escrito en mayúsculas.
-
-
El
name
no puede coincidir con los nombres de las relaciones nativas (STRUCTURE, DSA_CONTENT…) a excepción de ADHERENCE, que debe declararse para habilitar el Marketplace.
-
module
: módulo al que pertenece el objeto.-
"BG"
→ Business Glossary (Glosario de Negocio) -
"DC"
→ Data Catalog (Catálogo de Datos)
-
-
typeObject
: indica si el subtipo corresponde a una entidad o a una relación.-
"ENTITY"
→ Entidad del metamodelo (ejemplo: DATASET, REPORT, DOCUMENT). -
"RELATIONSHIP"
→ Relación entre entidades (ejemplo: TRAINED_WITH, USED_BY, GOVERNS).
-
-
activate_workflow
: nombre del identificador del workflow de activación de entidades o relaciones no nativas. -
create_workflow
: nombre del identificador del workflow de creación. -
deactivate_workflow
: nombre del identificador del workflow de desactivación de entidades o relaciones no nativas. -
modify_workflow
: nombre del identificador del workflow de edición o modificación. -
transfer_workflow
: nombre del identificador del workflow que gestiona la transferencia (cambio de unidad organizativa) de entidades. -
deprecate_workflow
: nombre del identificador del workflow de deprecación de entidades nativas del Catálogo de Datos. -
wf_role_dependent
: indicador que define si existen workflows diferenciados por rol para una misma acción.-
Cuando este flag está activado, para cada una de las acciones configuradas en los campos anteriores (
create_workflow
,modify_workflow
,transfer_workflow
,deprecate_workflow
, etc.) es necesario definir un workflow específico por rol que tenga permisos para desencadenar dicha acción. -
El identificador de cada workflow por rol se construye a partir del identificador del workflow base, concatenado con el nombre del rol en la tabla Roles utilizando el formato:
<id_workflow_base>_-<role_name>
-
Ejemplo: si el identificador del workflow base de creación es
CREATE_DATASET
y elname
del rol esDataSteward
, el identificador seráCREATE_DATASET_-DataSteward
.
-
-
parental
: aplica solo en caso de ser una relación.-
Si el valor es verdadero, la relación se considera de parentesco (padre–hijo) y en el linaje se representará de forma vertical (arriba–abajo).
-
Si es falso, la relación se considera de input–output, representada horizontalmente (izquierda–derecha).
-
Nota importante: No confundir el identificador del workflow (valor indicado en el campo Id
del apartado General del editor BPM) con el nombre del workflow (valor indicado en el campo Name
).

Notas importantes:
-
Para habilitar las capacidades de Marketplace, se debe incluir la relación nativa ADHERENCE en la tabla de Object Subtypes.
-
Los nombres de los subtipos de objetos no admiten traducción (internacionalización)
Alta de una entidad en la tabla Object Sub-types
El alta de una nueva entidad en el metamodelo implica registrar en la tabla Object Sub-types
un nuevo registro con tipo ENTITY
.

Para añadir una nueva entidad:
-
Pulsar el botón New en la esquina superior derecha. Esto abrirá un asistente (wizard) con los campos definidos en el apartado Estructura de la tabla Object Sub-types.
-
Completar los campos correspondientes:
-
name
: nombre de la entidad (ejemplo:AI_MODEL
). -
module
: módulo en el que se utilizará (ejemplo:DC
). -
object_type
: seleccionarENTITY
. -
Definir los nombres de los identificadores de los workflows asociados a las acciones:
-
create_workflow
: Identificador del workflow de creación (ejemplo:WF_AI
). -
modify_workflow
: Identificador del workflow de modificación (ejemplo:WF_AI
). -
activate_workflow
: Identificador del workflow de activación, no aplica en caso de entidades nativas (ejemplo:WF_AI
). -
activate_workflow
: Identificador del workflow de activación , no aplica en caso de entidades nativas (ejemplo:WF_AI
). -
deactivate_workflow
: Identificador del workflow de desactivación, no aplica en caso de entidades nativas (ejemplo:WF_AI
). -
transfer_workflow
: Identificador del workflow de cambio de unidad organizativa (ejemplo:WF_AI
). -
deprecate_workflow
: Identificador del workflow de deprecación, no aplica en caso de entidades no nativas ( ejemplo: se deja vacío al tratarse de una entidad no nativa )
-
-
wf_role_dependent
: marcar solo si se desean configurar workflows diferentes para cada uno de los workflows anteriores.
-
-
Pulsar en Save para guardar la entidad o en Cancel para descartar.
Alta de una relación en la tabla Object Sub-types
El alta de una nueva relación en el metamodelo implica registrar en la tabla Object Sub-types
un nuevo registro con tipo RELATIONSHIP
.

Para añadir una nueva relación:
-
Pulsar el botón New en la esquina superior derecha. Esto abrirá un asistente (wizard) con los campos definidos en el apartado Estructura de la tabla Object Sub-types.
-
Completar los campos correspondientes:
-
name
: nombre de la relación (ejemplo:COMPOSED_OF
). -
module
: módulo en el que se utilizará (ejemplo:DC
). -
object_type
: seleccionarRELATIONSHIP
. -
Definir los nombres de los identificadores de los workflows asociados a las acciones:
-
create_workflow
: Identificador del workflow de creación (ejemplo:WF_AI
). -
modify_workflow
: Identificador del workflow de modificación (ejemplo:WF_AI
). -
activate_workflow
: Identificador del workflow de activación, no aplica en caso de relaciones nativas (ejemplo:WF_AI
). -
deactivate_workflow
: Identificador del workflow de desactivación, no aplica en caso de relaciones nativas (ejemplo:WF_AI
). -
transfer_workflow
: Identificador del workflow de cambio de unidad organizativa (ejemplo:WF_AI
). -
deprecate_workflow
: Identificador del workflow de deprecación, no aplica en caso de relaciones no nativas (se deja vacío en ese caso).
-
-
wfRoleDependent
: marcar solo si se desean configurar workflows diferentes para cada uno de los workflows anteriores en función del rol del usuario (se deja sin marcar en el caso del ejemplo). -
parental
: marcar si la relación debe representarse en el linaje como una relación de parentesco (padre-hijo, vertical). Dejar desmarcado si la relación es de tipo input–output (horizontal).(Se deja sin marcar en el caso del ejemplo)
-
-
Pulsar en Save para guardar la relación o en Cancel para descartar.
Modificación de una entidad o relación en la tabla Object Sub-types
La modificación de un subtipo de objeto (ya sea entidad o relación) se gestiona directamente desde la tabla Object Sub-types
en el Panel de configuración.
Al editar un subtipo, es importante tener en cuenta las siguientes consideraciones:
-
Campos que pueden modificarse:
-
Los identificadores de los workflows (
create_workflow
,modify_workflow
,transfer_workflow
,deprecate_workflow
, etc.). -
Los flags
parental
ywf_role_dependent
, que pueden activarse o desactivarse en cualquier momento en función de las necesidades de visualización del linaje o de la gestión de workflows diferenciados por rol.
-
Nota: cualquier cambio en estos identificadores implica que deben actualizarse los workflows correspondientes en el BPM, para mantener la coherencia.
-
Campos que no pueden modificarse una vez existen objetos gobernados en el Portal de datos asociados a ese subtipo:
-
typeObject
(ENTITY o RELATIONSHIP). -
name
del subtipo.
-
Procedimiento en caso de necesitar cambios en typeObject
o name
:
-
Será necesario realizar previamente un Clear data desde el menú
Actions > Clear data
Panel de configuración, para eliminar los objetos ya creados en el portal. -
Una vez hecho el borrado, se debe reindexar la información desde el menú
Actions > Force indexing
para asegurar la consistencia de los datos.
En resumen:
-
Se permite ajustar identificadores de workflows y flags en cualquier momento.
-
El cambio de
name
otypeObject
no es posible si existen objetos gobernados en el Portal de Datos; requiere borrar datos (Actions > Clear data
) y reindexar (Actions > Force indexing
).
Configuración de subtipos de objetos mediante acceso directo a la base de datos (Visión desarrollador)
La tabla de base de datos (BD) que contiene la parametría de las entidades y relaciones del metamodelo (anjana.object_subtype
) tiene esta estructura:
Columna |
Tipo de dato |
Restricciones / Notas |
---|---|---|
|
|
PRIMARY KEY. Identificador único del subtipo de objeto. Se gestiona mediante secuencias. |
|
|
Opcional. Identificador del workflow de activación (no aplica a entidades/relaciones nativas). |
|
|
Opcional. Identificador del workflow de creación. |
|
|
Opcional. Identificador del workflow de desactivación (no aplica a entidades/relaciones nativas). |
|
|
Opcional. Identificador del workflow de deprecación (solo aplica a entidades nativas). |
|
|
Opcional. Identificador del workflow de modificación. |
|
|
NOT NULL. Módulo en el que se utiliza: |
|
|
NOT NULL. Nombre único del subtipo de objeto. Restricción UNIQUE ( |
|
|
NOT NULL. Tipo de objeto: |
|
|
Opcional. Identificador del workflow de transferencia (cambio de unidad organizativa). |
|
|
Opcional. Indica si los workflows dependen del rol del usuario que lanza la acción. |
|
|
Opcional. Por defecto |
A continuación se muestra un script de ejemplo para configurar la entidad AI_MODEL
:
INSERT INTO anjana.object_subtype
(id_object_subtype, activate_workflow, create_workflow, deactivate_workflow, deprecate_workflow, modify_workflow, "module", "name", object_type, transfer_workflow, wf_role_dependent, is_parental)
VALUES(32, 'WF_AI', 'WF_AI', 'WF_AI', 'WF_AI', 'WF_AI', 'DC', 'AI_MODEL', 'ENTITY', 'WF_AI', false, false);
A continuación se muestra un script de ejemplo para configurar la relación COMPOSED_OF
:
INSERT INTO anjana.object_subtype
(id_object_subtype, module, name, object_type, create_workflow, modify_workflow, activate_workflow, deactivate_workflow, wf_role_dependent, is_parental)
VALUES
(102, 'DC', 'COMPOSED_OF', 'RELATIONSHIP', 'WF_AI', 'WF_AI', 'WF_AI', 'WF_AI', false, false);
Importante:
-
Una vez ejecutado el insert, ejecutar la actualización de secuencias de la tabla. (Desde el Panel de configuración en
Actions > Reset DQ sequences
se pueden actualizar las secuencias de todas las tablas, incluida esta). -
Todo el peso de la lógica de configuración recae en el desarrollador que ejecuta las queries SQL directamente sobre la tablas. Se recomienda revisar cuidadosamente el apartado de Estructura de la tabla.