aux, а Cotes d'Or має бути підкласом Burgundy. Крім того, наявність таких проміжних категорій як Червоне вино і Біле Вино також буде відображати ту понятійну модель предметної області вин, яка є у багатьох людей (рис. 7б). p> Тим не Проте, якщо не існує природних класів для угруповання понять в довгий список вузлів-братів, то не потрібно створювати штучні класи - залиште все, як є. Зрештою, онтологія - це відображення реального світу, і якщо насправді категоризації немає, то онтологія повинна це відображати.
Рис. 7. Категоризація вин. Просте перерахування всіх вин проти кількох рівнів категоризації.
4.3. Множинне спадкування.
Більшість систем представлення знань дозволяють здійснювати множинне успадкування в ієрархії класів: клас може бути підкласом декількох класів. Припустимо, що ми хочемо створити окремий клас десертних вин - клас Десертне вино. Вино Port є і червоним, і десертним вином [4]. Отже, ми визначаємо, що у класу Port є 2 надкласса: Червоне вино і Десертне вино. Всі екземпляри класу Port будуть екземплярами як класу Червоне вино, так і класу Десертне вино. Клас Port успадкує слоти і фацети від обох батьків. Таким чином, він успадкує значення СОЛОДКЕ із слота Цукор класу Десертне вино, а також слот рівень таніну і значення слота кольору класу Червоне вино.
4.4. Коли вводити (чи не вводити) новий клас
Одне з найскладніших рішень, яке потрібно прийняти під час моделювання, - це визначити, коли ввести новий клас або коли сформулювати відмінність за допомогою різних значень властивостей. Складно орієнтуватися як в ієрархії з дуже великим ступенем вкладеності і безліччю сторонніх класів, так і в дуже плоскою ієрархії, де дуже мало класів, але в їх слотах закодовано занадто багато інформації. Знайти відповідний баланс нелегко. p> Існує кілька практичних способів визначення того, коли в ієрархію слід ввести нові класи:
Зазвичай підкласи класу (1) мають додаткові властивості, яких немає у надкласса, або (2) обмеження, відмінні від тих, які є у надкласса, або (3) складаються в інших відносинах, ніж надкласса. p> У червоних вин різні рівні таніну, тоді як це властивість не використовується для опису вин в загальному. Слот цукор класу Десертне вино має значення СОЛОДКЕ, тоді як для надкласса класу Десертне вино це не так. Вина Pinot Noir можуть добре поєднуватися з морськими продуктами, тоді як інші червоні вина - ні. Іншими словами, ми зазвичай вводимо в ієрархію новий клас тільки тоді, коли ми можемо сказати про цей клас щось таке, чого ми не можемо сказати про надкласса. p> На практиці до кожного підкласу потрібно додати нові слоти або визначити у нього нові значення слотів і перевизначити деякі фацети успадкованих слотів. p> Однак іноді може бути корисно створити нові класи, навіть якщо вони не вводять ніяких нових властивостей. p> Класи в ієрархіях термінів не зобов'язані нові властивості. p> Наприклад, деякі онтології включають великі ієрарх...