Без заголовка
Я вчера тоже морщил репу на счет как жить с кривизной онтологий.
То что онтология должна быть заточена под конкретную цель, а под другую цель будет нужна другая онтология, мне было уже понятно.
А вот как при этом интегрировать приложения заточенные под разные и противоречивые онтологии?
Мне видится перспективным микромодельный подход, в данном случае, микроонтологический, т.е. нужно создавать много маленьких онтологий, каждая из которых будет стабильна с большой вероятностью. А софт соответственно нужно писать так, чтобы при обноружении противоречивости в какой-то из (микро)онтологий он продолжал работать, пусть и с ограниченной функциональностью.
Создание такого софта это конечно тоже головомойная задача, но с применением декларативных языков программирования/DSL она doable. А в случае одной или нескольких больших по размеру онтологий, что делать совершенно не понятно. Либо окружающий мир принудительно форматировать под выбранную онтологию.