Да, эта диаграмма прекрасно отражает то, что вы описываете в тексте. Двойная ассоциация правильна: каждая ассоциация выражает что-то свое.
Вы несколько точнее в диаграмме, чем в тексте, поскольку вы показываете, что каждый узел имеет inEdges
и outEdges
, тогда как в тексте просто упоминается ссылка на Edges
, не будучи более явной.
Распространенным вариантом реализации ориентированного графа является то, что Node
знает только его outEdges
. Если это важно, вы можете express это с навигацией , со стрелкой в направлении sourceNode
и крестом на стороне inEdges
. Но эта практика относительно редка в модели.
Для неориентированного графа у вас может быть только одна ассоциация с кратностью 2 на стороне узлов.