ристання існуючих онтологій, так і при їх розширенні.
Часто онтологія предметної області сама по собі не є метою. Розробка онтології те саме що визначенню набору даних та їх структури для використання іншими програмами. Методи вирішення завдань, доменно-незалежні програми та програмні агенти використовують як даних онтології і бази знань, побудовані на основі цих онтологій. До Наприклад, у цій статті ми розробляємо онтологію вин і їжі, а також відповідні комбінації вин і страв. Потім цю онтологію можна буде використовувати як основу для додатків в наборі інструментів для управління рестораном: Один додаток могло б складати список вин для меню на поточний день або відповідати на запити офіціантів і відвідувачів. Інше додаток могло б аналізувати інвентарний перелік винного льоху й пропонувати категорії вин для поповнення і конкретні вина для закупівлі до наступних меню або для куховарських книг.
Про це керівництві
Ми опираємося на нашому досвіді використання Protege-2000, Ontolingua, Chimaera в якості середовищ для редагування онтологій. У цьому керівництві для наших прикладів ми використовуємо Protege-2000.
Приклад вина і їжі, який ми використовуємо протягом всієї статті, зроблений на основі зразкової бази знань, яка представлена ​​в статті, що описує CLASSIC - систему подання знань, засновану на описово-логічному підході. У навчальному посібнику з CLASSIC цей приклад отримав подальший розвиток. Protege-2000 і інші фреймові системи описують онтології декларативним чином, визначаючи явним чином, яка класова ієрархія і до яких класів належать індивідуальна концепти. p> Деякі ідеї з розробки онтологій в цьому керівництві беруть свій початок у літературі з об'єктно-орієнтованого проектуванню. Однак розробка онтологій відрізняється від проектування класів і відносин в об'єктно-орієнтованому програмуванні. Об'єктно-орієнтоване програмування зосереджується головним чином на методах класів - програміст приймає проектні рішення, засновані на операторних властивостях класу, тоді як розробник онтології приймає ці рішення, грунтуючись на структурних властивостях класу. У результаті структура класу і відносини між класами в онтології відрізняються від структури подібної предметної області в об'єктно-орієнтованої програми.
Неможливо охопити всі труднощі, які, можливо, доведеться подолати розробнику онтології, і в цьому керівництві ми не намагаємося торкнутися їх усіх. Замість цього ми намагаємося дати відправну точку, вихідне керівництво, яке могло б допомогти недосвідченому проектувальнику онтологій в їх розробці. В кінці ми пропонуємо джерела, в яких можна подивитися пояснення до більш складним структурам і механізмам розробки, якщо вони будуть потрібні для предметної області.
Зрештою, єдиною правильною методології розробки онтологій не існує, і ми не намагалися визначити таку. Представлені тут ідеї ми ми визнали корисними, виходячи з нашого досвіду розробки онтологій. В...