-
-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathpizza.owl tutorial.mm
More file actions
297 lines (287 loc) · 24.4 KB
/
pizza.owl tutorial.mm
File metadata and controls
297 lines (287 loc) · 24.4 KB
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
<map version="freeplane 1.11.5">
<!--To view this file, download free mind mapping software Freeplane from https://www.freeplane.org -->
<node TEXT="pizza.owl tutorial" FOLDED="false" ID="ID_1090958577" CREATED="1606664858024" MODIFIED="1686323667754" VGAP_QUANTITY="3 pt">
<hook NAME="accessories/plugins/AutomaticLayout.properties" VALUE="ALL"/>
<hook NAME="MapStyle" background="#fbf1c7" zoom="0.75">
<properties show_icon_for_attributes="true" edgeColorConfiguration="#808080ff,#ff0000ff,#0000ffff,#00ff00ff,#ff00ffff,#00ffffff,#7c0000ff,#00007cff,#007c00ff,#7c007cff,#007c7cff,#7c7c00ff" show_note_icons="true" associatedTemplateLocation="template:/light_gruvbox_template.mm" fit_to_viewport="false"/>
<map_styles>
<stylenode LOCALIZED_TEXT="styles.root_node" STYLE="oval" UNIFORM_SHAPE="true" VGAP_QUANTITY="24 pt">
<font SIZE="24"/>
<stylenode LOCALIZED_TEXT="styles.predefined" POSITION="bottom_or_right" STYLE="bubble">
<stylenode LOCALIZED_TEXT="default" ID="ID_7974122" ICON_SIZE="12 pt" FORMAT_AS_HYPERLINK="false" COLOR="#3c3836" BACKGROUND_COLOR="#fbf1c7" STYLE="bubble" SHAPE_HORIZONTAL_MARGIN="8 pt" SHAPE_VERTICAL_MARGIN="5 pt" BORDER_WIDTH_LIKE_EDGE="false" BORDER_WIDTH="1.9 px" BORDER_COLOR_LIKE_EDGE="true" BORDER_COLOR="#f0f0f0" BORDER_DASH_LIKE_EDGE="true" BORDER_DASH="SOLID" VGAP_QUANTITY="3 pt">
<arrowlink SHAPE="CUBIC_CURVE" COLOR="#000000" WIDTH="2" TRANSPARENCY="200" DASH="" FONT_SIZE="9" FONT_FAMILY="SansSerif" DESTINATION="ID_7974122" STARTARROW="NONE" ENDARROW="DEFAULT"/>
<font NAME="SansSerif" SIZE="11" BOLD="false" STRIKETHROUGH="false" ITALIC="false"/>
<edge STYLE="bezier" COLOR="#93a1a1" WIDTH="3" DASH="SOLID"/>
<richcontent TYPE="DETAILS" CONTENT-TYPE="plain/auto"/>
<richcontent TYPE="NOTE" CONTENT-TYPE="plain/auto"/>
</stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.details"/>
<stylenode LOCALIZED_TEXT="defaultstyle.attributes">
<font SIZE="9"/>
</stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.note" COLOR="#000000" BACKGROUND_COLOR="#f6f9a1" TEXT_ALIGN="LEFT"/>
<stylenode LOCALIZED_TEXT="defaultstyle.floating">
<edge STYLE="hide_edge"/>
<cloud COLOR="#f0f0f0" SHAPE="ROUND_RECT"/>
</stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.selection" COLOR="#ffffff" BACKGROUND_COLOR="#cc241d" BORDER_COLOR_LIKE_EDGE="false" BORDER_COLOR="#cc241d"/>
</stylenode>
<stylenode LOCALIZED_TEXT="styles.user-defined" POSITION="bottom_or_right" STYLE="bubble">
<stylenode LOCALIZED_TEXT="styles.important" ID="ID_103960811" BORDER_WIDTH="3 px" BORDER_COLOR_LIKE_EDGE="true" BORDER_COLOR="#f0f0f0">
<icon BUILTIN="yes"/>
<arrowlink COLOR="#cc241d" TRANSPARENCY="255" DESTINATION="ID_103960811"/>
<font SIZE="12" ITALIC="false"/>
<edge COLOR="#cc241d"/>
</stylenode>
</stylenode>
<stylenode LOCALIZED_TEXT="styles.AutomaticLayout" POSITION="bottom_or_right" STYLE="bubble">
<stylenode LOCALIZED_TEXT="AutomaticLayout.level.root" COLOR="#fdf6e3" BACKGROUND_COLOR="#282828" STYLE="bubble" SHAPE_HORIZONTAL_MARGIN="10 pt" SHAPE_VERTICAL_MARGIN="10 pt" BORDER_WIDTH="3.1 px" BORDER_COLOR_LIKE_EDGE="true" BORDER_COLOR="#2c2b29" BORDER_DASH_LIKE_EDGE="true">
<font NAME="Ubuntu" SIZE="18"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,1" COLOR="#282828" BACKGROUND_COLOR="#fbf1c7" STYLE="bubble" SHAPE_HORIZONTAL_MARGIN="8 pt" SHAPE_VERTICAL_MARGIN="5 pt" BORDER_COLOR="#2c2b29">
<font NAME="Ubuntu" SIZE="16"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,2" COLOR="#282828" BACKGROUND_COLOR="#ebdbb2" STYLE="bubble" SHAPE_HORIZONTAL_MARGIN="8 pt" SHAPE_VERTICAL_MARGIN="5 pt" BORDER_COLOR_LIKE_EDGE="true" BORDER_COLOR="#f0f0f0">
<font SIZE="14"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,3" COLOR="#282828" BACKGROUND_COLOR="#d79921" STYLE="bubble" SHAPE_HORIZONTAL_MARGIN="8 pt" SHAPE_VERTICAL_MARGIN="5 pt" BORDER_COLOR_LIKE_EDGE="true" BORDER_COLOR="#f0f0f0">
<font SIZE="12"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,4" COLOR="#ffffff" BACKGROUND_COLOR="#458588" BORDER_COLOR_LIKE_EDGE="true" BORDER_COLOR="#f0f0f0">
<font SIZE="11"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,5" COLOR="#ffffff" BACKGROUND_COLOR="#b16286" BORDER_COLOR_LIKE_EDGE="true" BORDER_COLOR="#f0f0f0">
<font SIZE="11"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,6" COLOR="#ffffff" BACKGROUND_COLOR="#689d6a" BORDER_COLOR_LIKE_EDGE="true" BORDER_COLOR="#f0f0f0">
<font SIZE="10"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,7" COLOR="#ffffff" BACKGROUND_COLOR="#a89984" BORDER_COLOR="#f0f0f0">
<font SIZE="10"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,8" BACKGROUND_COLOR="#ebdbb2" BORDER_COLOR="#f0f0f0">
<font SIZE="10"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,9" BORDER_COLOR="#f0f0f0" BACKGROUND_COLOR="#ebdbb2">
<font SIZE="10"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,10" BORDER_COLOR="#f0f0f0">
<font SIZE="9"/>
</stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,11" BORDER_COLOR="#f0f0f0" BACKGROUND_COLOR="#98971a">
<font SIZE="9"/>
</stylenode>
</stylenode>
</stylenode>
</map_styles>
</hook>
<node TEXT="ch01 introduction" POSITION="bottom_or_right" ID="ID_1844456199" CREATED="1686323713926" MODIFIED="1686323728609"/>
<node TEXT="ch02 requirements and the Protege UI" POSITION="bottom_or_right" ID="ID_320917976" CREATED="1686323729358" MODIFIED="1686323741570"/>
<node TEXT="ch03 OWL ontologies overview" FOLDED="true" POSITION="bottom_or_right" ID="ID_1964726528" CREATED="1686323750103" MODIFIED="1686323763306">
<node TEXT="3.1 components of OWL ontologies" ID="ID_1938527352" CREATED="1686330866704" MODIFIED="1686330877389">
<node TEXT="3.1.1 individuals" ID="ID_242879608" CREATED="1686330883000" MODIFIED="1686330891798"/>
<node TEXT="3.1.2 properties" ID="ID_600190457" CREATED="1686330892235" MODIFIED="1686330907817"/>
<node TEXT="3.1.3 classes" ID="ID_1649031439" CREATED="1686330908388" MODIFIED="1686330914137"/>
</node>
</node>
<node TEXT="ch04 building an OWL ontology" FOLDED="true" POSITION="bottom_or_right" ID="ID_808215330" CREATED="1686323769070" MODIFIED="1686323779883">
<node TEXT="ex01: create a new OWL ontology" ID="ID_729877616" CREATED="1686330923734" MODIFIED="1686330940733"/>
<node TEXT="ex02: set the preferences for new entities and rendering" ID="ID_1912835714" CREATED="1686330945549" MODIFIED="1686330957927"/>
<node TEXT="ex03: add a comment annotation to ontology" ID="ID_1520449047" CREATED="1686330964461" MODIFIED="1686330974429"/>
<node TEXT="4.1 named classes" ID="ID_366493979" CREATED="1686330979356" MODIFIED="1686330983323">
<node TEXT="ex04: create classes: Pizza, PizzaTopping, and PizzaBase" ID="ID_1334136171" CREATED="1686330987574" MODIFIED="1686331006718"/>
</node>
<node TEXT="4.2 using a reasoner" ID="ID_1031072502" CREATED="1686331011882" MODIFIED="1686331017637">
<node TEXT="ex05: install and run the Pellet Reasoner" ID="ID_151798472" CREATED="1686331020874" MODIFIED="1686331046172"/>
</node>
<node TEXT="4.3 disjoint classes" ID="ID_1968698660" CREATED="1686331050792" MODIFIED="1686331055439">
<node TEXT="ex06: make Pizza, PizzaTopping, and PizzaBase disjoint from each other" ID="ID_1640827721" CREATED="1686331057366" MODIFIED="1686331079957"/>
</node>
<node TEXT="4.4 using create class hierarchy" ID="ID_175386" CREATED="1686331086241" MODIFIED="1686331095398">
<node TEXT="ex07: use the create class hierarchy tool to create subclasses of PizzaBase" ID="ID_554269383" CREATED="1686331098050" MODIFIED="1686331115651"/>
</node>
<node TEXT="4.5 create a PizzaTopping hierarchy" ID="ID_1055735125" CREATED="1686331119631" MODIFIED="1686331137479">
<node TEXT="ex08: create subclasses of PizzaTopping" ID="ID_1589422046" CREATED="1686331138159" MODIFIED="1686331149032"/>
</node>
<node TEXT="4.6 OWL porperties" ID="ID_158334547" CREATED="1686331171320" MODIFIED="1686331178109">
<node TEXT="ex09: create some properties" ID="ID_523616874" CREATED="1686331181275" MODIFIED="1686331189755"/>
<node TEXT="Object properties" FOLDED="true" ID="ID_1417061012" CREATED="1693053564797" MODIFIED="1693053573070">
<node TEXT="Relationships between two individuals" ID="ID_553125583" CREATED="1693053588817" MODIFIED="1693053598836"/>
<node TEXT="In OWL, only individuals can have values for object properties" ID="ID_479316746" CREATED="1693053676930" MODIFIED="1693053701296"/>
<node TEXT="similar to the relations in E-R model" ID="ID_1684655312" CREATED="1693054575421" MODIFIED="1693054584486"/>
<node TEXT="similar to properties with a range of some class in OOP" ID="ID_1140335463" CREATED="1693054612165" MODIFIED="1693054624970"/>
</node>
<node TEXT="Data properties" FOLDED="true" ID="ID_906800304" CREATED="1693053573672" MODIFIED="1693053577415">
<node TEXT="Relations between an individual and a datatype such as xsd:string or xsd:dataTime" ID="ID_44323465" CREATED="1693053601801" MODIFIED="1693053624830"/>
<node TEXT="In OWL, only individuals can have values for data properties" ID="ID_140590915" CREATED="1693053703059" MODIFIED="1693053715390"/>
<node TEXT="similar to the attributes in E-R model" ID="ID_1065509184" CREATED="1693054589974" MODIFIED="1693054599347"/>
<node TEXT="similar to OOP properties with a range that is a datatype" ID="ID_396432947" CREATED="1693054626382" MODIFIED="1693054641841"/>
</node>
<node TEXT="Annotation properties" FOLDED="true" ID="ID_547337637" CREATED="1693053578001" MODIFIED="1693053582668">
<node TEXT="usually have datatypes as values although they can have objects" ID="ID_1797203661" CREATED="1693053626707" MODIFIED="1693053644974"/>
<node TEXT="usually meta-data such as a comment or a label" ID="ID_1121874497" CREATED="1693053648507" MODIFIED="1693053663248"/>
<node TEXT="In OWL, any entity can have an annotation property value since meta-data applies to all entities" ID="ID_344674009" CREATED="1693053716947" MODIFIED="1693053737296"/>
<node TEXT="usually cannot be reasoned about" ID="ID_572549366" CREATED="1693054331973" MODIFIED="1693054347017"/>
</node>
</node>
<node TEXT="4.7 inverse properties" ID="ID_240358113" CREATED="1686331193936" MODIFIED="1686331199984">
<node TEXT="ex10: create some inverse properties" ID="ID_891087200" CREATED="1686331201354" MODIFIED="1686331209276"/>
</node>
<node TEXT="4.8 OWL object property characteristics" ID="ID_1497253479" CREATED="1686331215729" MODIFIED="1693150794752" LINK="https://www.w3.org/TR/owl-ref/">
<node TEXT="4.8.1 functional properties" ID="ID_1668752960" CREATED="1686331228859" MODIFIED="1693149701264" VGAP_QUANTITY="3 pt">
<node TEXT="for a given individual, there can be at most one individual that is related to the individual via the property" ID="ID_108922471" CREATED="1693149569532" MODIFIED="1693149675520" VSHIFT_QUANTITY="4.5 pt"/>
<node TEXT="e.g. hasBirthMother" ID="ID_484153576" CREATED="1693149876388" MODIFIED="1693149884711"/>
</node>
<node TEXT="4.8.2 inverse functional properties" ID="ID_883388361" CREATED="1686331241837" MODIFIED="1686331249459">
<node TEXT="If a property is inverse functional then it means that the inverse property is functional" ID="ID_1073460574" CREATED="1693149844733" MODIFIED="1693149865433"/>
<node TEXT="e.g. isBirthMotherOf to hasBirthMother" ID="ID_1622025676" CREATED="1693149893119" MODIFIED="1693149907655"/>
</node>
<node TEXT="4.8.3 transitive properties" ID="ID_1028302633" CREATED="1686331249686" MODIFIED="1686331255694">
<node TEXT="If a property P is transitive, and P relates individual a to individual b, and also individual b to individual c, then we can infer that individual a is related to individual c via property P." ID="ID_1204059508" CREATED="1693149963460" MODIFIED="1693150023666"/>
<node TEXT="e.g. hasAncestor; greaterThan (in mathematic)" ID="ID_37754736" CREATED="1693150029087" MODIFIED="1693150089800"/>
<node TEXT="Note: if a property is transitive is cannot be functional; if a property is transitive, then its inverse property must also be transitive." ID="ID_1088701816" CREATED="1693150095221" MODIFIED="1693150134896"/>
</node>
<node TEXT="4.8.4 symmetric and asymmetric properties" ID="ID_1558167378" CREATED="1686331260656" MODIFIED="1686331270517">
<node TEXT="If a property P is symmetric, and the property relates individual a to individual b then individual b is also related to individual a via property P." ID="ID_1694271939" CREATED="1693150144671" MODIFIED="1693150187408"/>
<node TEXT="Symmetric: e.g. hasSibling; hasSpouse" ID="ID_1534495405" CREATED="1693150188594" MODIFIED="1693150283382"/>
<node TEXT="An Asymmetric property is a property that can never have symmetric values. If a property P is asymmetric then if a is related to b via that property b cannot be related to a via that property." ID="ID_734890805" CREATED="1693150205477" MODIFIED="1693150273698"/>
<node TEXT="Asymmetric e.g. hasBirthMother" ID="ID_1887122893" CREATED="1693150274310" MODIFIED="1693150294945"/>
</node>
<node TEXT="4.8.5 reflexive and irreflexive properties" ID="ID_1242075338" CREATED="1686331273961" MODIFIED="1686331285378">
<node TEXT="A reflexive property is a property that always relates an individual to itself. If a property P is reflexive then for all individuals a P will always relate a to a." ID="ID_1669186942" CREATED="1693150298142" MODIFIED="1693150361424">
<node TEXT="Reference: W3C Owl 2 Specification" ID="ID_1267126619" CREATED="1693150467628" MODIFIED="1693150479412"/>
<node TEXT="The important thing is that if you make a property reflexive that means its domain is owl:Thing." ID="ID_649643692" CREATED="1693150490822" MODIFIED="1693150518840"/>
</node>
<node TEXT="Reflexive e.g.: Equality." ID="ID_31946708" CREATED="1693150362511" MODIFIED="1693150383089"/>
<node TEXT="An irreflexive property is a property that can never relate an individual to itself." ID="ID_455878115" CREATED="1693150383734" MODIFIED="1693150417031"/>
<node TEXT="Irreflexive e.g.: hasBirthMother" ID="ID_1138133125" CREATED="1693150417533" MODIFIED="1693150455179"/>
</node>
<node TEXT="4.8.6 reasoners automatically enforce property characteristics" ID="ID_471162566" CREATED="1686331285991" MODIFIED="1686331300703"/>
</node>
<node TEXT="4.9 OWL property domains and ranges" FOLDED="true" ID="ID_1969737760" CREATED="1686331307610" MODIFIED="1686331317019">
<node TEXT="The domain of a property is the set of all objects that can have that property asserted about it." ID="ID_1360798026" CREATED="1693158570099" MODIFIED="1693158599030"/>
<node TEXT="The range is the set of all objects that can be the value of the property." ID="ID_132762512" CREATED="1693158599748" MODIFIED="1693158612925"/>
<node TEXT="ex11: define the domain and range of the hasTopping property" ID="ID_193688812" CREATED="1686331324729" MODIFIED="1686331340541"/>
<node TEXT="ex12: define the domain and range for the hasBase property" ID="ID_42082905" CREATED="1686331347788" MODIFIED="1686331361150"/>
</node>
<node TEXT="4.10 describing and defining classes" ID="ID_1412597679" CREATED="1686331364559" MODIFIED="1686331372953">
<node TEXT="Types of Classes defined by properties" LOCALIZED_STYLE_REF="AutomaticLayout.level,3" ID="ID_994154195" CREATED="1693164579484" MODIFIED="1693178277501">
<node ID="ID_1527031116" CREATED="1693164606166" MODIFIED="1693164655969"><richcontent TYPE="NODE">
<html>
<head>
</head>
<body>
<p>
1. Primitive classes: are defined by conditions that are <span style="font-style: italic;">necessary</span><span>  (but not sufficient) to hold for any individuals that are instances of that class or its subclasses.</span>
</p>
</body>
</html>
</richcontent>
</node>
<node ID="ID_1215448594" CREATED="1693164686265" MODIFIED="1693164745777"><richcontent TYPE="NODE">
<html>
<head>
</head>
<body>
<p>
2. Defined classes: are defined by both <span style="font-style: italic;">necessary</span><span> and </span><span style="font-style: italic;">sufficient</span><span>  conditions.</span>
</p>
</body>
</html>
</richcontent>
</node>
<node TEXT="3. Anonymous classes: created by the reasoner when you use class expressions." ID="ID_547556926" CREATED="1693164746487" MODIFIED="1693164779359"/>
</node>
<node ID="ID_1272994921" CREATED="1686331376089" MODIFIED="1693164203538"><richcontent TYPE="NODE">
<html>
<head>
</head>
<body>
<p>
4.10.1 property restrictions (also called <span style="font-weight: bold;">axioms</span> in OWL)
</p>
</body>
</html>
</richcontent>
<node TEXT="Quantifier restrictions: describe that a property must have some or all values that are of a particular class" ID="ID_465194933" CREATED="1693163686396" MODIFIED="1693163716615">
<node TEXT="existential restrictions: describe classes of individuals that participate in at least one relation along a specified property. (keyword in OWL: some)" ID="ID_1441785902" CREATED="1693163790971" MODIFIED="1693163876602"/>
<node TEXT="universal restrictions: describe classes of individuals that for a given property only have relations along a property to individuals that are members of a specific class. (keyword in OWL: only)" ID="ID_1126262036" CREATED="1693163799653" MODIFIED="1693163929422"/>
</node>
<node TEXT="Cardinality restrictions: describe the number of individuals that must be related to a class by a specific property." ID="ID_825022644" CREATED="1693163726648" MODIFIED="1693163752158"/>
<node TEXT="hasValue restrictions: describe specific values that a property must have." ID="ID_15588415" CREATED="1693163752830" MODIFIED="1693163773759"/>
</node>
<node TEXT="4.10.2 existential restrictions" ID="ID_1943188364" CREATED="1686331389974" MODIFIED="1686331397183">
<node TEXT="ex13: add a restriction to Pizza that specifies a Pizza must have a PizzaBase" ID="ID_255959855" CREATED="1686331399386" MODIFIED="1686331423008"/>
</node>
<node TEXT="4.10.3 Creating Subclasses of Pizza" ID="ID_1955986094" CREATED="1693164433916" MODIFIED="1693164444484">
<node TEXT="ex14: create subclasses of Pizza: NamedPizza and MargheritaPizza" POSITION="bottom_or_right" ID="ID_1017161283" CREATED="1686331430495" MODIFIED="1686331450319"/>
<node TEXT="ex15: create restrictions that define a MargheritaPizza" POSITION="bottom_or_right" ID="ID_870541573" CREATED="1686331454788" MODIFIED="1686331468114"/>
<node TEXT="ex16: create AmericanaPizza by cloning MargheritaPizza and adding additional restrictions" POSITION="bottom_or_right" ID="ID_1914041000" CREATED="1686331472917" MODIFIED="1686331498073"/>
<node TEXT="ex17: create AmericanaHotPizza and SohoPizza" POSITION="bottom_or_right" ID="ID_864889418" CREATED="1686331501568" MODIFIED="1686331513362"/>
<node TEXT="ex18: make subclasses of NamedPizza disjoint" POSITION="bottom_or_right" ID="ID_1087079419" CREATED="1686331515887" MODIFIED="1686331527960"/>
</node>
<node TEXT="4.10.4 Detecting a Class that can't Have Members" ID="ID_141051542" CREATED="1693164476887" MODIFIED="1693164488767">
<node TEXT="ex19: add a probe class called ProbeInconsistentTopping" POSITION="bottom_or_right" ID="ID_1505382137" CREATED="1686331532103" MODIFIED="1686331548161"/>
</node>
</node>
<node TEXT="4.11 primitive and defined classes (necessary and sufficient axioms)" ID="ID_1915518251" CREATED="1686331555686" MODIFIED="1686331573859">
<node TEXT="ex20: create the CheesyPizza class" ID="ID_1287449845" CREATED="1686331574234" MODIFIED="1686331585321"/>
<node TEXT="ex21: convert CheesyPizza from a primitive class to a defined class" ID="ID_554917188" CREATED="1686331589182" MODIFIED="1686331615225"/>
</node>
<node TEXT="4.12 universal restrictions" ID="ID_1241831728" CREATED="1686331620880" MODIFIED="1686331629430">
<node TEXT="ex22: create a defined class called VegetarianPizza" ID="ID_1675219662" CREATED="1686331632073" MODIFIED="1686331646778"/>
</node>
<node TEXT="4.13 automated classification and open world reasoning" ID="ID_1060965124" CREATED="1686331651773" MODIFIED="1686331664001">
<node TEXT="ex23: add a closure axiom on the hasTopping property for MargheritaPizza" ID="ID_450929778" CREATED="1686331667248" MODIFIED="1686331686985"/>
</node>
<node TEXT="4.14 defining an enumerated class" ID="ID_334001869" CREATED="1686331692538" MODIFIED="1686331701281">
<node TEXT="ex24: create an enumerated class to represent the Spiciness of a Pizza" ID="ID_1480564502" CREATED="1686331704114" MODIFIED="1686331720639"/>
</node>
<node TEXT="4.15 adding Spiciness as a Property" ID="ID_130501377" CREATED="1686331724729" MODIFIED="1686331735088">
<node TEXT="ex25: create and use the hasSpiciness property" ID="ID_904593240" CREATED="1686331738173" MODIFIED="1686331754056"/>
</node>
<node TEXT="4.16 Cardinality Restrictions" ID="ID_757389838" CREATED="1693149746260" MODIFIED="1693178401607">
<arrowlink DESTINATION="ID_1668752960" STARTINCLINATION="1538.24995 pt;0 pt;" ENDINCLINATION="845.24997 pt;0 pt;"/>
<node TEXT="ex26: create an InterestingPizza that has at least three toppings" POSITION="bottom_or_right" ID="ID_598929433" CREATED="1686331759685" MODIFIED="1686331775619"/>
</node>
</node>
<node TEXT="ch05 datatype properties" FOLDED="true" POSITION="bottom_or_right" ID="ID_1703657255" CREATED="1686323780054" MODIFIED="1693428453763">
<node TEXT="5.1 defining a data property" ID="ID_1669475927" CREATED="1686331783144" MODIFIED="1686331791735">
<node TEXT="ex27: create a datatype property called hasCaloricContent" ID="ID_1579530266" CREATED="1686331796097" MODIFIED="1686331813439"/>
</node>
<node TEXT="5.2 customizing the Protege user interface" ID="ID_538351183" CREATED="1686331820185" MODIFIED="1686331830754">
<node TEXT="ex28: create example Pizza individuals" ID="ID_952564360" CREATED="1686331838050" MODIFIED="1686331850655"/>
<node TEXT="ex29: assign a data property values" ID="ID_151580246" CREATED="1686331854617" MODIFIED="1686331862911"/>
<node TEXT="ex30: create more instances and data property values" ID="ID_946225042" CREATED="1686334993026" MODIFIED="1686335042288"/>
<node TEXT="ex31: create a datatype restriction that every Pizza hasCaloricContent" ID="ID_870660298" CREATED="1686335044021" MODIFIED="1686335081763"/>
<node TEXT="ex32: create a HighCaloriePizza defined class" ID="ID_1932251002" CREATED="1686335085843" MODIFIED="1686335099729"/>
</node>
</node>
<node TEXT="ch06 adding order to an enumerated class" POSITION="bottom_or_right" ID="ID_1312614168" CREATED="1686323799302" MODIFIED="1686323809888"/>
<node TEXT="ch07 names: IRI's, labels, and namespaces" POSITION="bottom_or_right" ID="ID_416574278" CREATED="1686323810349" MODIFIED="1686323826817"/>
<node TEXT="ch08 a larger ontology with some individuals" POSITION="bottom_or_right" ID="ID_1111048405" CREATED="1686323836071" MODIFIED="1686323849806"/>
<node TEXT="ch09 queries: description logic and SPARQL" POSITION="bottom_or_right" ID="ID_1173967935" CREATED="1686323850221" MODIFIED="1686323862625">
<node TEXT="9.1: description logic queries" ID="ID_240243003" CREATED="1686335129852" MODIFIED="1686335194717">
<node TEXT="ex33: try some description logic queries" ID="ID_843348068" CREATED="1686335157891" MODIFIED="1686335181607"/>
</node>
<node TEXT="9.2 SPARQL queries" ID="ID_304792510" CREATED="1686335198987" MODIFIED="1686335208214">
<node TEXT="9.2.1 some SPARQL Pizza queries" ID="ID_1204980415" CREATED="1686335228258" MODIFIED="1686335245038"/>
<node TEXT="9.2.2 SPARQL and IRI names" ID="ID_1532426756" CREATED="1686335280599" MODIFIED="1686335293733"/>
</node>
</node>
<node TEXT="ch10 SWRL and SQWRL" POSITION="bottom_or_right" ID="ID_1982574526" CREATED="1686323863341" MODIFIED="1686323883176">
<node TEXT="ex34: write your first SWRL rule" ID="ID_475355367" CREATED="1686335307772" MODIFIED="1686335320629"/>
<node TEXT="ex35: write another SWRL rule" ID="ID_930780383" CREATED="1686335325704" MODIFIED="1686335334705"/>
<node TEXT="ex36: write a SQWRL rule" ID="ID_640330184" CREATED="1686335338528" MODIFIED="1686335347420"/>
</node>
<node TEXT="ch11 SHACL" POSITION="bottom_or_right" ID="ID_133290783" CREATED="1686323883701" MODIFIED="1686323888771">
<node TEXT="11.1 OWA and monotonic reasoning" ID="ID_1163697728" CREATED="1686335356812" MODIFIED="1686335367808"/>
<node TEXT="11.2 the real world is messy" ID="ID_980974229" CREATED="1686335370575" MODIFIED="1686335377398"/>
<node TEXT="11.3 basic SHACL concepts" ID="ID_781348311" CREATED="1686335379092" MODIFIED="1686335386649"/>
<node TEXT="11.4 the Protege SHACL plug-in" ID="ID_854164933" CREATED="1686335389556" MODIFIED="1686335400343"/>
</node>
<node TEXT="ch12 Web Protege" POSITION="bottom_or_right" ID="ID_317981913" CREATED="1686325216634" MODIFIED="1686325231920"/>
<node TEXT="ch13 conclusions" POSITION="bottom_or_right" ID="ID_155728250" CREATED="1686325234262" MODIFIED="1686325243355"/>
<node TEXT="ch14 bibliography" POSITION="bottom_or_right" ID="ID_90886172" CREATED="1686325243765" MODIFIED="1686325253840"/>
</node>
</map>