I'm developing an application which creates a custom Process entity that has inputs and outputs for other DataSet entities that the process interact with.
It works fine for adding new relationships, however, I couldn't find a proper way to remove entries in inputs/outputs array of a Process entity once it has been created.
I tried to resend the entity after I removed entries in those arrays via Atlas REST API, but to no avail so far.
So I dug in Atlas source code and found EntityGraphMapper.removeUnusedArrayEntries delegates delete action to deleteHandler and if it returns false, it adds the unused edge back into the list.
The deleteHandler uses SoftDeleteHandlerV1 by default which always return false.
Then I was able to remove unused entries from inputs/outputs array.
It works but I wonder if it is the right way to remove entries from an array. Is there any other way to hide those Soft DELETED edges on Atlas UI?