20101003 ontology konev_lecture08
TRANSCRIPT
![Page 1: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/1.jpg)
ABox: данные и дескрипционная логика
Knowledge Base (KB)
TBox (terminological box, schema)
Man ≡ Human ⊓ MaleHappyFather ≡ Man ⊓ ∃hasChild
...
ABox (assertion box, data)
john:Man(john,mary): hasChild
...
Infe
ren
ce S
yst
em
Inte
rface
Онтологии и представление знаний, 2010 1
![Page 2: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/2.jpg)
Базы знаний
База знаний K = (T ,A) состоит из теории T и ABox A.
Заметим, что данное определение покрывает ABox со сложными утверждениями вида a : C.
Если сложное утверждение вида a : C (т.е. C — сложный концепт) входит в A, мы
• заменим его на a : A, где A — новое имя;
• добавим A ≡ C к T .
Назовем полученную базу знаний (T ′,A′). Тогда (T ′,A′) дает те же ответы на все
запросы, не содержащие A что и (T ,A).
Онтологии и представление знаний, 2010 2
![Page 3: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/3.jpg)
Пример
Рассмотрим TBox Uni:
• BritishUnivty ⊑ University;
• University ⊓ Student ≡ ⊥;
• ⊤ ⊑ ∀registered_at.University;
• ⊤ ⊑ ∀student_at.University;
• ∃student_at.⊤ ⊑ Student;
• Student ⊑ ∃student_at.⊤;
• NonBritishUni ≡ University ⊓ ¬BritishUnivty.
Онтологии и представление знаний, 2010 3
![Page 4: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/4.jpg)
Пример
и UniA:
• CMU : NonBritishUni
• Harvard : Inst, FUBerlin : Inst
• LU : BritishUnivty, MU : BritishUnivty;
• Tim : Student;
• (Tim, LU) : registered_at, (Bob,MU) : registered_at;
• (Tom,Harvard) : student_at.
Обозначим by UniR базу данных с той же информацией.
Онтологии и представление знаний, 2010 4
![Page 5: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/5.jpg)
Ответы
Query Rel. DB UniR Abox UniA KB (Uni, UniA)University(CMU) No Don’t know Yes
University(Harvard) No Don’t know Yes
NonBritishUni(CMU) Yes Yes Yes
Student(Tim) Yes Yes Yes
Student(Tom) No Don’t know Yes
∃student_at.⊤(Tom) Yes Yes Yes
∃student_at.⊤(Tim) No Don’t know Yes
(Student ⊓ ¬Univty)(Tim) Yes Don’t know Yes
(Inst ⊓ ¬Univty)(FUBerlin) Yes Don’t know Don’t know
BritishUnivty ⊑ UniversityUniversity ⊓ Student ≡ ⊥⊤ ⊑ ∀registered_at.University⊤ ⊑ ∀student_at.University∃student_at.⊤ ⊑ StudentStudent ⊑ ∃student_at.⊤NonBritishUni ≡ University ⊓ ¬BritishUnivty
CMU : NonBritishUniHarvard : Inst,FUBerlin : InstLU : BritishUnivtyMU : BritishUnivtyTim : Student(Tim, LU) : registered_at(Bob,MU) : registered_at(Tom,Harvard) : student_at.
Онтологии и представление знаний, 2010 5
![Page 6: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/6.jpg)
Формальное определение ответа на запрос к базе знаний
Говорят, что интерпретация I является моделью базы знаний K = (T ,A) если
• I является моделью T и
• I является модельюA: все имена a изA интерпретированы как aI в ∆I, aI ∈ AI
когда a : A ∈ A, (aI, bI) ∈ RI когда (a, b) : R ∈ A.
Для данных K и q = q(x1, . . . , xn) точным ответом на q по отношению к K,
CertAnswer(K, q),
является множество всех (a1, . . . , an) т.ч. I |= q(a1, . . . , an), для всех I — моделей
K.
Для запросов без свободных переменных q мы говорим, что
• ответ, задаваемый K, ”Да”, если I |= q для всех I — моделей K;
• ответ, задаваемый K, ”Нет”, если I ̸|= q для всех I — моделей K;
• иначе, ответ “не знаю”.
Онтологии и представление знаний, 2010 6
![Page 7: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/7.jpg)
Язык запросов
• Для запросов к БД используется SQL = логика предикатов
• Использование произвольных запросов в семантике ABox приводит к неразрешимости:
q — произвольная замкнутая формула логики предикатов
CertAnswer(∅, q) = “Да” т. и.т.т., когда для любой I: I |= q.
– Проверка принадлежности
(T ,A) |= C(a)
* Обычно, решается теми же алгоритмами, что и классификация
– (Объединение) конъюнктивных запросов
q(x1, . . . , xn) = ∃y1 . . . ∃ymϕ,
где ϕ — конъюнкция выражений A(t) и r(t, t′).
Онтологии и представление знаний, 2010 7
![Page 8: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/8.jpg)
EL
Рассматриваем более богатый язык с номиналами:
• все имена концептов и ⊤ — ELO концепты
• Если C и D являются ELO-концептами, а r — имя роли, то
(C ⊓D), ∃r.C
являются EL-концептами
• Если a имя индивида, то {a} — ELO-концепт.
CA :=l
C(a)∈A
∃u.({a} ⊓ C) ⊓l
r(a,b)∈A
∃u.({a} ⊓ ∃r{b}),
(T ,A) |= C(a) т. и т.т., когда T |= {a} ⊓ CA ⊑ C.
где u — новое имя роли.
Онтологии и представление знаний, 2010 8
![Page 9: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/9.jpg)
Алгоритм для ELO
(simpleR) If A′ ∈ S(A) and A′ ⊑ B ∈ T and B ̸∈ S(A), then
S(A) := S(A) ∪ {B}.
(conjR) If A1, A2 ∈ S(A) and A1 ⊓A2 ⊑ B ∈ T and B ̸∈ S(A), then
S(A) := S(A) ∪ {B}.
(rightR) If A′ ∈ S(A) and A′ ⊑ ∃r.B ∈ T and (A, B) ̸∈ R(r), then
R(r) := R(r) ∪ {(A, B)}.
(leftR) If (A, B) ∈ R(r) and B′ ∈ S(B) and ∃r.B′ ⊑ A′ ∈ T and A′ ̸∈ S(A), then
S(A) := S(A) ∪ {A′}.
(nom) If {a} ∈ S(A) ∩ S(B), R∗(A, B) and S(B) ̸⊆ S(A), then
S(A) := S(A) ∪ S(B)Онтологии и представление знаний, 2010 9
![Page 10: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/10.jpg)
Логический анализ ABox вALC: пример
Given: Сэм живет в Германии. Сэм пьет пиво и сидр. Баварец это человек, живущий в
Германии, пьет пиво и только пиво.
Q: Баварец ли Сэм?
ABox Asam: Personsam:∃livesIn.Germanysam:∃drinks.Beer(sam, cider): drinks
TBox T
Bavarian ≡ Person ⊓ ∃livesIn.Germany⊓ ∃drinks.Beer ⊓ ∀drinks.Beer
Является ли sam примером Bavarian ?
1. Сведение к реализуемости ABox
Сэм является баварцем т. и т.т., когда A ∪ { sam:¬Bavarian } не реализуется
2. Предваренная форма ¬Bavarian:
¬Person ⊔ ∀livesIn.¬Germany ⊔ ∀drinks.¬Beer ⊔ ∃drinks.¬Beer
Онтологии и представление знаний, 2010 10
![Page 11: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/11.jpg)
Логический анализ ABox вALC: пример
S0 = { sam: Person, sam:∃livesIn.Germany,sam:∃drinks.Beer, (sam, cider): drinks,
sam:¬Person ⊔ ∀livesIn.¬Germany⊔ ∀drinks.¬Beer ⊔ ∃drinks.¬Beer }
S0 →⊔ S1.1 = S0 ∪ { sam:¬Person } clash
Онтологии и представление знаний, 2010 11
![Page 12: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/12.jpg)
Логический анализ ABox вALC: пример
S0 = { sam: Person, sam:∃livesIn.Germany,sam:∃drinks.Beer, (sam, cider): drinks,
sam:¬Person ⊔ ∀livesIn.¬Germany⊔ ∀drinks.¬Beer ⊔ ∃drinks.¬Beer }
S0 →⊔ S1.1 = S0 ∪ { sam:¬Person } clash
S0 →⊔ S1.2 = S0 ∪ { sam:∀livesIn.¬Germany }
S1.2 →∃ S2.2= S1.2 ∪ { (sam, x): livesIn, x:Germany }
S2.2 →∀ S3.2= S2.2 ∪ { x:¬Germany } clash
S0 →⊔ S1.3 = S0 ∪ { sam:∀drinks.¬Beer }
S1.3 →∃ S2.3= S1.3 ∪ { (sam, x): drinks, x: Beer }
S2.3 →∀ S3.3= S2.3 ∪ { x:¬Beer } clash
S0 →⊔ S1.4 = S0 ∪ { sam:∃drinks.¬Beer } (... см. след. слайд)
Онтологии и представление знаний, 2010 11
![Page 13: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/13.jpg)
Логический анализ ABox вALC: пример
S0 = { sam: Person, sam:∃livesIn.Germany,sam:∃drinks.Beer, (sam, cider): drinks,
sam:¬Person ⊔ ∀livesIn.¬Germany⊔ ∀drinks.¬Beer ⊔ ∃drinks.¬Beer }
S0 →⊔ S1.4 = S0 ∪ { sam:∃drinks.¬Beer }
S1.4 →∃ S2.4= S1.4 ∪ { (sam, x): drinks, x:¬Beer }
S2.4 →∃ S3.4= S2.4 ∪ { (sam, y): drinks, y: Beer }
Онтологии и представление знаний, 2010 12
![Page 14: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/14.jpg)
Логический анализ ABox вALC: пример
S0 = { sam: Person, sam:∃livesIn.Germany,sam:∃drinks.Beer, (sam, cider): drinks,
sam:¬Person ⊔ ∀livesIn.¬Germany⊔ ∀drinks.¬Beer ⊔ ∃drinks.¬Beer }
S0 →⊔ S1.4 = S0 ∪ { sam:∃drinks.¬Beer }
S1.4 →∃ S2.4= S1.4 ∪ { (sam, x): drinks, x:¬Beer }
S2.4 →∃ S3.4= S2.4 ∪ { (sam, y): drinks, y: Beer }
S3.4 →∃ S4.4= S3.4 ∪ { (sam, z): livesIn, z:Germany }
S4.4 полная непротиворечивая таблица. Т.о.,
A ∪ {sam:¬Bavarian}реализуем и Сэм не не является баварцем.
Онтологии и представление знаний, 2010 12
![Page 15: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/15.jpg)
Сложность запросов к базам знаний (T ,A)
Для простоты, рассмотрим запросы без свободных переменных. Три способа измерить
сложность.
• Сложность относительно данных: зафиксировать TBox T и запрос q. Сложность
оценивается как функция от размераA.
• Сложность относительно онтологии и данных: зафиксировать запрос q и оценивать
сложность как функцию от размера T и A.
• Комбинированная сложность: сложность оценивается как функция от размера запроса
q, TBox T , и ABox A.
Во многих случаях, размер T и q много меньше размераA. Тем не менее, иногда T может
быть очень большим и его размером нельзя пренебрегать.
Онтологии и представление знаний, 2010 13
![Page 16: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/16.jpg)
Сложность конъюнктивных запросов к (T ,A)
• Для ALC и SHOIQ сложность относительно данных: coNP-полная задача.
сложность относительно онтологии и данных, а также комбинированная сложность:
(N)ExpTime-полная задача.
• Для EL: сложность относительно данных и относительно онтологии и данных: PTime.
Комбинированная сложность (с учетом запросов): NP-полная задача.
Как улучшить?
Онтологии и представление знаний, 2010 14
![Page 17: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/17.jpg)
Дескрипционные логики семействаDL-Lite: терминологическая часть
![Page 18: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/18.jpg)
DL-Lite
Семейство дескрипционных логик DL-Lite было введено чтобы
• описать свойства стандартных концептуальных моделей таких как ER- и UML-диаграммы;
• придать им формальную семантику;
• обеспечить эффективный доступ к данным с использованием концептуальной модели
описанной как DL-Lite-TBox.
Мы рассмотрим три языка: DL-Litehorn, DL-Litebool и DL-Litecore.
Онтологии и представление знаний, 2010 16
![Page 19: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/19.jpg)
UML-диаграмма
disj
cov
Staff
Research Visiting Academic
ProjectManager
a a
`Project
?work
sOn
1..
*
1..*
6manages 1..2
Онтологии и представление знаний, 2010 17
![Page 20: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/20.jpg)
Синтаксис DL-Litehorn
• Язык DL-Litehorn-концептов (классов)
– имена концептов A0, A1, ...
– имена ролей r0, r1, ...
– концепт ⊤ (“thing”)
– концепт ⊥ (пустой класс, “nothing”)
– связка ⊓ (пересечение, конъюнкция или просто “и”).
– квантор ∃.
– связка ≥ n, где n > 0 — натуральное число.
– связка ·− (обратная роль).
Онтологии и представление знаний, 2010 18
![Page 21: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/21.jpg)
DL-Litehorn
Роль это имя роли или обратное имя роли
Базовые DL-Lite концепты определяются следующим образом:
• имена концептов, ⊤ и ⊥ являются базовыми DL-Lite концептами;
• ∃r.⊤ является базовым DL-Lite концептом для всех ролей r;
• (≥ n r.⊤) является базовым DL-Lite концептом для всех ролей r.
Импликация DL-Litehorn концептов имеет вид
B1 ⊓ · · · ⊓Bn ⊑ B,
где B1, . . . , Bn, B базовые DL-Lite концепты.
DL-Litehorn TBox это конечное множество импликаций DL-Litehorn концептов.
Онтологии и представление знаний, 2010 19
![Page 22: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/22.jpg)
Пример
• Person ⊓ (≥ 5 hasChild.⊤) (человек, у которого по крайней мере 5 детей);
• Person ⊓ (≥ 7 hasChild−.⊤) (человек, у которого по крайней мере 7 родителей
(?));
• Chair ⊓ Table ⊑ ⊥ (столы и стулья дизъюнктны);
• EL-концепт Person ⊓ ∃hasChild.Person не выразим в DL-Litehorn;
• EL-концепт Person ⊓ ∃hasChild.∃hasChild.⊤ не выразим DL-Litehorn;
• ∃r.⊤ эквивалентно (≥ 1 r.⊤).
Онтологии и представление знаний, 2010 20
![Page 23: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/23.jpg)
Моделирование UML-диаграммы в DL-Litehorn (почти)
disj
cov
Staff
Research Visiting Academic
ProjectManager
a a
`Project
?work
sOn
1..
*
1..*
6manages 1..2
∃manages.⊤ ⊑ ProjectManager, ∃worksOn.⊤ ⊑ Research,∃manages−.⊤ ⊑ Project, ∃worksOn−.⊤ ⊑ Project,Project ⊑ ∃manages−.⊤, Research ⊑ ∃worksOn.⊤,(≥ 3 manages−.⊤) ⊑ ⊥, Project ⊑ ∃worksOn−.⊤,Research ⊑ Staff, Visiting ⊑ Staff,Research ⊓ Visiting ⊑ ⊥, Academic ⊑ Staff,Visiting ⊑ ProjectManager, Academic ⊑ ProjectManager.
Не можем выразить
“every Projectmanager is VistingStaff or AcademicStaff”
Онтологии и представление знаний, 2010 21
![Page 24: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/24.jpg)
Семантика DL-Litehorn
• Интерпретация это структура I = (∆I, ·I) в которой
– ∆I is the носитель (непустое множество)
– ·I является интерпретирующей функцией которая отображает:
* каждое имя концепта A в подмножество AI of ∆I (AI ⊆ ∆I)
* каждое имя роли r в бинарное отношение rI над ∆I (rI ⊆ ∆I ×∆I)
• Интерпретация обратной роли (r−)I обратна к rI:
(r−)I = {(d, e) | (e, d) ∈ rI}
• Интерпретация BI базового DL-Lite концепта B определяется следующим образом:
– (⊤)I = ∆I и (⊥)I = ∅– (≥ n r.⊤)I это множество x ∈ ∆I т.ч. число y в ∆I с (x, y) ∈ rI не меньше
n
– (∃r.⊤)I = {x ∈ ∆I | ∃y ∈ ∆I such that (x, y) ∈ rI}
Онтологии и представление знаний, 2010 22
![Page 25: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/25.jpg)
Логический анализ DL-Litehorn
• Поглощение. T — TBox а B1 ⊓ · · · ⊓ Bn ⊑ B импликация концептов. Говорят,
что B1 ⊓ · · · ⊓ Bn ⊑ B следует из T т. и т.т., когда каждая модель T является
моделью B1 ⊓ · · · ⊓Bn ⊑ B. Обозначение:
– T |= B1 ⊓ · · · ⊓Bn ⊑ B or
– B1 ⊓ · · · ⊓Bn ⊑T B.
• Выполнимость TBox . TBox T выполним т. и т.т., когда существует модель T .
Теорема. Существует полиномиальный алгоритм, решающий задачу поглощения концептов
относительно DL-Litehorn-TBox.
Онтологии и представление знаний, 2010 23
![Page 26: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/26.jpg)
DL-Litebool
DL-Litebool это расширение DL-Litehorn, полученное добавлением
• связки ⊔ (объединение, дизъюнкция или просто “или”)
к DL-Litehorn.
Импликация DL-Litebool концептов это выражение
B1 ⊓ · · · ⊓Bn ⊑ E1 ⊔ · · · ⊔ Em,
где B1, . . . , Bn, E1, . . . , Em являются базовыми DL-Lite концептами.
DL-Litebool TBox это конечное множество импликаций DL-Litebool концептов.
Интерпретация I:
(B1 ⊔ · · · ⊔Bn)I = BI1 ∪ · · · ∪BI
n.
(остальное как в DL-Litehorn).
Онтологии и представление знаний, 2010 24
![Page 27: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/27.jpg)
Логический анализ в DL-Litebool
В DL-Litebool можно выразить
every Projectmanager is VistingStaff or AcademicStaff
используя импликацию
ProjectManager ⊑ Academic ⊔ Visiting.
приходится платить высокую цену:
Теорема. Задача проверки выполнимости DL-Litebool-TBox является NP-полной.
Проверка поглощения является coNP-полной задачей.
Онтологии и представление знаний, 2010 25
![Page 28: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/28.jpg)
ABox и DL-Litecore
![Page 29: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/29.jpg)
И снова БД
A quick overview of DLs Reasoning and query answering in DLs The DL-Lite family
Complexity of query answering Part 2: Description Logics and the DL-Lite family
Query rewriting
rq,TPerfect
(under OWA)Query
(under CWA)
evaluation
reformulationq
T
A cert(q, !T ,A")
Query answering can always be thought as done in two phases:1 Perfect rewriting: produce from q and the TBox T a new query rq,T
(called the perfect rewriting of q w.r.t. T ).2 Query evaluation: evaluate rq,T over the ABox A seen as a complete
database (and without considering the TBox T ).! Produces cert(q, !T ,A").
Note: The “always” holds if we pose no restriction on the language in which toexpress the rewriting rq,T .
D. Calvanese Ontologies and Databases Reasoning Web – Sep. 3–4, 2009 (134/288)
• Переписываем запрос в новый язык
• Используем базы данных для поиска всех точных ответов
• Предполагаем, что T выполним
Онтологии и представление знаний, 2010 27
![Page 30: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/30.jpg)
DL-Litecore
Выражения вида
Положительные включения
C ⊑ D
Отрицательные включения
C ⊑ ¬D
где C и D выражения вида B, ∃s.⊤, ∃s−.⊤
Онтологии и представление знаний, 2010 28
![Page 31: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/31.jpg)
Пример
из презентации Diego Calvanese
q(x)← Professor(x)
AssistantProfessor ⊑ Professor
Онтологии и представление знаний, 2010 29
![Page 32: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/32.jpg)
Пример
из презентации Diego Calvanese
q(x)← Professor(x)
AssistantProfessor ⊑ Professor
Professor(x)← AssistantProfessor(x)
Онтологии и представление знаний, 2010 29
![Page 33: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/33.jpg)
Пример
из презентации Diego Calvanese
q(x)← Professor(x)
AssistantProfessor ⊑ Professor
Professor(x)← AssistantProfessor(x)
Если атом в запросе унифицируется с головой правила то
заменить голову на тело
q′(x)← AssistantProfessor(x)
Онтологии и представление знаний, 2010 29
![Page 34: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/34.jpg)
Пример
q(x)← teaches(x, y),Course(y)
∃teaches.⊤ ⊑ CourseCourse(z2)← teaches(z1, z2)
Онтологии и представление знаний, 2010 30
![Page 35: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/35.jpg)
Пример
q(x)← teaches(x, y),Course(y)
∃teaches.⊤ ⊑ CourseCourse(z2)← teaches(z1, z2)
q′(x)← teaches(x, y), teaches(z1, y)
Онтологии и представление знаний, 2010 30
![Page 36: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/36.jpg)
Пример
q(x)← teaches(x, y),Course(y)
∃teaches.⊤ ⊑ CourseCourse(z2)← teaches(z1, z2)
q′(x)← teaches(x, y), teaches(z1, y)
Сколемизация ∃
q(x)← teaches(x, y)
Professor ⊑ ∃teaches.⊤teaches(z, f(z))← Professor(z)
q′(x)← Professor(x)
Онтологии и представление знаний, 2010 30
![Page 37: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/37.jpg)
Пример
Однако...
q(x)← teaches(x, databases)
Professor ⊑ ∃teaches.⊤teaches(z, f(z))← Professor(z)
не унифицируется!
Онтологии и представление знаний, 2010 31
![Page 38: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/38.jpg)
Пример
Однако...
q(x)← teaches(x, databases)
Professor ⊑ ∃teaches.⊤teaches(z, f(z))← Professor(z)
не унифицируется!
С выделенными переменными обращаемся как с константами
q(x, y)← teaches(x, y)
Онтологии и представление знаний, 2010 31
![Page 39: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/39.jpg)
Пример
Однако...
q(x)← teaches(x, databases)
Professor ⊑ ∃teaches.⊤teaches(z, f(z))← Professor(z)
не унифицируется!
С выделенными переменными обращаемся как с константами
q(x, y)← teaches(x, y)
Как и с переменными, входящими в другие атомы
q(x)← teaches(x, y), (z, y),
Онтологии и представление знаний, 2010 31
![Page 40: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/40.jpg)
Пример
Редукция
q(x)← teaches(x, y), (z, y),
(унифицируя атомы)
q′(x)← teaches(x, y)
Онтологии и представление знаний, 2010 32
![Page 41: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/41.jpg)
Пример
Редукция
q(x)← teaches(x, y), (z, y),
(унифицируя атомы)
q′(x)← teaches(x, y)
и тогда с помощьюProfessor ⊑ ∃teaches.⊤teaches(z, f(z))← Professor(z)
получаем
q′(x)← Professor(x)
Онтологии и представление знаний, 2010 32
![Page 42: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/42.jpg)
Алгоритм
PR := {q};
repeat
PR′ := PR;
for all q ∈ PR′ do
for all g ∈ q do
for all CI I in T do
if I is applicable to g then
PR := PR ∪ {q[g/(g, I)]}end if
end for
for all g1, g2 ∈ q do
if g1 and g2 unify then
PR := PR ∪ {(Reduce(q, g1, g2))};end if
end for
end for
end for
until PR′ = PR
return PR
Онтологии и представление знаний, 2010 33
![Page 43: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/43.jpg)
Пример
TBox reasoning TBox & ABox reasoning Beyond DL-Lite
Query answering over satisfiable ontologies Part 3: Reasoning in the DL-Lite family
Query answering in DL-Lite – An interesting example
TBox: Person ! "hasFather"hasFather! ! Person
ABox: Person(mary)
Query: q(x)# Person(x), hasFather(x, y1), hasFather(y1, y2), hasFather(y2, y3)
q(x)# Person(x), hasFather(x, y1), hasFather(y1, y2), hasFather(y2, )! Apply Person ! "hasFather to the atom hasFather(y2, )
q(x)# Person(x), hasFather(x, y1), hasFather(y1, y2), Person(y2)! Apply "hasFather! ! Person to the atom Person(y2)
q(x)# Person(x), hasFather(x, y1), hasFather(y1, y2), hasFather( , y2)! Unify atoms hasFather(y1, y2) and hasFather( , y2)
q(x)# Person(x), hasFather(x, y1), hasFather(y1, y2)!· · ·
q(x)# Person(x), hasFather(x, )! Apply Person ! "hasFather to the atom hasFather(x, )
q(x)# Person(x)
D. Calvanese Ontologies and Databases Reasoning Web – Sep. 3–4, 2009 (194/288)
Онтологии и представление знаний, 2010 34
![Page 44: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/44.jpg)
Сложность конъюнктивных запросов к (T ,A)
• Для DL-Litecore, DL-Litehorn и некоторых других логик семейства DL-Lite, сложность
относительно данных LogSpace-полна
При условии уникальности имен
для любых a, b ∈ A мы имеем aI ̸= bI
• Без условия уникальности имен: co-NP
Онтологии и представление знаний, 2010 35
![Page 45: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/45.jpg)
Язык описания онтологий OWL
![Page 46: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/46.jpg)
OWL (Язык описания Web-онтологий)
OWL это язык описания онтологий, принятый в качестве стандарта для Web (точнее, Se-
mantic Web). Используется и для других приложений.
• OWL 1 рекомендован W3C с февраля 2004 года.
• OWL 2 новый стандарт, рекомендован с октября 2009.
Онтологии и представление знаний, 2010 37
![Page 47: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/47.jpg)
Описание
Из описания OWL1: The OWL Web Ontology Language is designed for use by applications that
need to process the content of information instead of just presenting information to humans.
OWL facilitates greater machine interpretability of Web content than that supported by XML, RDF,
and RDF Schema (RDF-S) by providing additional vocabulary along with a formal semantics.
OWL has three increasingly-expressive sublanguages: OWL Lite, OWL DL, and OWL Full.
Из описания OWL2: The OWL 2 Web Ontology Language, informally OWL 2, is an ontology
language for the Semantic Web with formally defined meaning. OWL 2 ontologies provide classes,
properties, individuals, and data values and are stored as Semantic Web documents. OWL 2
ontologies can be used along with information written in RDF, and OWL 2 ontologies themselves
are primarily exchanged as RDF documents.
Онтологии и представление знаний, 2010 38
![Page 48: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/48.jpg)
Три вида OWL
• OWL Full
– Очень выразителен
– Нестандартная семантика (наследие RDF)
– Полностью совместим с RDF (синтаксически и семантически):
• любой RDF-документ является OWL Full-документом
• любое истинное RDF/S-утверждение является истинным OWL Full-утверждением
– неразрешим (нет полных (и эффективных) процедур автоматического анализа)
• OWL DL
– Подмножество OWL Full, соответствует SHOIN с XML типами данных;
* OWL 2 DL соответствует SROIQ– эффективные (но не полиномиальные) процедуры анализа;
• OWL Lite
– Подмножество OWL 1 DL, соответствующее SHIN (без номиналов) и без XML
типов данных;
– Высокая вычислительная сложность
– Не так важен (2009) как в 2004.Онтологии и представление знаний, 2010 39
![Page 49: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/49.jpg)
Три вида OWL
Совместимость между видами OWL и RDF/S
OWL Full
RDF/S
Онтологии и представление знаний, 2010 40
![Page 50: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/50.jpg)
Три вида OWL
Совместимость между видами OWL и RDF/S
OWL Full
RDF/S
OWL DL
Онтологии и представление знаний, 2010 40
![Page 51: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/51.jpg)
Три вида OWL
Совместимость между видами OWL и RDF/S
OWL Full
RDF/S
OWL DL
OWL Lite
Онтологии и представление знаний, 2010 40
![Page 52: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/52.jpg)
Три вида OWL
Совместимость между видами OWL и RDF/S
OWL Full
RDF/S
OWL DL
OWL Lite
• В каком-то смысле, OWL это надстройка над RDF/S:
– Все виды OWL поддерживают синтаксис на основе RDF
– OWL-конструкции, такие как owl:Class, owl:DatatypeProperty and
owl:ObjectProperty являются специализацией RDF/S-аналогов
Онтологии и представление знаний, 2010 40
![Page 53: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/53.jpg)
Профили OWL 2
Профили OWL 2 это подмножества OWL 2, имеющие определенные преимущества для
конкретных приложений.
• OWL 2 EL основан на EL. Полиномиальный алгоритм логического анализа.
• OWL 2 QL Эффективные запросы к БД, основан на семействе DL-Lite
• OWL 2 RL Правила (продукции) для RDF
Онтологии и представление знаний, 2010 41
![Page 54: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/54.jpg)
Синтаксис языка OWL
Несколько синтаксических форм
• Основанный на RDF (XML) синтаксис (основной)
• Основанный на XML синтаксис, не следует соглашениям RDF
(легче понимать) http://www.w3.org/TR/owl-xmlsyntax/
• Абстрактный синтаксис
(гораздо легче понимать см. http://www.w3.org/TR/owl-semantics/
• Графическое представление, основанное на UML
(Unified Modelling Language)
• ... (?)
Онтологии и представление знаний, 2010 42
![Page 55: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/55.jpg)
Заголовок XML/RDF
<rdf:RDF xmlns:owl=′′http://www.w3.org/2002/07/owl#′′
xmlns:rdf=′′http://www.w3.org/1999/02/22-rdf-syntax-ns#′′
xmlns:rdfs=′′http://www.w3.org/2000/01/rdf-schema#′′
xmlns:xsd=′′http://www.w3.org/2001/XMLSchema#′′
xml:base=′′http://www.dcs.bbk.ac.uk/′′>
<owl:Ontology rdf:about=′′′′><rdfs:comment>An example OWL ontology</rdfs:comment><owl:priorVersion rdf:resource=′′http://www.dcs.bbk.ac.uk/uni-old-ns′′/><owl:imports rdf:resource=′′http://www.dcs.bbk.ac.uk/person′′/><rdfs:label>SCSIS Ontology</rdfs:label>
</owl:Ontology>
...
</rdf:RDF>
Онтологии и представление знаний, 2010 43
![Page 56: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/56.jpg)
Классы в XML/RDF
Классы (концепты) определяются при помощи owl:Class(owl:Class подкласс rdfs:Class)
<owl:Class rdf:ID=′′professor′′><rdfs:subClassOf rdf:resource=′′#academicStaff′′/>
</owl:Class>
.
.
academicStaff
professor
<owl:Class rdf:about=′′#professor′′><owl:disjointWith rdf:resource=′′#lecturer′′/>
</owl:Class>
.
.
lecturer professor
Онтологии и представление знаний, 2010 44
![Page 57: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/57.jpg)
OWL: абстрактный синтаксис
Подробности: http://www.w3.org/TR/owl-semantics/syntax.html#2.3.2.1
Онтологии и представление знаний, 2010 45
![Page 58: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/58.jpg)
Классы: примитивные или определяемые
описания определения
Class(name partial ...) Class(name complete ...)
‘all name ...’ ‘a name is anything that ...’
примитивные концепты определяемые концепты
⊑ ≡
Пример:
Class(MargheritaPizza partial
Pizza
restriction(hasToppingsomeValuesFrom(Mozzarella))
restriction(hasToppingsomeValuesFrom(Tomato)))
Class(CheesyPizza complete
Pizza
restriction(hasToppingsomeValuesFrom(Cheese)))
‘All Margherita pizzas have, amongst
other things, some mozzarella topping
and also some tomato topping’
‘A cheesy pizza is any pizza that has,
amongst other things,
some cheese topping’
Онтологии и представление знаний, 2010 46
![Page 59: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/59.jpg)
Классы: дизъюнктность
PizzaTopping
– Vegetable
– Tomato
– Pepper
– Mushroom
– Meat
– SpicyBeef
– Pepperoni
– Seafood
– Tuna
– Prawn
– Anchovy
– Cheese
– Mozzarella
– Parmesan
В OWL классы могут пересекаться если только
не объявлены дизъюнктными:
DisjointClasses(class1 ... classn)
Пример:
DisjointClasses(Vegetable Meat Seafood Cheese)
Онтологии и представление знаний, 2010 47
![Page 60: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/60.jpg)
Кванторы
экзистенциальный универсальный
restriction(prop
someValuesFrom(class))
restriction(prop
allValuesFrom(class))
‘some’, ‘at least one’ ‘only’, ‘no value except’
.
.
∃.
.
∀Пример:
Class(DogOwner complete
Person
restriction(hasPetsomeValuesFrom(Dog)))
‘A dog owner is any person who
has as a pet some dog’
Class(FirstClassLounge complete
Lounge
restriction(hasOccupantsallValuesFrom(FirstCPassenger)))
‘A first class lounge is any lounge where
the occupants are
only first class passengers’
‘A first class lounge is any lounge where
there are no occupants except
first class passengers’
Онтологии и представление знаний, 2010 48
![Page 61: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/61.jpg)
Кванторы
экзистенциальный универсальный
.
.
∃.
.
∀Пример:
Class(DogOwner partial
Person
restriction(hasPetsomeValuesFrom(Dog)))
‘Dog owners are people
and have as a pet some dog’
Class(FirstClassLounge partial
Lounge
restriction(hasOccupantsallValuesFrom(FirstCPassenger)))
‘All first class lounges have
only occupants who are
first class passengers’
‘All first class lounges
have no occupants except
first class passengers’
‘All first class lounges
have no occupants who are
not first class passengers’
Онтологии и представление знаний, 2010 49
![Page 62: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/62.jpg)
Логические связки
объединение (дизьюнкция) пересечение (конъюнкция)
unionOf(class1 …classn) intersectionOf(class1 …classn)
‘class1 and/or class2’ ‘both class1 and also class2’
.
.
⊔.
.
⊓Пример:
Class(VegetarianPizza complete
Pizza
restriction(hasToppingallValuesFrom(
unionOf(Vegetable Cheese))))
‘A vegetarian pizza is any pizza which,
amongst other things, has
only vegetable and/or cheese top-
pings’
Class(ProteinLoversPizza complete
Pizza
restriction(hasToppingallValuesFrom(
intersectionOf(Meat Seafood))))
‘A protein lover’s pizza is any pizza that,
amongst other things, has only toppings
that are both meat and also seafood’
NO topping isboth meat and also seafood !
(therefore, the intersection is empty)
Онтологии и представление знаний, 2010 50
![Page 63: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/63.jpg)
Отрицание
complementOf(class).
.
¬
• complementOf(intersectionOf(class1 class2))
— ‘not all of’ / ‘not both class1 and also class2’
• complementOf(unionOf(class1 class2)) — ‘neither class1 nor class2’
• restriction(prop someValuesFrom(complementOf(class)))
— ‘has some prop that are not class’
• complementOf(restriction(prop someValuesFrom(class))))
— ‘does not have any prop that are class’
• restriction(prop allValuesFrom(complementOf(class)))
— ‘has prop no class’ / ‘has only prop that are not class’
• complementOf(restriction(prop allValuesFrom(class))))
— ‘does not have only prop that are class’
Онтологии и представление знаний, 2010 51
![Page 64: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/64.jpg)
Мощностные ограничения
restriction(prop
minCardinality(n))
restriction(prop
maxCardinality(n))
‘at least n (distinct) prop’ ‘at most n (distinct) prop’
.
.
≥.
.
≤Пример:
Class(InterestingPizza complete
Pizza
restriction(hasToppingminCardinality(3)))
‘An interesting pizza is any pizza that,
amongst other things, has
at least 3 (distinct) toppings’
Class(Pizza partial
restriction(hasBasemaxCardinality(1)))
‘Any pizza, amongst other things,
has at most 1 pizza base’
Онтологии и представление знаний, 2010 52
![Page 65: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/65.jpg)
Домен / область значений
ObjectProperty(name ... domain(classD) range(classR))
range domain
Class(owl:Thing partial
restriction(nameallValuesFrom(classR)))
SubClassOf(restriction(namesomeValuesFrom(owl:Thing))
classD)
‘All things have no name except classR’ ‘Having a name implies being classD’
Онтологии и представление знаний, 2010 53
![Page 66: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/66.jpg)
Пример
ObjectProperty(hasTopping
domain(Pizza))
‘Having a topping implies being pizza’
Рожки для мороженного:
Class(IceCreamCone partial
restriction(hasToppingsomeValuesFrom(IceCream)))
‘All ice-cream cones,
amongst other things,
have some ice-cream topping’
Онтологии и представление знаний, 2010 54
![Page 67: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/67.jpg)
OWL как ДЛ: Классы
A Aowl:Thing ⊤owl:Nothing ⊥
Онтологии и представление знаний, 2010 55
![Page 68: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/68.jpg)
OWL как ДЛ: Классы
A Aowl:Thing ⊤owl:Nothing ⊥
intersectionOf(C1 C2 …Cn) C1 ⊓ C2 ⊓ . . . ⊓ Cn
unionOf(C1 C2 …Cn) C1 ⊔ C2 ⊔ . . . ⊔ Cn
complementOf(C) ¬C
Онтологии и представление знаний, 2010 55
![Page 69: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/69.jpg)
OWL как ДЛ: Классы
A Aowl:Thing ⊤owl:Nothing ⊥
intersectionOf(C1 C2 …Cn) C1 ⊓ C2 ⊓ . . . ⊓ Cn
unionOf(C1 C2 …Cn) C1 ⊔ C2 ⊔ . . . ⊔ Cn
complementOf(C) ¬C
oneOf(a1 a2 …an) {a1} ⊔ {a2} ⊔ . . . ⊔ {an}
Онтологии и представление знаний, 2010 55
![Page 70: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/70.jpg)
OWL как ДЛ: Классы
A Aowl:Thing ⊤owl:Nothing ⊥
intersectionOf(C1 C2 …Cn) C1 ⊓ C2 ⊓ . . . ⊓ Cn
unionOf(C1 C2 …Cn) C1 ⊔ C2 ⊔ . . . ⊔ Cn
complementOf(C) ¬C
oneOf(a1 a2 …an) {a1} ⊔ {a2} ⊔ . . . ⊔ {an}
restriction(R …)
allValuesFrom(C) ∀R.C
someValuesFrom(C) ∃R.C
Онтологии и представление знаний, 2010 55
![Page 71: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/71.jpg)
OWL как ДЛ: Классы
A Aowl:Thing ⊤owl:Nothing ⊥
intersectionOf(C1 C2 …Cn) C1 ⊓ C2 ⊓ . . . ⊓ Cn
unionOf(C1 C2 …Cn) C1 ⊔ C2 ⊔ . . . ⊔ Cn
complementOf(C) ¬C
oneOf(a1 a2 …an) {a1} ⊔ {a2} ⊔ . . . ⊔ {an}
restriction(R …)
allValuesFrom(C) ∀R.C
someValuesFrom(C) ∃R.C
minCardinality(n) ≥ n R
maxCardinality(n) ≤ n R
Онтологии и представление знаний, 2010 55
![Page 72: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/72.jpg)
OWL как ДЛ: Классы
A Aowl:Thing ⊤owl:Nothing ⊥
intersectionOf(C1 C2 …Cn) C1 ⊓ C2 ⊓ . . . ⊓ Cn
unionOf(C1 C2 …Cn) C1 ⊔ C2 ⊔ . . . ⊔ Cn
complementOf(C) ¬C
oneOf(a1 a2 …an) {a1} ⊔ {a2} ⊔ . . . ⊔ {an}
restriction(R …)
allValuesFrom(C) ∀R.C
someValuesFrom(C) ∃R.C
minCardinality(n) ≥ n R
maxCardinality(n) ≤ n R
value(a) ∃R.{a}
Онтологии и представление знаний, 2010 55
![Page 73: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/73.jpg)
OWL как ДЛ: Классы
Class(A partial C1 C2 …Cn) A ⊑ C1 ⊓ C2 ⊓ . . . ⊓ Cn
Class(A complete C1 C2 …Cn) A ≡ C1 ⊓ C2 ⊓ . . . ⊓ Cn
Онтологии и представление знаний, 2010 56
![Page 74: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/74.jpg)
OWL как ДЛ: Классы
Class(A partial C1 C2 …Cn) A ⊑ C1 ⊓ C2 ⊓ . . . ⊓ Cn
Class(A complete C1 C2 …Cn) A ≡ C1 ⊓ C2 ⊓ . . . ⊓ Cn
SubClassOf(C D) C ⊑ D
EquivalentClasses(C1 C2 …Cn) C1 ≡ C2, C2 ≡ C3, . . . ,
Cn−1 ≡ Cn
Онтологии и представление знаний, 2010 56
![Page 75: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/75.jpg)
OWL как ДЛ: Классы
Class(A partial C1 C2 …Cn) A ⊑ C1 ⊓ C2 ⊓ . . . ⊓ Cn
Class(A complete C1 C2 …Cn) A ≡ C1 ⊓ C2 ⊓ . . . ⊓ Cn
SubClassOf(C D) C ⊑ D
EquivalentClasses(C1 C2 …Cn) C1 ≡ C2, C2 ≡ C3, . . . ,
Cn−1 ≡ Cn
DisjointClasses(C1 C2 …Cn) C1 ⊑ ¬C2, C1 ⊑ ¬C3, …, C1 ⊑ ¬Cn
C2 ⊑ ¬C3, …, C2 ⊑ ¬Cn
…
Cn−1 ⊑ ¬Cn
.
.
C1 C2
¬C2
C1 ⊑ ¬C2
C1 C2
¬C1
C2 ⊑ ¬C1то же что
Пример: C1 и C2 дизъюнктны:
Онтологии и представление знаний, 2010 56
![Page 76: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/76.jpg)
OWL как ДЛ: свойства
SubPropertyOf(R S) R ⊑ S
EquivalentProperty(R S) R ≡ S
Онтологии и представление знаний, 2010 57
![Page 77: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/77.jpg)
OWL как ДЛ: свойства
SubPropertyOf(R S) R ⊑ S
EquivalentProperty(R S) R ≡ S
ObjectProperty(R ...)
super(S) R ⊑ S
Онтологии и представление знаний, 2010 57
![Page 78: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/78.jpg)
OWL как ДЛ: свойства
SubPropertyOf(R S) R ⊑ S
EquivalentProperty(R S) R ≡ S
ObjectProperty(R ...)
super(S) R ⊑ S
inverseOf(S) R ≡ S−
.
.
b
b
b b
свойство R обратно к R−
Онтологии и представление знаний, 2010 57
![Page 79: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/79.jpg)
OWL как ДЛ: свойства
SubPropertyOf(R S) R ⊑ S
EquivalentProperty(R S) R ≡ S
ObjectProperty(R ...)
super(S) R ⊑ S
inverseOf(S) R ≡ S−
.
.
b
b
b b
свойство R обратно к R−
Transitive transitive(R)
Онтологии и представление знаний, 2010 57
![Page 80: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/80.jpg)
OWL как ДЛ: свойства
SubPropertyOf(R S) R ⊑ S
EquivalentProperty(R S) R ≡ S
ObjectProperty(R ...)
super(S) R ⊑ S
inverseOf(S) R ≡ S−
.
.
b
b
b b
свойство R обратно к R−
Transitive transitive(R)
Functional ⊤ ⊑ ≤1 R
InverseFunctional ⊤ ⊑ ≤1 R−.
.
b
b b b
++ +
R функционально
.
.
b b b
b
+
R обратная функция
Онтологии и представление знаний, 2010 57
![Page 81: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/81.jpg)
OWL как ДЛ: свойства
SubPropertyOf(R S) R ⊑ S
EquivalentProperty(R S) R ≡ S
ObjectProperty(R ...)
super(S) R ⊑ S
inverseOf(S) R ≡ S−
.
.
b
b
b b
свойство R обратно к R−
Transitive transitive(R)
Functional ⊤ ⊑ ≤1 R
InverseFunctional ⊤ ⊑ ≤1 R−.
.
b
b b b
++ +
R функционально
.
.
b b b
b
+
R обратная функцияSymmetric R− ⊑ R
Онтологии и представление знаний, 2010 57
![Page 82: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/82.jpg)
OWL как ДЛ: свойства
SubPropertyOf(R S) R ⊑ S
EquivalentProperty(R S) R ≡ S
ObjectProperty(R ...)
super(S) R ⊑ S
inverseOf(S) R ≡ S−
.
.
b
b
b b
свойство R обратно к R−
Transitive transitive(R)
Functional ⊤ ⊑ ≤1 R
InverseFunctional ⊤ ⊑ ≤1 R−.
.
b
b b b
++ +
R функционально
.
.
b b b
b
+
R обратная функцияSymmetric R− ⊑ R
range(C) ⊤ ⊑ ∀R.C
domain(D) ∃R.⊤ ⊑ D
Онтологии и представление знаний, 2010 57
![Page 83: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/83.jpg)
OWL как ДЛ: ограничения домена и области значений
ObjectProperty(R range(C))
⊤ ⊑ ∀R.C
.
.
b
b
b
b+C
ObjectProperty(R domain(D))
∃R.⊤ ⊑ D
.
.
b
bb
∃R.⊤D
Онтологии и представление знаний, 2010 58
![Page 84: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/84.jpg)
OWL как ДЛ: ограничения домена и области значений
ObjectProperty(R range(C))
⊤ ⊑ ∀R.C
.
.
b
b
b
b+C
ObjectProperty(R domain(D))
∃R.⊤ ⊑ D
.
.
b
bb
∃R.⊤D
NB: способ записать
ограничения области значений:
∃R−.⊤ ⊑ C
ограничения домена:
⊤ ⊑ ∀R−.D
Онтологии и представление знаний, 2010 58
![Page 85: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/85.jpg)
OWL как ДЛ: индивиды
DifferentIndividuals(a1 a2 …an) a1:¬{a2, a3, . . . , an}a2:¬{a3, . . . , an}…
an−1:¬{an}
SameIndividuals(a1 a2 …an) a1: {a2}a2: {a3}. . .
an−1: {an}
Онтологии и представление знаний, 2010 59
![Page 86: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/86.jpg)
OWL как ДЛ: индивиды
DifferentIndividuals(a1 a2 …an) a1:¬{a2, a3, . . . , an}a2:¬{a3, . . . , an}…
an−1:¬{an}
SameIndividuals(a1 a2 …an) a1: {a2}a2: {a3}. . .
an−1: {an}
Предположение об уникальности имен (UNA) утверждает что
любые два индивида с разными именами интерпретируются по-разному
Онтологии и представление знаний, 2010 59
![Page 87: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/87.jpg)
OWL как ДЛ: индивиды
DifferentIndividuals(a1 a2 …an) a1:¬{a2, a3, . . . , an}a2:¬{a3, . . . , an}…
an−1:¬{an}
SameIndividuals(a1 a2 …an) a1: {a2}a2: {a3}. . .
an−1: {an}
Предположение об уникальности имен (UNA) утверждает что
любые два индивида с разными именами интерпретируются по-разному
OWL и DL не делают UNA
Пример: T = {⊤ ⊑ ≤1R} и A = {(a, b): R, (a, c): R}
Совместен ли A с T ?
Онтологии и представление знаний, 2010 59
![Page 88: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/88.jpg)
OWL как ДЛ: индивиды
DifferentIndividuals(a1 a2 …an) a1:¬{a2, a3, . . . , an}a2:¬{a3, . . . , an}…
an−1:¬{an}
SameIndividuals(a1 a2 …an) a1: {a2}a2: {a3}. . .
an−1: {an}
Предположение об уникальности имен (UNA) утверждает что
любые два индивида с разными именами интерпретируются по-разному
OWL и DL не делают UNA
Пример: T = {⊤ ⊑ ≤1R} и A = {(a, b): R, (a, c): R}
Совместен ли A с T ?
ДА! рассмотрим I = (∆I, ·I), где ∆I = {x, y}, RI = {(x, y)},aI = x, bI = y и cI = y
Онтологии и представление знаний, 2010 59
![Page 89: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/89.jpg)
От ДЛ к OWL
ДЛ аксиомы могут быть представлены разными способами
A ⊑ B (A и B имена концептов)
может быть записано
1. Class(A partial B)
Онтологии и представление знаний, 2010 60
![Page 90: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/90.jpg)
От ДЛ к OWL
ДЛ аксиомы могут быть представлены разными способами
A ⊑ B (A и B имена концептов)
может быть записано
1. Class(A partial B)
2. SubClassOf(A B)
Онтологии и представление знаний, 2010 60
![Page 91: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/91.jpg)
От ДЛ к OWL
ДЛ аксиомы могут быть представлены разными способами
A ⊑ B (A и B имена концептов)
может быть записано
1. Class(A partial B)
2. SubClassOf(A B)
3. DisjointClasses(A complementOf(B))
Онтологии и представление знаний, 2010 60
![Page 92: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/92.jpg)
От ДЛ к OWL
ДЛ аксиомы могут быть представлены разными способами
A ⊑ B (A и B имена концептов)
может быть записано
1. Class(A partial B)
2. SubClassOf(A B)
3. DisjointClasses(A complementOf(B))
⊤ ⊑ ≤ 1 R (R — имя роли)
может быть записано
1. ObjectProperty(R functional)
Онтологии и представление знаний, 2010 60
![Page 93: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/93.jpg)
От ДЛ к OWL
ДЛ аксиомы могут быть представлены разными способами
A ⊑ B (A и B имена концептов)
может быть записано
1. Class(A partial B)
2. SubClassOf(A B)
3. DisjointClasses(A complementOf(B))
⊤ ⊑ ≤ 1 R (R — имя роли)
может быть записано
1. ObjectProperty(R functional)
2. SubClassOf(owl:Thing restriction(R maxCardinality(1)))
Онтологии и представление знаний, 2010 60
![Page 94: 20101003 ontology konev_lecture08](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0cf4b1a28abfb3d8b4621/html5/thumbnails/94.jpg)
От ДЛ к OWL
ДЛ аксиомы могут быть представлены разными способами
A ⊑ B (A и B имена концептов)
может быть записано
1. Class(A partial B)
2. SubClassOf(A B)
3. DisjointClasses(A complementOf(B))
⊤ ⊑ ≤ 1 R (R — имя роли)
может быть записано
1. ObjectProperty(R functional)
2. SubClassOf(owl:Thing restriction(R maxCardinality(1)))
3. DisjointClasses(owl:Thing
complementOf(restriction(R maxCardinality(1))))
Онтологии и представление знаний, 2010 60