You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello.
I was not very satisfied with the way implicit relationship is created and displayed, if there are 2 or more relations between lower-level elements.
CreateImpliedRelationshipsUnlessSameRelationshipExistsStrategy - displays ALL links which yields to cluttered diagrams
CreateImpliedRelationshipsUnlessAnyRelationshipExistsStrategy - displays ONE link - but with description selected from one of them (first wins?), which (I.) may be odd and inaccurate (II.) is not easy to detect, because diagram looks fine.
Our preferred approach would be to use the former, then find duplicate links and override them (if needed) by specifying a relationship between two higher-level elements - with more generalized description (e.g. Writes do DB + Reads from DB = Uses DB). Is this approach fine, do you see any problems? I don't, higher-level relation is not displayed on lower-level diagram.
However, this way we end up by having all the implied relations + the one generalized.
The issue may be CreateImpliedRelationshipsUnlessSameRelationshipExistsStrategy : boolean createRelationship = !source.hasEfferentRelationshipWith(destination, relationship.getDescription());
It creates implicit relationship if not exists by comparing both source and destination elements and relationship's description.
Hence if I add explicit relation with generalized description, it is not detected.
Would it be solved by adding another strategy (let's call it CreateImpliedRelationshipsUnlessSimilarRelationshipExistsStrategy' - using overload of hasEfferentRelationshipWith without description? public boolean hasEfferentRelationshipWith(Element element)
vs. public boolean hasEfferentRelationshipWith(Element element, String description)
Priority
Low (I'm willing to make a pull request - please add a comment below summarising your approach before making a PR)
This discussion was converted from issue #455 on November 28, 2025 19:44.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Description
Hello.
I was not very satisfied with the way implicit relationship is created and displayed, if there are 2 or more relations between lower-level elements.
Our preferred approach would be to use the former, then find duplicate links and override them (if needed) by specifying a relationship between two higher-level elements - with more generalized description (e.g. Writes do DB + Reads from DB = Uses DB). Is this approach fine, do you see any problems? I don't, higher-level relation is not displayed on lower-level diagram.
However, this way we end up by having all the implied relations + the one generalized.
The issue may be
CreateImpliedRelationshipsUnlessSameRelationshipExistsStrategy:boolean createRelationship = !source.hasEfferentRelationshipWith(destination, relationship.getDescription());It creates implicit relationship if not exists by comparing both source and destination elements and relationship's description.
Hence if I add explicit relation with generalized description, it is not detected.
Would it be solved by adding another strategy (let's call it CreateImpliedRelationshipsUnlessSimilarRelationshipExistsStrategy' - using overload of
hasEfferentRelationshipWithwithout description?public boolean hasEfferentRelationshipWith(Element element)vs.
public boolean hasEfferentRelationshipWith(Element element, String description)Priority
Low (I'm willing to make a pull request - please add a comment below summarising your approach before making a PR)
More information
No response
Beta Was this translation helpful? Give feedback.
All reactions