Приводимый ниже обзор взят из источника [1].
Инструменты построения онтологий
Основная функция любого редактора онтологий состоит в поддержке процесса формализации знаний и представлении онтологии как спецификации (точного и полного описания).
Система Ontolingua [2] была разработана в KSL (Knowledge Systems Laboratory) Стенфордского университета и стала первым инструментом инженерии онтологий. Она состоит из сервера и языка представления знаний.
Сервер Ontolingua организован в виде набора онтологий, относящихся к Web-приложениям, которые надстраиваются над системой представления знаний Ontolingua. Редактор онтологий – наиболее важное приложение сервера Ontolingua является Web-приложением на основе форм HTML. Кроме редактора онтологий, сервер Ontolingua включает сетевое приложение Webster (получение определений концептов), сервер OKBC (доступ к онтологиям Ontolingua по протоколу OKBC) и Chimaera (анализ, объединение, интегрирование онтологий). Все приложения, кроме сервера OKBC, реализованы на основе форм HTML. Система представления знаний реализована на Lisp.
Сервер Ontolingua также предоставляет архив онтологий, включающий большое количество онтологий различных предметных областей, что позволяет создавать онтологии из уже существующих. Сервер поддерживает совместную разработку онтологии несколькими пользователями, для чего используются понятия пользователей и групп. Система включает графический браузер, позволяющий просмотреть иерархию концептов, включая экземпляры. Ontolingua обеспечивает использование принципа множественного наследования и богатый набор примитивов. Сохраненные на сервере онтологии могут быть преобразованы в различные форматы для использования другими приложениями, а также импортированы из ряда языков в язык Ontolingua.
Protégé [3] – локальная, свободно распространяемая Java-программа, разработанная группой медицинской информатики Стенфордского университета (первая версия – 1987, последняя Protégé-2.1.1 – июнь 2004). Программа предназначена для построения (создания, редактирования и просмотра) онтологий прикладной области. Её первоначальная цель – помочь разработчикам программного обеспечения в создании и поддержке явных моделей предметной области и включение этих моделей непосредственно в программный код. Protégé включает редактор онтологий, позволяющий проектировать онтологии, разворачивая иерархическую структуру абстрактных или конкретных классов и слотов. Структура онтологии сделана аналогично иерархической структуре каталога. На основе сформированной онтологии, Protégé может генерировать формы получения знаний для введения экземпляров классов и подклассов. Инструмент имеет графический интерфейс, удобный для использования неопытными пользователями, снабжен справками и примерами.
Protégé основан на фреймовой модели представления знания OKBC (Open Knowledge Base Connectivity) [4] и снабжен рядом плагинов, что позволяет его адаптировать для редактирования моделей, хранимых в разных форматах (стандартный текстовый, в базе данных JDBC, UML, языков XML, XOL, SHOE, RDF и RDFS, DAML+OIL, OWL).
OntoEdit [5] первоначально был разработан в институте AIFB (Institute of Applied Informatics and Formal Description Methods) Университета Karlsruhe (сейчас коммерциализован Ontoprise GmbH) выполняет проверку, просмотр, кодирование и модификацию онтологий. В настоящее время OntoEdit поддерживает языки представления: FLogic, включая машину вывода, OIL, расширение RDFS и внутреннюю, основанную на XML, сериализацию модели онтологии, используя OXML — язык представления знаний OntoEdit (OntoEdit’s XML-based Ontology representation Language). К достоинствам инструмента можно отнести удобство использования; разработку онтологии под руководством методологии и с помощью процесса логического вывода; разработку аксиом; расширяемую структуру посредством плагинов, а также очень хорошую документацию.
Так же как и Protégé, OntoEdit – автономное Java–приложение, которое можно локально установить на компьютере. Свободно распространяемая версия OntoEdit Free ограничена 50 концептами, 50 отношениями и 50 экземплярами. Архитектура OntoEdit подобна Protégé.
OilEd [6] – автономный графический редактор онтологий, разработан в Манчестерском университете в рамках европейского IST проекта On-To-Knowledge. Инструмент основан на языке OIL (сейчас адаптирован для DAML+OIL, в перспективе – OWL), который сочетает в себе фреймовую структуру и выразительность дескриптивной логики (DL -Description Logics) с сервисами рассуждения. Что позволило обеспечить понятный и интуитивный стиль интерфейса пользователя и преимущества поддержки рассуждения (обнаружение логически противоречивых классов и скрытых отношений подкласса).
Из недостатков можно выделить отсутствие поддержки экземпляров. Существующая версия не обеспечивает полную среду разработки – не поддерживается разработка онтологий большого масштаба, миграция и интеграция онтологий, контроль версий и т.д. OilEd можно рассматривать как “NotePad” редакторов онтологий, предлагающий достаточную функциональность, чтобы позволить пользователям строить онтологии и продемонстрировать, как можно использовать механизм рассуждения FaCT для проверки онтологии на непротиворечивость.
В последнее время наблюдается рост популярности редактора OilEd. Он используется как для обучения, так и для исследования. Инструмент свободно распространяется по общедоступной лицензии GPL.
WebOnto [7] разработан для Tadzebao – инструмента исследования онтологий и предназначен для поддержки совместного просмотра, создания и редактирования онтологий. Его цели – простота использования, предоставление средств масштабирования для построения больших онтологий.
Для моделирования онтологий WebOnto использует язык OCML (Operational Conceptual Modeling Language) [8]. В WebOnto пользователь может создавать структуры, включая классы с множественным наследованием, что можно выполнять графически. Все слоты наследуются корректно. Инструмент проверяет вновь вводимые данные контролем целостности кода OCML.
Инструмент имеет ряд полезных особенностей: сохранение структурных диаграмм, раздельный просмотр отношений, классов, правил и т.д. Другие возможности включают совместную работу нескольких пользователей над онтологией, использование диаграмм, функций передачи и приёма и др.
OntoSaurus является Web-браузером для баз знаний LOOM [9]. Он состоит из двух основных модулей: сервера онтологий и Web-браузера для редактирования и просмотра онтологий LOOM с помощью HTML-форм, обеспечивая для них графический интерфейс. OntoSaurus также предоставляет ограниченные средства редактирования, но его основная функция — просмотр онтологий. Но для построения сложных онтологий нужно понимать язык LOOM. Большинство пользователей строят онтологию на языке LOOM в другом редакторе, а затем для просмотра и редактирования импортируют его в OntoSaurus. В OntoSaurus реализованы все возможности языка LOOM. Обеспечиваются автоматический контроль совместимости, дедуктивная поддержка рассуждения и некоторые другие функции.
Конструктор онтологий ODE (Ontological Design Environment) [10], который взаимодействует с пользователями на концептуальном уровне в отличие от инструментов, подобно OntoSaurus, общающихся на символьном уровне. Мотивом для ODE послужило то, что людям проще формулировать онтологии на концептуальном уровне. ODE обеспечивает пользователей набором таблиц для заполнения (концептов, атрибутов, отношений) и автоматически генерирует для них код в LOOM, Ontolingua и FLogic.
KADS22 [11] — инструмент поддержки проектирования моделей знаний согласно методологии CommonKADS. Онтологии составляют часть таких моделей знаний (другая часть — модели вывода). Модели CommonKADS определены в CML (Conceptual Modeling Language). KADS22 – интерактивный графический интерфейс для CML со следующими функциональными возможностями: синтаксический анализ файлов CML, печать, просмотр гипертекста, поиск, генерация глоссария и генерация HTML.
Инструменты для отображения, выравнивания и объединения онтологий
Сегодня онтологии доступны в разных представлениях. Но, что делать, когда мы находим несколько онтологий, которые бы хотели использовать, но они не соответствуют друг другу?
Тогда используют средства отображения, выравнивания и объединения онтологий, которые нужны для того, чтобы не только вводить и редактировать онтологическую информацию, но и анализировать ее, выполняя типичные операции над онтологиями, например:
Инструменты объединения онтологий помогают пользователям найти сходство и различие между исходными онтологиями и создают результирующую онтологию, которая содержит элементы исходных онтологий. Для достижения этой цели они автоматически определяют соответствия между концептами в исходных онтологиях или обеспечивают среду, где пользователь может легко найти и определить эти соответствия. Эти инструменты известны как инструменты отображения, выравнивания и объединения онтологий, так как они выполняют сходные операции для процессов отображения, выравнивания и объединения.
Отображение (mapping) онтологии заключается в нахождении семантических связей подобных элементов из разных онтологий.
Выравнивание (alignment) онтологий состоит в том, чтобы установить различные виды соответствия (или связи) между двумя онтологиями, а затем повторно сохранить исходные онтологии и таким образом, в дальнейшем использовать информацию друг друга. Объединение (merging) онтологий – генерация одной согласованной онтологии из двух исходных [12].
Исследователи разных областей информатики работают над автоматическим или поддерживаемым инструментально объединением онтологий (или иерархии классов, или объектно-ориентированных схем, или схем баз данных – определенная терминология изменяется в зависимости от области применения). Однако и автоматическое объединение онтологий, и создание инструментальных средств, которые бы управляли пользователем в этом процессе, находятся на ранних стадиях развития. В этом разделе представлен краткий обзор некоторых из существующих подходов.
Инструментальные средства, которые имеют дело с нахождением соответствия между онтологиями, классифицируются следующим образом:
для объединения двух онтологий с целью создания одной новой (PROMPT, Chimaera, OntoMerge);
для определения функции преобразования из одной онтологии в другую (OntoMorph);
для определения отображения между концептами в двух онтологиях, находя пары соответствующих концептов (например, OBSERVER, FCA-Merge);
для определения правил отображения для связи только релевантных частей исходных онтологий (ONION).
Рассмотрим теперь вышеупомянутые средства более подробно.
PROMPT [13] — дополнение к системе Protégé, реализованное в виде плагина, служит для объединения и группировки онтологий. При объединении двух онтологий PROMPT создает список предлагаемых операций. Операция может состоять, например, из объединения двух терминов или копирования терминов в новую онтологию. Пользователь может выполнить операцию, выбирая одну из предлагаемых или определяя непосредственно операцию. PROMPT выполняет выбранную операцию и дополнительные изменения, вызванные этой операцией. Потом список предлагаемых операций модифицируется и создается список конфликтов и возможных решений этих конфликтов. Это повторяется до тех пор, пока не будет готова новая онтология.
Chimaera [14] — интерактивный инструмент для объединения, основанный на редакторе онтологий Ontolingua. Chimaera позволяет пользователю объединять онтологии, разработанные в различных формализмах. Пользователь может запрашивать анализ или руководство от Chimaera в любой момент в течение процесса объединения, и инструмент направит его на те места в онтологии, где требуется его вмешательство. В своих предложениях Chimaera главным образом полагается на то, из какой онтологии прибыли концепты, основываясь на их именах. Chimaera оставляет решение о том, что делать пользователю, и не делает никаких предложений самостоятельно. Единственное таксономическое отношение, которое рассматривает Chimaera – отношение подкласс — суперкласс. Chimaera самый близкий к PROMPT. Однако поскольку он использует в своем анализе только иерархию класса, он пропускает многие из соответствий, которые находит PROMPT. Эти соответствия включают предложения по объединению слотов с подобными именами, которые относятся к объединенным классам, объединению доменов слотов, которые были объединены и т. д.
В OntoMerge [15] объединенная онтология есть объединение двух исходных онтологий и набора аксиом соединения. Первый шаг в процессе объединения в OntoMerge состоит в трансляции обеих онтологий к общему синтаксическому представлению на разработанном авторами языке. Затем инженер онтологии определяет аксиомы соединения, содержащие термины из обеих онтологий. Процесс трансляции экземпляров выглядит следующим образом: все экземпляры в исходных онтологиях, рассматриваются как находящиеся в объединенной онтологии. Затем на основе инструкций в исходных онтологиях и аксиом соединения машина вывода сделает заключение, таким образом, создавая новые данные в объединенной онтологии. OntoMerge предоставляет инструменты для трансляции данных-экземпляров в объединенную онтологию.
OntoMorph [16] определяет набор операторов преобразования, которые можно применить к онтологии. Затем человек-эксперт использует начальный список пар и исходных онтологий для определения набора операторов, которые должны быть применены к исходным онтологиям для устранения различий между ними, и OntoMorph применяет эти операторы. Таким образом, совокупность операций может выполняться за один шаг. Однако, человек-эксперт не получает никакого руководства за исключением начального списка пар.
Система OBSERVER [17] применяет дескриптивную логику (DL) для ответа на запросы, используя несколько онтологий и информацию об отображении между ними. Вначале пользователи определяют набор межонтологических отношений. Система помогает справиться с этой задачей, находя синонимы в исходных онтологиях. Определив отображения, пользователи могут формулировать запросы в терминах DL с помощью собственной онтологии. Затем OBSERVER использует информацию отображения для формулировки запросов к исходным онтологиям. OBSERVER в значительной степени полагается на тот факт, что описания в онтологиях и запросах являются содержательными.
FCA-Merge [18] — метод для сравнения онтологий, которые имеют набор общих экземпляров или набор общих документов, аннотируемых с помощью концептов исходных онтологий. Основываясь на этой информации, FCA-Merge использует математические методы из Formal Concept Analysis для того чтобы произвести решетку концептов, связывающую концепты исходных онтологий. Алгоритм предлагает отношения эквивалентности и подкласс-суперкласс. Затем инженер онтологии может анализировать результат и использовать его как руководство для создания объединенной онтологии. Однако предположение, что две объединяемые онтологии используют общий набор экземпляров или имеют набор документов, в котором каждый документ аннотируется терминами обоих источников слишком жесткое и на практике такая ситуация происходит редко. В качестве альтернативы, авторы предлагают использовать методы обработки естественного языка для аннотации набора документов концептами из этих двух онтологий.
Система ONION (ONtology compositION) [19] основана на алгебре онтологии. Поэтому, она предоставляет инструменты для определения правил артикуляции (соединения) между онтологиями. Правила артикуляции обычно учитывают только релевантные части исходных онтологий. Для того чтобы предложить соединение, ONION использует и лексические методы, и методы на основе графов. Метод нахождения лексического подобия между именами концептов использует словари и методы семантической индексации, основанные на местонахождении группы слов в тексте.
Инструменты аннотирования на основе онтологий
Важнейшим предусловием реализации целей семантического Web является возможность аннотировать Web-ресурсы семантической информацией. В связи с этим в последние годы инструменты инженерии онтологий эволюционируют в сторону разработки инструментов аннотирования на основе онтологий.
Инструмент аннотации MnM [20] обеспечивает поддержку автоматической и полуавтоматической разметки Web-страниц семантическим содержанием. MnM интегрирует Web-браузер и редактор онтологии и обеспечивает открытые интерфейсы связи с серверами онтологий и инструментами извлечения информации. MnM можно рассматривать в качестве одного из первых примеров следующего поколения редакторов онтологий, на основе Web, ориентирующихся на семантическую разметку и обеспечивающих механизм полномасштабной автоматической разметки Web-страниц.
С помощью SHOE’s Knowledge Annotator [21] пользователь может также описывать содержание Web-страниц. Инструмент имеет интерфейс, который отображает экземпляры, онтологии и утверждения (собранные документы). Также обеспечивается проверка целостности. SHOE’s Knowledge Annotator позволяет пользователям выполнять разметку страниц в SHOE, под управлением онтологий доступных локально или через URL. Эти размеченные страницы могут быть проанализированы инструментальными средствами, знающими язык SHOE, типа SHOE Search. Аннотируемые Web-страницы могут быть также проанализированы другим инструментом по имени Expos'e, а содержание будет сохранено в репозитарии. Это SHOE-знание затем сохраняется в базе знаний Parka [22].
Инструмент Metabrowser [23] также частично решает проблему аннотирования Web-ресурсов. Он может работать, например, на базе онтологии Дублинского ядра (Дублинское ядро можно рассматривать как простейшую онтологию) и предлагать ряд возможностей для автоматического создания и просмотра метаданных. Metabrowser (включая свободно распространяемую версию), отображает метаданные Web-страницы вместе с самой Web-страницей.
Известны и российские разработки, например, системы CAKE, ВИКОНТ, VITA, позволяющих визуально проектировать онтологии различных предметных областей [24], или система БиГОР для сопровождения онтологий, как составных частей образовательных ресурсов [25].
Сравнительный анализ инструментов
Мы вкратце рассмотрели три группы инструментов: построения онтологий; отображения, выравнивания и объединения онтологий и аннотирования на основе онтологий. В соответствии с каждой группой инструментов попытаемся сравнить их между собой
Инструменты построения онтологий можно разделить на два типа: разработанные для редактирования онтологий на определенном языке онтологий и интегрированные наращиваемые инструментальные сайты (Web-приложения, на основе форм HTML и/или Java-апплетов), большинство из которых не зависит от языка представления.
Следует подчеркнуть, что большинство из рассмотренных инструментальных средств разрабатываются университетскими исследовательскими группами, которые предоставляют открытый код, либо предлагают свободный доступ к функциям. Однако наиболее перспективные из них передаются коммерческим компаниям (например, OntoEdit Professional — лицензированный продукт).
Инструменты OntoEdit, WebODE и KADS22 дают поддержку методологиям построения онтологий, соответственно On-To-Knowledge, METHONTOLOGY и CommonKADS, что не мешает им быть используемыми в других методологиях или вообще без них.
Касаясь технического аспекта, а именно архитектуры программного обеспечения (локальная, клиент-серверная, n-уровневая), расширяемости, языков программирования, на которых реализованы инструменты, способов хранения онтологий (в файлах или базах данных), необходимо отметить следующее.
Более ранние инструменты Ontolingua, OntoSaurus и WebOnto имеют клиент-серверную архитектуру. Protégé, OntoEdit и OilEd имеют 3-х уровневую архитектуру, где существует четкое разделение между хранением онтологий, модулями бизнес-логики, логики приложений и приложениями интерфейса пользователя. Эти инструменты обладают большими возможностями по наращиванию (например, при помощи плагинов). Большинство инструментов хранит свои онтологии в текстовых файлах, что ограничивает размер онтологий. Только Protégé и WebODE могут хранить свои онтологии в базах данных и таким образом управлять большими онтологиями. Наконец, большинство инструментов реализовано на Java.
Выше уже говорилось о том, что модели знания инструментов определяют компоненты, которые должны использоваться при построении онтологии. Большинство инструментов представляет онтологии, комбинируя фреймы и логику первого порядка (First Order Logic — FOL). Однако это еще не означает, что они могут представлять одни и те же компоненты с одним и тем же количеством информации. Только два из перечисленных инструментов, OilEd и OntoSaurus, основаны на дескриптивной логике.
Далее остановимся на некоторых свойствах редакторов онтологий. Интерфейс пользователя редакторов онтологий может быть Web-приложением на основе форм HTML (Ontolingua, OntoSaurus и WebODE) и/или Java-апплетов (WebOnto) или локальным приложением (Protégé, OntoEdit, OilEd).
Все редакторы онтологий за исключением OilEd, Ontolingua и OntoSaurus обеспечивают графические средства редактирования и просмотра онтологий, где классы обычно представлены узлами на графах, а отношения — дугами между ними. Дополнительно к этим графическим функциям, OilEd, OntoEdit Professional, Protégé и WebODE предоставляют некоторую поддержку в написании формальных аксиом и сложных выражений.
OntoEdit, Ontolingua, OntoSaurus, WebODE и WebOnto поддерживают совместную разработку онтологий, предоставляя отдельным пользователям или группам пользователей разрешение на доступ и написание различных наборов онтологий.
Разнообразие инструментов для отображения, выравнивания и объединения онтологий делает сложным их непосредственное сравнение. Фактически, когда разработчик должен решить вопрос, какой инструмент является наиболее подходящим, все будет зависеть от конкретной задачи. Например, если объединяемые онтологии совместно используют набор экземпляров, то лучше всех может работать FCA-Merge. Если онтологии имеют экземпляры, но совместно их не используют, и многие значения слотов содержат текст, лучшим выбором может стать GLUE. Если только части онтологий должны быть отображены, можно было бы выбрать инструмент ONION. Если онтологии имеют очень ограниченную структуру, а концепты имеют подробные определения на естественном языке (одном), инструментальные средства ISI/USC могут обеспечивать лучшие ответы. Если экземпляры вообще не доступны, и онтологии содержат много отношений между концептами, лучше всех может работать Prompt .
Список литературы
1. Овдей О.М. , Проскудина Г.Ю. Обзор инструментов инженерии онтологий // Электронный журнал "Электронные библиотеки", 2004, Выпуск 4, — http://www.elbib.ru/index.phtml?page=elbib/rus/journal/2004/part4/op
2. Farquhar A., Fikes R., Rice J. The Ontolingua server: A tool for collaborative ontology construction // International Journal of Human-Computer Studies, 46(6), pages 707–728, 1997.
3. Musen M. Domain Ontologies in Software Engineering. // Methods of Inform. in Medicine, 1998.
4. Chaudhri V. , Farquhar A. , Fikes R., Karp P., Rice J. OKBC: A Programmatic Foundation for Knowledge Base Interoperability. // Fifteenth National Conf. on Artificial Intelligence. AAAIPres/The MIT Press, Madison, 1998.
5. Sure Y. and Others OntoEdit: Collaborative ontology development for the Semantic Web. // In Proc. of the Inter. Semantic Web Conference (ISWC 2002), Sardinia, 2002.
6. Bechhofer S.,Horrocks I., Goble C., Stevens R. OilEd: A Reason-able Ontology Editor for the Semantic Web // Joint German/Austrian conf. on Artificial Intelligence (KI’01). Lecture Notes in Artificial Intelligence LNAI 2174, Springer-Verlag, Berlin, 2001.
7. Domingue J. Tadzebao and WebOnto: Discussing, Browsing, and Editing Ontologies on the Web // Proc. of the Eleventh Workshop on Knowledge Acquisition, Modeling and Management, KAW'98, Banff, Canada, 1998.
8. Motta E. Reusable Components for Knowledge Modelling // Ph.D. Thesis. The Open University, 1997.
9. MacGregor R. Inside the LOOM classifier // SIGART bulletin, Vol.3, No.2, 1991.
10. Fernandez M, Gomez-Perez A., Pazos J. A Building a Chemical Ontology Using Methondology and the Ontology Design Environment // IEEE Intelligent Systems, Jan./Feb., 1999.
11. The CommonKADS Methodology. G. Schreiber, H. Akkermans, A. Anjewierden, R. Hoog, N. Shadbolt, W. Van de Velde, B. Wielinga // Knowledge engineering and management. MIT press, Massachusetts, 1999.
12. Noy N., Musen M. SMART: Automated Support for Ontology Merging and Alignment // Stanford Medical Informatics, Stanford Univ., 1999.
13. Noy N., Musen M. The PROMPT Suite: Interactive Tools For Ontology Merging And Mapping // Stanford Medical Informatics, Stanford Univ., 2003.
14. McGuinness D., Fikes R., Rice J., Wilder S. An environment for merging and testing large ontologies // In Proc. of the Seventh Int. Conf., KR2000, Morgan Kaufmann Publishers, San Francisco, CA,2000.
15. Dou D., McDermott D., Qi P., Ontology translation by ontology merging and automated reasoning // EKAW’02 workshop on Ontologies for Multi-Agent Systems. SigЁuenza, Spain, 2002.
16. Chalupsky H, OntoMorph: A translation system for symbolic knowledge // In: Cohn A. G., Giunchiglia F., Selman B. (Eds.), Principles of Knowledge Representation and Reasoning // Proc. of the Seventh Intern. Conf. (KR2000). Morgan Kaufmann Publishers, San Francisco, CA, 2000.
17. Mena E., Illarramendi A., Kashyap V., Sheth A. OBSERVER: An approach for query processing in global information systems based on interoperation across preexisting ontologies // Distributed and Parallel Databases, An International Journal, Vol.8, 2000, No.2.
18. Stumme G., Medche A. FCA-Merge: Bottom-up merging of ontologies // 7th Int. Conf. on Artificial Intelligence, (IJCAI’01), Seattle, WA, 2001.
19. Mitra P., Wiederhold G., Decker S. A scalable framework for interoperation of information sources //The 1st Intern. Semantic Web Working Symp., SWWS’01, Stanford University, CA, 2001.
20. Vargas-Vera M., Motta E., Domingue J., Lanzoni M., Stutt A., Ciravegna F. MnM: Ontology-Driven Tool for Semantic Markup // European Conf. on Artificial Intelligence (ECAI 2002). In Proc. of the Workshop Semantic Authoring, Annotation & Knowledge Markup (SAAKM 2002). Lyon France, July 2002.
21. Heflin J. Hendler J. A Portrait of the Semantic Web in Action // IEEE Intelligent Systems, March/April 2001.
22. Stoffel K., Taylor M., Hendler J. Efficient management of very large ontologies // American Association for Artificial Intelligence Conf., (AAAI97), Menlo Park, CA, 1997.
23. http://metabrowser.spirit.net.au/tutorial/DC.html
24. Гаврилова Т. Онтологический подход к управлению знаниями при разработке корпоративных систем автоматизации. — http://www.kmtec.ru/publications/library/authors/ontol_podhod_to_uz.shtml.
25. База и генератор образовательных ресурсов. — http://bigor.bmstu.ru