捕获 Rails(或一般来说,在 UML 中)模型关联的数据结构

Data structure to capture Rails (or in general, in UML) models associations

我正在尝试提出一个方便的数据结构,使我能够捕获我的 Rails 模型之间的所有关联(我已经使用一些元编程获得了所有关联)。有任何想法吗?我得到的最接近的是一棵树,根节点是一个名为root的特殊节点,然后第一个children是没有parent模型的模型(即不是belong_to), 第二层是剩下的。

我想要这个的原因是我想按以下方式处理模型:

  1. 从没有 parent 模型的模型开始,即与另一个模型没有 belong_to 关联的模型。
  2. 从 1 移至 belong_to 依赖模型的那些。
  3. 处理嵌套,所以如果C属于B属于A,我想先处理A,再处理B,再处理C。

想到了广度优先遍历,但是不太能拿到数据 结构来反映这一点。也许我正在寻找更好的数据结构。

我要找的数据结构是有向无环图。