Базовые данные не имеют полей. Не пытайтесь думать, что Core Data - это термины процедурного, не объектного API, такого как SQL. Вы просто запутаете себя.
Создать базовые отношения в Базовых данных - тривиально. Чтобы сделать сущность для моделирования структуры каталогов, все, что вам нужно, это:
Folder{
name:string
parent<<-->Folder.children
children<-->>Folder.parent
}
У любой конкретной папки есть один родитель и несколько детей.
Не путайте сущности в модели данных с графиком живых объектов. Сущности в модели данных просто определяют абстрактные атрибуты и отношения одинаково абстрактных сущностей и могут быть очень простыми. Реальный живой график так же сложен, как и моделируемые им явления.
например. В этом случае модель данных будет такой же простой, как и выше, одна сущность, с одним атрибутом и двумя связями - все для себя. Живой граф будет таким же сложным, как и файловая система, моделируемая тысячами уникальных Folder
объектов и миллионами взаимосвязей.