charles shen created ATLAS-3546:
-----------------------------------

             Summary: isOptional for composition relationship category?
                 Key: ATLAS-3546
                 URL: https://issues.apache.org/jira/browse/ATLAS-3546
             Project: Atlas
          Issue Type: Improvement
          Components:  atlas-core
    Affects Versions: 2.0.0
            Reporter: charles shen


I noticed since [ATLAS-3051|https://issues.apache.org/jira/browse/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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to