Онтологии как модели данных

Dec 24, 2012 19:54

Неожиданно осознал одну вещь, которая объясняет почему ООСУБД и ОРМ фигово заменяют реляционные БД.
Просто всякие классы и объекты - это есть код, а то что в реляционной БД - данные. А код (содержимое объектов) - это не то же самое что данные.
Т.е. данные они кагбэ живут вне приложения, и могут использовать в нескольких, существуют независимо от классов и объектов.
В силу этого маппинга между объектами и реляционными данными кагбэ и нет. Ну т.е. есть ситуационный маппинг, но как только ситуация меняется, он становится неадекватным. А данные при этом могли вообще не поменяться.

Отсюда вытекает идея, что данные может иметь смысл эволюционировать отдельно от кода (классов/объектов).

Еще одна мысля, что если реляционная модель данных устраревшая (очевидно), то нужна модель данных которая бы поддерживала наследование, но это не объекты/классы языков программирования, т.е. не ORM/ООСУБД.

В этом смысле, онтологии - это подход который как раз моделирует именно данные, а не какую-то ОО реализацию. Что в частности означают что есть суровые трудности вставления онтологий непосредственно в язык программирования :).

Кстати помимо реляционной и "онтологической" модели данных я бы выделил функциональную, точнее алгебраические типы данных. Хотя последние относятся к реализации, но поскольку оно не содержит всяких функций и проч, то переносимо между различными языками, и более-менее прямолинейно мапится на реляционную модель.

ЗЫ Теоретически в модель данных можно добавить и вычисления, но как-то это по моему ни у кого еще не получилось без перекоса в имплементацию, хотя для декларативки в той или иной мере это возможно, тот же SQL.
Previous post Next post
Up