-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdescription_logics.html
125 lines (97 loc) · 5.37 KB
/
description_logics.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Pollen for the homepage</title>
<link rel="stylesheet" href="/article.css">
<script>
MathJax = {
loader: {load: ['[tex]/bussproofs']},
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']],
packages: {'[+]': ['bussproofs']}
},
svg: {
fontCache: 'global'
}
};
</script>
<script type="text/javascript" id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js">
</script>
</head>
<article>
<root><h1>Description Logics</h1>
<p>Description logics (DLs) are a family of formal languages used for
knowledge representation. Knowledge representation (a subfield of artificial intelligence)
deals with capturing a domain of interest in machine-readable form,
for purposes of automated reasoning.</p>
<h2>DL Knowledge Base</h2>
<p>In a given DL setup, a <em>knowledge base</em> (KB) is split into a <em>terminological</em>
part (TBox) and an <em>assertional</em> part (ABox).</p>
<ul><li>the TBox represents static
knowledge about the conceptual structure of the domain, similar to
a database schema,</li>
<li>the ABox represents information about concrete
real-world entities, like the rows in a database instance.</li></ul>
<h2>An Example</h2>
Suppose we want to define a university domain. The TBox should capture this:
<ul><li>a teacher is a person who teaches a course</li>
<li>a student is a person who attends a course</li>
<li>students cannot teach courses</li></ul>
Then the following first-order logic statements capture these definitions:
<ul>
<li> $\forall x. \mathsf{Teacher}(x) \Leftrightarrow
\mathsf{Person}(x) \wedge \exists y( \mathit{teaches(x,y) \wedge
\mathsf{Course}(y)})$ </li>
<li> $\forall x. \mathsf{Student}(x) \Leftrightarrow
\mathsf{Person}(x) \wedge \exists y( \mathit{attends(x,y) \wedge
\mathsf{Course}(y)})$ </li>
<li> $\forall x. \exists y. \mathit{teaches}(x,y) \Rightarrow \neg
\mathsf{Student}(x) $</li>
</ul>
<p>An ABox may then be a set of assertions that uses the concepts and roles
from the TBox. For example "Salima is a teaching course CS600" becomes
<ul><li>$\mathsf{Person}(\mathsf{Salima})$</li>
<li>$\mathsf{Course}(\mathsf{CS600})$</li>
<li>$\mathit{teaches}(\mathsf{Salima}, \mathsf{CS600})$</li></ul>
The DL community uses a different syntax, where these would be written as follows:
<ul><li>$\mathsf{Teacher} \equiv \mathsf{Person} \cap \exists \mathit{teaches}. \mathsf{Course}$</li>
<li>$\mathsf{Student} \equiv \mathsf{Person} \cap \exists \mathit{attends}. \mathsf{Course}$</li>
<li>$\exists \mathit{attends}. \top \sqsubseteq \neg \mathsf{Student}$</li>
<li>$\mathsf{Salima}:\mathsf{Person}$</li>
<li>$\mathsf{CS600}:\mathsf{Course}$</li>
<li>$(\mathsf{Salima}, \mathsf{CS600}) : \mathit{teaches}$</li></ul>
</p>
<p>The KB can infer that $\mathsf{Salima}:\mathsf{Teacher}$, and DL can
help establish relationship between concepts, e.g. whether a concept
is more specific than another (subsumption).</p>
<h1>Ontology Engineering</h1>
<p>Suppose we want to capture a domain through a concept definitions;
why would we go through the effort of formalizing logical? In order
to see the advantages of formalism, we have to look at this scenario
more closely.</p>
<ul><li>It may be the case that people only shared understanding at an abstract level,
but do not agree on details that matter. The clients interested in the
shared knowledge base may not even be in a position to produce necessary detail, or
there stakeholders differ on details in ways that matter to them. )</li>
<li>or there is an established set of concepts, which stems from a time where the
environment was different. The environment, and therefore the relevant concepts in
the domain and how they interact, can change due to scale, additional requirements or
other external factors, e.g. ehe applications of two different databases need to be reconciled, in
a way that lets the applications still work.</li></ul>
<p>The bottom line is that one needs to capture an actual, up-to-date terminology. One
well-known example of DL is the Web Ontology Language (OWL) which is
used in the context of semantic web.</p>
<h2>Some Limitations: Triples all the way down</h2>
<p>A role is always a binary relation, which makes a role assertion into a triple (e.g. subject-predicate-object, or entity-attribute-value). This is
great because it enables uniform representation in triple stores, however
there are real-life concepts where the limitation to binary relations
is artifical. While there are ways to encode using artifical concepts (RDF blank nodes) Entity-relationship model</p>
<h2>Further reading</h2>
<p><a href="https://en.wikipedia.org/wiki/Description_logic">Description logics on wikipedia</a></p>
<p>Baader, F., Horrocks, I., Lutz, C., Sattler, U.. An Introduction to Description Logic. 2017 Cambridge University Press.</p>
<p>Baader, F., Calvanese, D., McGuinness, D., Nardi, D., & Patel-Schneider, P. (Eds.). (2007). The Description Logic Handbook: Theory, Implementation and Applications (2nd ed.). Cambridge: Cambridge University Press. doi:10.1017/CBO9780511711787</p></root>
</article>
<img src="https://puzzle.burakemir.ch/track/description_logics.html/1x1.png"></img>
</html>