1. Синтаксическая локальность
CΣ ::= A⊥ | (¬C ⊤) | (C ⊓ C ⊥) | (∃R⊥.C) | (∃R.C ⊥) | (≥ nR⊥.C) | (≥ nR.C ⊥);
⊥
CΣ ::= (¬C ⊥) | (C1 ⊓ C2 ),
⊤ ⊤ ⊥
где A⊥, R⊥ ∈ Σ.
/
Аксиома синтаксические локальна относительно Σ если она имеет вид
• R⊥ ⊑ R
• Trans(R⊥)
• C⊥ ⊑ C
• C ⊑ C⊤
Онтологии и представление знаний, 2010 1
2. Синтаксическая локальность
CΣ ::= A⊥ | (¬C ⊤) | (C ⊓ C ⊥) | (∃R⊥.C) | (∃R.C ⊥) | (≥ nR⊥.C) | (≥ nR.C ⊥);
⊥
CΣ ::= (¬C ⊥) | (C1 ⊓ C2 ),
⊤ ⊤ ⊥
где A⊥, R⊥ ∈ Σ.
/
Аксиома синтаксические локальна относительно Σ если она имеет вид
• R⊥ ⊑ R
• Trans(R⊥)
• C⊥ ⊑ C
• C ⊑ C⊤
Теорема. Если теория синтаксически локальна, она семантически локальна.
Онтологии и представление знаний, 2010 1
3. Синтаксическая локальность
CΣ ::= A⊥ | (¬C ⊤) | (C ⊓ C ⊥) | (∃R⊥.C) | (∃R.C ⊥) | (≥ nR⊥.C) | (≥ nR.C ⊥);
⊥
CΣ ::= (¬C ⊥) | (C1 ⊓ C2 ),
⊤ ⊤ ⊥
где A⊥, R⊥ ∈ Σ.
/
Аксиома синтаксические локальна относительно Σ если она имеет вид
• R⊥ ⊑ R
• Trans(R⊥)
• C⊥ ⊑ C
• C ⊑ C⊤
Теорема. Если теория синтаксически локальна, она семантически локальна.
Обратное неверно
Онтологии и представление знаний, 2010 1
4. Алгоритм выделения модуля для Σ
M := ∅, Q := T .
while Q ̸= ∅ do
α = select_axiom(Q);
if locality_test(α, Σ ∪ sig(M)) then
Q := Q {α}
else
M := M ∪ {α}
Q := T M
end if
end while
return M
Онтологии и представление знаний, 2010 2
5. Свойства модулей
T — теория, Σ — сигнатура, M ⊆ T — модуль.
• Σ ⊆ sig(M)
Онтологии и представление знаний, 2010 3
6. Свойства модулей
T — теория, Σ — сигнатура, M ⊆ T — модуль.
• Σ ⊆ sig(M)
• T M синтаксически локальна для Σ;
Онтологии и представление знаний, 2010 3
7. Свойства модулей
T — теория, Σ — сигнатура, M ⊆ T — модуль.
• Σ ⊆ sig(M)
• T M синтаксически локальна для Σ;
• T M семантически локальна для Σ;
Онтологии и представление знаний, 2010 3
8. Свойства модулей
T — теория, Σ — сигнатура, M ⊆ T — модуль.
• Σ ⊆ sig(M)
• T M синтаксически локальна для Σ;
• T M семантически локальна для Σ;
• T M является семантической тавтологией для Σ;
Онтологии и представление знаний, 2010 3
9. Свойства модулей
T — теория, Σ — сигнатура, M ⊆ T — модуль.
• Σ ⊆ sig(M)
• T M синтаксически локальна для Σ;
• T M семантически локальна для Σ;
• T M является семантической тавтологией для Σ;
• T является модельно консервативным расширением M;
Онтологии и представление знаний, 2010 3
10. Свойства модулей
T — теория, Σ — сигнатура, M ⊆ T — модуль.
• Σ ⊆ sig(M)
• T M синтаксически локальна для Σ;
• T M семантически локальна для Σ;
• T M является семантической тавтологией для Σ;
• T является модельно консервативным расширением M;
• T является консервативным расширением M относительно sig(M).
Онтологии и представление знаний, 2010 3
11. Ациклические EL-терминологии
Для ациклических EL-терминологий, возможно найти минимальный модуль M ⊆T т.ч.
• T M является семантической тавтологией для Σ;
• T является консервативным расширением M относительно sig(M).
Если T не содержит тривиальных аксиом
A⊑⊤ A≡⊤
эти понятия совпадают.
Онтологии и представление знаний, 2010 4
12. Ациклические EL-терминологии
Для ациклических EL-терминологий, возможно найти минимальный модуль M ⊆T т.ч.
• T M является семантической тавтологией для Σ;
• T является консервативным расширением M относительно sig(M).
Если T не содержит тривиальных аксиом
A⊑⊤ A≡⊤
эти понятия совпадают.
Если любую одноэлементную интерпретацию символов Σ можно расширить до интерпретации
T M, то T M является семантической тавтологией для Σ;
Онтологии и представление знаний, 2010 4
14. Реляционные базы данных
Мы рассматриваем реляционные базы данных (RDB) как наборы утверждений вида
A(a), R(a, b),
где A это свойство (имя концепта), а R — бинарное отношение (имя роли), а a, b имена
индивидов.
• A(a) утверждает, что a это пример A;
• R(a, b) утверждает, что (a, b) это пример R.
Онтологии и представление знаний, 2010 6
15. Пример
Например, рассмотрим следующие
• имена концептов University, BritishUnivty, Student,
• имена ролей registered_at, student_at.
• имена индивидов LU, MU, CMU, Tim, Tom, и Rob .
Рассмотрим теперь RDB ID
• University(LU), University(MU), University(CMU);
• BritishUnivty(LU), BritishUnivty(MU);
• Student(Tim), Student(Tom);
• registered_at(Tim, LU), registered_at(Tom, MU);
• student_at(Tim, LU), student_at(Rob, CMU).
Онтологии и представление знаний, 2010 7
16. Запросы к базам данных
Рассмотрим следующие запросы и ответы к ним
• Найти все университеты.
В синтаксисе логики первого порядка,
University(LU)
q(x) = University(x). University(MU)
University(CMU)
Ответ: LU, MU, CMU. BritishUnivty(LU)
BritishUnivty(MU)
• Найти все пары (a, b) т.ч. a зарегистрирован в b. Student(Tim)
Student(Tom)
q(x, y) = registered_at(x, y). registered_at(Tim, LU)
registered_at(Tom, MU)
Ответ: (Tim, LU), (Tom, MU);
student_at(Tim, LU)
• Найти всех a, которые где-то зарегистрированы student_at(Rob, CMU).
q(x) = ∃y. registered_at(x, y).
Ответ: Tim, Tom.
Онтологии и представление знаний, 2010 8
17. Запросы к базам данных
• Найти все небританские университеты
q(x) = University(x) ∧ ¬BritishUnivty(x).
University(LU)
Ответ: CMU; University(MU)
University(CMU)
• Найти все пары (a, b) т.ч. a зарегистрирован в b но a не BritishUnivty(LU)
является студентом в b.
BritishUnivty(MU)
Student(Tim)
q(x, y) = registered_at(x, y) ∧ ¬student_at(x, y). Student(Tom)
registered_at(Tim, LU)
Ответ: (Tom, MU);
registered_at(Tom, MU)
• В каждом ли университете есть студенты? student_at(Tim, LU)
student_at(Rob, CMU).
q = ∀y. (University(y) → ∃x. student_at(x, y)).
ответ: Нет
Онтологии и представление знаний, 2010 9
18. Запросы к базам данных
• Верно ли, что CMU является университетом, но не
британским университетом?
University(LU)
q = University(CMU) ∧ ¬BritishUnivty(CMU) University(MU)
University(CMU)
Ответ: Да BritishUnivty(LU)
BritishUnivty(MU)
• Правда ли, что LU — университет? Student(Tim)
Student(Tom)
q = University(LU). registered_at(Tim, LU)
registered_at(Tom, MU)
Ответ: Да. student_at(Tim, LU)
student_at(Rob, CMU).
• Сколько небританских университетов?
Ответ: в точности один
Онтологии и представление знаний, 2010 10
19. Формальное определение запроса к БД
RDB D задает интерпретацию ID :
• ∆I множество имен индивидов в D;
• d ∈ AI т. и т.т., когда A(d) ∈ D ;
• (d1 , d2 ) ∈ RI т. и т.т., когда R(d1 , d2 ) ∈ D .
Для данных RDB D и запроса q = q(x1 , . . . , xn)
answer(D, q) это множество (a1 , . . . , an) т.ч. ID |= q(a1 , . . . , an).
Для запроса q без свободных переменных, мы говорим что
• ответ, задаваемый D , ”Да”, если ID |= q ;
• ответ, задаваемый D , ”Нет” если ID ̸|= q (или ID |= ¬q ).
Онтологии и представление знаний, 2010 11
20. Итого
• Каждая RDB D описывает в точности одну модель;
• Если A(a) ̸∈ D , то a НЕ является примером A в ID и ответ на запрос A(a) будет
“Нет”.
• Если R(a, b) ̸∈ D , то (a, b) НЕ является примером R в ID и ответом на запрос
R(a, b) будет “Нет”.
• Т.о., предполагается полное знание о примерах концептов и ролей.
• Значит, при вычислении ответов на запросы принимается предположение о
замкнутости мира. Если что-то не описано в RDB, это неверно.
Онтологии и представление знаний, 2010 12
21. Сложность запросов к RDBs
Рассмотрим, для простоты, запросы без свободных переменных. Есть два способа измерить
вычислительную сложность запросов к RDBs:
• Сложность относительно данных: зафиксировать запрос и оценивать время/память
необходимые для вычисления ответа на запрос как функцию от размера данных.
• Комбинированная сложность: оценивать время/память необходимы для вычисления
ответа на запрос как функцию от размера данных и размера запроса.
Сложность относительно данных считается более подходящей так как размер запросов
обычно существенно меньше размера данных, представленных в БД.
SQL:
Сложность относительно данных LogSpace-полна,
комбинированная сложность — PSpace-полна.
Онтологии и представление знаний, 2010 13
22. ABox: Данные и предположение об открытости мире
Inference System
Interface
ABox (assertion box, data)
john: Man
(john, mary): hasChild
...
Онтологии и представление знаний, 2010 14
23. ABox
ABox (assertion box) это конечное множество утверждений вида
a : A, (a, b) : R,
где A это имя концепта, R — имя роли, а a, b — имена индивидов.
• a : A утверждает, что a это пример A;
• (a, b) : R утверждает, что (a, b) это пример R.
• Отказ от предположения о закрытости мира
• ABox описывает то, что мы знаем, но мы можем чего-то не знать!
Онтологии и представление знаний, 2010 15
24. Открытый мир
• Каждый ABox описывает класс интерпретаций совместных с ABox;
• Несмотря на то, что A(a) ̸∈ A, a все равно может быть примером A в какой-то
интерпретации A. Значит, ответом на запрос ¬A(a) будет “не знаю”.
• Аналогично, несмотря на то, что R(a, b) ̸∈ A, (a, b) может быть примером R в
какой-то интерпретации A. Ответ на запрос ¬R(a, b) “не знаю”.
• Предполагается неполное знание о примерах концептов и ролей
• Гипотеза об открытости мира.
Онтологии и представление знаний, 2010 16
25. Пример
Используем ту же RDB ID что и до этого, но обозначаем IDA, чтобы отличать от ID:
• LU : University, MU : University, CMU : University;
• LU : BritishUnivty, MU : BritishUnivty;
• Tim : Student, Tom : Student;
• (Tim, LU) : registered_at, (Tom, MU) : registered_at;
• (Tim, LU) : student_at, (Rob, CMU) : student_at.
Онтологии и представление знаний, 2010 17
26. Запросы к ABox
Рассмотрим следующие запросы и точные ответы, данные при
помощи IDA
• Найти все университеты (более точно, все объекты, про University(LU)
которые сказано, что они являются университетами). University(MU)
University(CMU)
q(x) = University(x). BritishUnivty(LU)
BritishUnivty(MU)
Ответ: LU, MU, CMU (такой же как и с помощью ID). Student(Tim)
Student(Tom)
• Найти все пары (a, b) т. ч. a зарегистрирован в b registered_at(Tim, LU)
(более точно, все пары (a, b) про которые сказано, что registered_at(Tom, MU)
a зарегистрирован в b). student_at(Tim, LU)
student_at(Rob, CMU).
q(x, y) = registered_at(x, y).
Ответ: (Tim, LU), (Tom, MU) (также как ID);
Онтологии и представление знаний, 2010 18
27. Запросы к ABox
• найти все a, которые где-то зарегистрированы
(точнее, все a про которые сказано, что они где-то
зарегистрированы) University(LU)
University(MU)
q(x) = ∃y. registered_at(x, y). University(CMU)
BritishUnivty(LU)
Ответ: Tim, Tom (также как ID). BritishUnivty(MU)
Student(Tim)
• Найти все университеты, которые не являются
Student(Tom)
британскими университетами (более точно, найти все
registered_at(Tim, LU)
объекты, про которые сказано, что они не являются
registered_at(Tom, MU)
британскими университетами)
student_at(Tim, LU)
student_at(Rob, CMU).
q(x) = University(x) ∧ ¬BritishUnivty(x).
Ответ: пустой список.
Онтологии и представление знаний, 2010 19
28. Запросы к ABox
• Найти все пары (a, b) т.ч. a зарегистрирован в b и a
не является студентом в b (более точно, найти все пары University(LU)
(a, b) про которые сказано, что a зарегистрирован в b и University(MU)
a не является студентом в b). University(CMU)
BritishUnivty(LU)
q(x, y) = registered_at(x, y) ∧ ¬student_at(x, y). BritishUnivty(MU)
Student(Tim)
Ответ: пустой список. Student(Tom)
registered_at(Tim, LU)
• В каждом ли университете есть студент?
registered_at(Tom, MU)
student_at(Tim, LU)
q = ∀y. (University(y) → ∃x. student_at(x, y)) student_at(Rob, CMU).
Ответ: не знаю.
Онтологии и представление знаний, 2010 20
29. Запросы к ABox
• Верно ли, что CMU это университет, но не британский University(LU)
университет? University(MU)
University(CMU)
q = University(CMU) ∧ ¬BritishUnivty(CMU). BritishUnivty(LU)
BritishUnivty(MU)
Ответ: не знаю.
Student(Tim)
Student(Tom)
• Верно ли, что LU это университет?
registered_at(Tim, LU)
registered_at(Tom, MU)
q = University(LU).
student_at(Tim, LU)
Ответ: Да. student_at(Rob, CMU).
Онтологии и представление знаний, 2010 21
30. Формальное определение запросов к ABox
Интерпретация I является моделью для ABox A если:
• все имена индивидов a из A интерпретируются как aI ∈ ∆I .
• aI ∈ A I когда a : A ∈ A;
• (aI , bI ) ∈ RI когди R(a, b) ∈ A.
Для данного ABox A и запроса q = q(x1 , . . . , xn), точным ответом на q относительно A,
CertAnswer(A, q),
являются все (a1 , . . . , an) т.ч. I |= q(a1 , . . . , an), для всех моделей I ABox A.
Для запроса q без свободных переменных
• ответом по отношению к A будет ”да” если I |= q для всех моделей I of A;
• ответом по отношению к A будет ”нет” если I ̸|= q для всех моделей I of A.
• Иначе, ответом будет ”не знаю”.
Онтологии и представление знаний, 2010 22