При користење на овие два поими во светот на инженерите, некогаш тие се погрешно асоцирани. Со цел подобро да разбереме што претставуваат тие, а што базите на знаење, треба да ги разгледаме следниве разлики помеѓу нив:
Одлики на јазикот користен за кодирање на бази на знаење.
При кодирањето на базите на знаење не може да се гарантира дека тие ќе бидат јасно и декларативно напишани, дека ќе бидат добро семантички дефинирани и дека ќе бидат машински независни, односно дека ќе може да се употребат и во друга околина освен таа за која се планирани (како на пример при комуникација со друг експертен систем). За разлика од базите на знаење, во онтологиите овие одлики мора да бидат запазени.
„Главна цел при кодифицирањето на знаења.“
За разлика од базите на знаење, онтологиите мора да бидат дизајнирани за независна употреба и да овозможуваат делење на знаење. Нивните дефиниции мора да бидат прецизно формулирани и генерализирани со што би се овозможило нивно повторно искористување.
„Спецификации на потребите.“
Поради недоволна апстракност и независност на базите на знаење, при нивно дефинирање на нови или измена на веќе постоечки системи, базите на знаење претрпуваат значителни промени. Овие проблеми не се појавуваат кај онтологиите поради нивната генералност и апстракност.
Иако споредувањето со базите на знаење, онтологиите изгледаат совршено, сепак тие имаат и свои маани. Тие не можат целосно да го опфатат и опишат проблемот од одреден домен во која било фаза од развојот на системот, а за да се овозможи повеќе системи да користат исто знаење или знаењето да се користи паралелно од два или повеќе система во исто време, мора да постои некој договор меѓу системите. Со таков тип на договор се овозможува користење на истите поими и значења во или помеѓу системите и овој договор се нарекува онтолошко признание. Ваквите договори не важат само за дистрибуираните системи туку воопшто за секој систем.