Очень много думал на эту тему. Тоже есть свои идеи.
Заодно, хотел бы подкинуть линк – http://ez.no. Наверное, многие знают про CMS «eZ publish», так вот, там реализована подобная система. В их терминологии каждый тип – это «контент-класс», на основе которого можно создавать документы этого типа. Так же все документы хранятся в структурированном виде. Насчет наследования не знаю, судя по всему, там его нет. Зато реализован удобный метод создания новых объектов, на основе контент-класса система выстраивает форму по свойствам класса. Еще в свойствах класса можно указать, может ли тот содержать дочерние объекты.
В общем, реализация там так себе, но взглянуть на систему стоит.
По-моему, грамотный интерфейс API для управления структурой дерева объектов и свойствами объектов избавит многих разработчиков и админов сайтов от насущных проблем. Админы не будут дергать разработчика, если в систему нужно добавить новый тип (например, тип «анонс» или «продукт»), а разработчики в свою очередь получат отличный инструмент для хранения объектов произвольного типа. Например, эту же систему можно использовать для хранения аккаунтов.
Если в целом, то, по-моему, главные задачи и требования к системе такие:
1. Хранение объектов в древовидной структуре с неограниченной вложенностью
2. Возможность изменять свойства классов
3. Операции над несколькими объектами одного типа (сортировка, выборка по условию)
4. Пользовательский интерфейс, который динамично генерируется (как в eZ publish), в соответствии со свойствами класса
5. Насчет наследование не знаю – особо не вникал
6. API-интерфейс для доступа к объектам, модификации, перемещения объектов по дереву, в общем полный контроль над классами и объектами.