Управление данными в Soarse неразрывно связано с управлением метаданными
Понятия данных и метаданных в общем случае не определены четко и зависят от контекста. Кроме того, формально не существует ограничений на "метавость", или вложенность информационного контекста (мета-мета-....метаданные)
Soarse оперирует понятиями домен, тип, класс, объект
Все данные системы "принадлежат" отдельным сервисам - модулям-поставщикам, или киперам. Общий объем данных одного кипера образует домен.
Поскольку выделение той или иной функциональности в отдельный сервис чаще всего обосновано определенным ограниченным контекстом (см. Bounded Context), уровень домена - это уровень бизнес-процессов или, если хотите, уровень ответственности.
Домены данных соответствуют своим модулям и обычно физически выделены в отдельную базу данных
Типы данных призваны разграничить принципиально отличные по содержимому и/или поведению данные в пределах домена - это уровень структуры.
Несмотря на иерархическую природу связи понятий Домен и Тип, в большинстве случаев наличие более чем одного типа в домене является индикатором нового ограниченного контекста, и как следствие поводом к разделению домена и соответственно сервиса на отдельные независимые компоненты в процессе развития функциональности.
Классы в Soarse являются основным инструментом описания реального мира пользователя. Доступность настройки, гибкость и свобода выбора позволяют при грамотном применении использовать систему для управления практически всей возможной информацией, поэтому классы - это уровень внедрения.
Каждый класс описывается набором схем, затрагивающих следующие аспекты данных класса: