Что такое онтология.
Короткий и неформальный способ объяснить, что такое "онтология" в вычислениях, заключается в том, что это текстовый файл, содержащий структурированные знания о конкретной предметной области, и этот файл используется в качестве компонента "интеллектуальной" информационной системы. Онтологии использовались и используются для решения проблем интеграции данных путем предоставления общего, согласованного словаря.
Со временем люди придумали другие способы использования онтологий и внесли вклад в решение совершенно других проблем. Например, система ответов на вопросы, позволяющая ученым общаться с библиотечным болтуном, чтобы легче найти нужную литературу (по сравнению со строками и ключевыми словами), автоматически найти несколько нужных молекул резины из очень многих (по сравнению с кропотливой работой в лаборатории) и автоматическое открытие нового фермента (превосходящее человеческих экспертов).
Как выглядит онтология.
В вычислениях и разработке интеллектуального программного обеспечения онтология является объектом, с которым можно играть и которым можно манипулировать. Фактический артефакт представляется в нескольких форматах, адаптированных для конкретного пользователя, но в основе лежит логическое представление, которое компьютер обрабатывает.
Онтология - это инженерный артефакт, который должен иметь технически обрабатываемый формат, точно соответствующий логике. С этой целью существует сериализация онтологии в текстовый файл, который легко обрабатывается компьютером. Наиболее распространенным является формат OWL языка веб-онтологии.
Философия и онтология.
Термин "онтология" взят из философии, история которой насчитывает тысячелетия, и при разработке хороших онтологий используются идеи, исходящие от философии. Когда говорят об этом философском понятии, используют онтологию с заглавной буквы "O", и она не имеет множественного числа. Ортогонально игре определений, ведутся дискуссии о том, что на самом деле представлено в онтологии с философской точки зрения. Одна дискуссия посвящена онтологии как представлению концептуализации, а другая - как представлению реальности.
Интеграция унаследованных систем.
Впервые онтологии были предложены для информационных систем, которые будут способствовать решению проблем интеграции данных: онтология обеспечивает общий словарь приложений, который на одном уровне абстракции выше, чем концептуальные модели данных, такие как диаграммы EER и диаграммы классов UML. Различают несколько сценариев интеграции данных, где онтологии играют центральную роль.
1. Интеграция данных на основе онтологических схем.
При интеграции данных на основе онтологических схем (и концептуальных моделей данных) типичная ситуация выглядит следующим образом. Есть несколько баз данных, содержащих данные по одной и той же теме. Например, два университета объединяют усилия в один: каждый университет имел собственную базу данных с информацией о студентах, но, будучи новым мега-университетом, для управления данными всех студентов должна существовать единая база данных. Это означает, что обе базы данных должны быть каким-то образом интегрированы.
Аналогичная ситуация часто возникает в промышленности, в связи со слияниями и поглощениями, в правительстве, в связи с попыткой разработать программную систему для комплексного предоставления услуг, а также в здравоохранении из-за использования электронных медицинских карт, которые помимо прочего должны сочетать различные системы, лабораторной базы данных с базой данных врача. Например, у них есть реляционные базы данных и соответствующие физические схемы, а возможно, и реляционная модель и даже соответствующие концептуальные модели, а также некоторая объективированная прикладная программа поверх реляционной базы данных. Соответствующие концептуальные модели данных адаптированы к применению RDBMS/OO и могут быть смоделированы на одном и том же концептуальном языке моделирования данных; например, одна может быть в EER, другая - в ORM, UML и так далее.
2. Интеграция данных на уровне данных.
В то время как в компьютерных науках изучается вышеупомянутый подход к интеграции данных, специалистам в области молекулярной биологии срочно требуется быстрое и практическое решение проблемы интеграции данных. Заметив идею онтологий, они придумали другой подход - возможность взаимодействия на уровне экземпляров и использование нескольких баз данных через Интернет вместо типичного сценария RDBMS внутри организации. Это может быть достигнуто с помощью легких онтологий или структурированных контролируемых словарей. Таких онтологий гораздо больше, и несколько тысяч баз данных связаны таким образом не только благодаря онтологии, но и потому, что онтология является неотъемлемым компонентом интеграции данных. Некоторые научные журналы требуют, чтобы авторы использовали эти термины из онтологии, когда они пишут о своих открытиях, чтобы было легче найти статьи об одном и том же объекте.
Попытка предотвратить проблемы с интероперабельностью.
Соответствующая тема в сценариях интеграции данных, в первую очередь, пытается предотвратить возникновение проблем с интеграцией. Это может быть сделано путем создания концептуальных моделей для соответствующих новых приложений на основе знаний, представленных в онтологии. Немного похоже на модели предприятий, с которыми можно столкнуться при проектировании информационных систем. Таким образом, операционная совместимость гарантируется заранее, поскольку элементы новых концептуальных моделей данных уже являются общими благодаря связи с одной и той же онтологией.
Например, в одном университете (следовательно, в системе управления информацией о студентах) студенты не могут регистрироваться более чем на шесть курсов и должны быть зарегистрированы по крайней мере на один, чтобы считаться студентами, тогда как в другом университете студент вполне может решить не регистрироваться на какой-либо курс в определенное время в течение года и по-прежнему считаться зарегистрированным студентом. Какие бы правила ни существовали в каждом отдельном университете, эти системы согласуются с понятиями "студент", "курс" и "зачисление". Таким образом, онтология обеспечивает общий словарь для функциональной совместимости приложений.