Я не уверен в том, что лучше, но один из подходов, который я использовал в прошлом, - это определение простого объекта, который включает в себя свойство, представляющее собой коллекцию того же типа, что и он сам - так что вы можете в основном связывать объекты вместе; представьте себе «вложенные папки» (папка может содержать несколько дочерних папок).
Вы можете использовать этот подход в качестве основы для объекта, который содержит информацию, которую вы хотите собрать, или вы можете преобразовать ее в плоскую коллекцию более подробных объектов, которые просто ссылаются на объекты, которые определяют древовидную структуру. Лучший подход будет зависеть от того, что вы пытаетесь сделать.
Это помогает? на каком языке вы работаете?
Вероятно, есть куча "правильных" шаблонов проектирования для проблемы, которую вы тоже пытаетесь решить.