Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.0.0
-
None
-
None
Description
I noticed since ATLAS-3051, the relationship attribute must be specified in the end def which is not container and relationship category is composition.
I understand it's to prohibit orphan children but is it too strong? Reason below:
- I have to provide all the entities along the relationship path in the payload when creating a child, eg, for RDBMS, I have to provide rdbms_instance, rdbms_db, rdbms_table, rdbms_column where I just want to create a single rdbms_column, it brings performance overhead to check existence of rdbms_instance, rdbms_db, etc...,
- I have defined a composition relationship type where each end is the same entity type, it couldn't be created successfully anymore since it always requires the mandatory attribute where it's the same type and then falls into infinite loop.
Three possible fixes:
- Remove the isOptional constraint, since ownedRef/inverseRef doesn't have such constraint.
- Add isOptional to relationship type end def.
- Add option in Rest to ignore the isOptional constraint for relationship type.