Полиморфизм (информатика)
- 1 year ago
- 0
- 0
Онтоло́гия в информатике ( новолат. ontologia от др.-греч. ὤν род. п. ὄντος — сущее, то, что существует и λόγος — учение, наука) — это попытка всеобъемлющей и подробной формализации некоторой области знаний с помощью концептуальной схемы . Обычно такая схема состоит из структуры данных , содержащей все релевантные классы объектов, их связи и правила ( теоремы , ограничения), принятые в этой области. Этот термин в информатике является производным от древнего философского понятия « онтология ».
Онтологии используются в процессе программирования как форма представления знаний о реальном мире или его части. Основные сферы применения — , семантическая паутина ( англ. Semantic Web ), искусственный интеллект .
Хотя термин «онтология» изначально философский, в информатике он принял самостоятельное значение. Здесь есть два существенных отличия:
Современные онтологии строятся по большей части одинаково, независимо от языка написания. Обычно они состоят из экземпляров , понятий , и .
Экземпляры ( англ. instances ) или индивиды ( англ. individuals ) — это объекты, основные нижнеуровневые компоненты онтологии; могут представлять собой как физические объекты (люди, дома, планеты), так и абстрактные (числа, слова). Строго говоря, онтология может обойтись и без конкретных объектов, однако, одной из главных целей онтологии является классификация таких объектов, поэтому они также включаются.
Понятия ( англ. concepts ) или классы ( англ. classes ) — абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы либо же сочетания и того, и другого. Пример:
Классы онтологии составляют таксономию — иерархию понятий по отношению вложения .
Объекты в онтологии могут иметь атрибуты . Каждый атрибут имеет по крайней мере имя и значение и используется для хранения информации, которая специфична для объекта и привязана к нему. Например, объект Автомобиль-модели-А имеет такие атрибуты, как:
Значение атрибута может быть сложным типом данных . В данном примере значение атрибута, который называется Двигатель , является списком значений простых типов данных.
Важная роль атрибутов заключается в том, чтобы определять отношения (зависимости) между объектами онтологии. Обычно отношением является атрибут, значением которого является другой объект.
Предположим, что в онтологии автомобилей присутствует два объекта — автомобиль Автомобиль-модели-А и Автомобиль-модели-Б . Пусть Автомобиль-модели-Б это модель-наследник Автомобиль-модели-А , тогда отношение между Автомобиль-модели-А и Автомобиль-модели-Б определим как атрибут «isSuccessorOf» со значением « Автомобиль-модели-А » для объекта Автомобиль-модели-Б (следует заметить, что в языках описания онтологий существуют предопределенные отношения наследования).
Специализированные ( предметно-ориентированные ) онтологии — это представление какой-либо области знаний или части реального мира. В такой онтологии содержатся специальные для этой области значения терминов. К примеру, слово « поле » в сельском хозяйстве означает участок земли , в физике — один из видов материи , в математике — класс алгебраических систем .
Общие онтологии используются для представления понятий , общих для большого числа областей. Такие онтологии содержат базовый набор терминов, глоссарий или тезаурус , используемый для описания терминов предметных областей.
Если использующая специализированные онтологии система развивается, то может потребоваться их объединение . Подзадачей объединения онтологий является задача отображения онтологий . И для инженера по онтологиям это серьёзная задача. Онтологии даже близких областей могут быть несовместимы друг с другом. Разница может появляться из-за особенностей местной культуры, идеологии или вследствие использования другого языка описания . Объединение онтологий выполняют как вручную, так и в полуавтоматическом режиме. В целом это — трудоёмкий, медленный и дорогостоящий процесс. Использование базисной онтологии — единого глоссария — несколько упрощает эту работу.
Язык описания онтологий — формальный язык , используемый для кодирования онтологии. Существует несколько подобных языков ( список неполон ):
Для работы с языками онтологий существует несколько видов технологий: редакторы онтологий (для создания онтологий), СУБД онтологий (для хранения и обращения к онтологии) и хранилища онтологий (для работы с несколькими онтологиями).