@polycode-projects/the-mechanical-code-talker 2.2.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/bin/tmct.mjs +4 -5
  2. package/corpus/LICENSES.json +19 -4
  3. package/corpus/README.md +48 -0
  4. package/corpus/generated/README.md +24 -9
  5. package/corpus/generated/ace-surface-variants.jsonl +4 -1
  6. package/corpus/generated/manifest.json +4 -4
  7. package/corpus/prose/manifest.json +512 -0
  8. package/corpus/prose/sqlite/LICENSE-NOTICE +53 -0
  9. package/corpus/prose/sqlite/arch.txt +213 -0
  10. package/corpus/prose/sqlite/atomiccommit.txt +1117 -0
  11. package/corpus/prose/sqlite/faq.txt +473 -0
  12. package/corpus/prose/sqlite/fileformat.txt +1589 -0
  13. package/corpus/prose/sqlite/lang_createtable.txt +1339 -0
  14. package/corpus/prose/sqlite/lang_insert.txt +580 -0
  15. package/corpus/prose/sqlite/lang_select.txt +3293 -0
  16. package/corpus/prose/sqlite/optoverview.txt +908 -0
  17. package/corpus/prose/sqlite/queryplanner.txt +447 -0
  18. package/corpus/prose/sqlite/transactional.txt +41 -0
  19. package/corpus/prose/sqlite/wal.txt +567 -0
  20. package/corpus/prose/sqlite/whentouse.txt +300 -0
  21. package/corpus/prose/wikipedia/Apple.txt +4 -0
  22. package/corpus/prose/wikipedia/Attempto_Controlled_English.txt +169 -0
  23. package/corpus/prose/wikipedia/Automated_planning_and_scheduling.txt +67 -0
  24. package/corpus/prose/wikipedia/Bee.txt +7 -0
  25. package/corpus/prose/wikipedia/Bird.txt +8 -0
  26. package/corpus/prose/wikipedia/Bone.txt +4 -0
  27. package/corpus/prose/wikipedia/Book.txt +7 -0
  28. package/corpus/prose/wikipedia/Bread.txt +6 -0
  29. package/corpus/prose/wikipedia/Butterfly.txt +6 -0
  30. package/corpus/prose/wikipedia/Car.txt +1 -0
  31. package/corpus/prose/wikipedia/Cat.txt +1 -0
  32. package/corpus/prose/wikipedia/Child.txt +3 -0
  33. package/corpus/prose/wikipedia/City.txt +2 -0
  34. package/corpus/prose/wikipedia/Clock.txt +2 -0
  35. package/corpus/prose/wikipedia/Cooking.txt +1 -0
  36. package/corpus/prose/wikipedia/Description_logic.txt +660 -0
  37. package/corpus/prose/wikipedia/Doctor.txt +6 -0
  38. package/corpus/prose/wikipedia/Dog.txt +4 -0
  39. package/corpus/prose/wikipedia/Eagle.txt +4 -0
  40. package/corpus/prose/wikipedia/Emotion.txt +9 -0
  41. package/corpus/prose/wikipedia/Eye.txt +5 -0
  42. package/corpus/prose/wikipedia/Family.txt +3 -0
  43. package/corpus/prose/wikipedia/Farm.txt +4 -0
  44. package/corpus/prose/wikipedia/Fear.txt +4 -0
  45. package/corpus/prose/wikipedia/First-order_logic.txt +1518 -0
  46. package/corpus/prose/wikipedia/Fish.txt +10 -0
  47. package/corpus/prose/wikipedia/Flower.txt +3 -0
  48. package/corpus/prose/wikipedia/Food.txt +10 -0
  49. package/corpus/prose/wikipedia/Grass.txt +9 -0
  50. package/corpus/prose/wikipedia/Hand.txt +2 -0
  51. package/corpus/prose/wikipedia/Happiness.txt +3 -0
  52. package/corpus/prose/wikipedia/Heart.txt +4 -0
  53. package/corpus/prose/wikipedia/Horse.txt +4 -0
  54. package/corpus/prose/wikipedia/House.txt +6 -0
  55. package/corpus/prose/wikipedia/Human.txt +4 -0
  56. package/corpus/prose/wikipedia/Insect.txt +6 -0
  57. package/corpus/prose/wikipedia/Interactive_fiction.txt +112 -0
  58. package/corpus/prose/wikipedia/Knowledge.txt +5 -0
  59. package/corpus/prose/wikipedia/Knowledge_representation_and_reasoning.txt +87 -0
  60. package/corpus/prose/wikipedia/LICENSE-NOTICE +94 -0
  61. package/corpus/prose/wikipedia/Language.txt +10 -0
  62. package/corpus/prose/wikipedia/Learning.txt +4 -0
  63. package/corpus/prose/wikipedia/Mammal.txt +3 -0
  64. package/corpus/prose/wikipedia/Memory.txt +5 -0
  65. package/corpus/prose/wikipedia/Milk.txt +1 -0
  66. package/corpus/prose/wikipedia/Mountain.txt +1 -0
  67. package/corpus/prose/wikipedia/Natural_language_processing.txt +211 -0
  68. package/corpus/prose/wikipedia/Ostrich.txt +2 -0
  69. package/corpus/prose/wikipedia/Owl.txt +2 -0
  70. package/corpus/prose/wikipedia/Penguin.txt +2 -0
  71. package/corpus/prose/wikipedia/Plant.txt +5 -0
  72. package/corpus/prose/wikipedia/Rain.txt +1 -0
  73. package/corpus/prose/wikipedia/Resource_Description_Framework.txt +184 -0
  74. package/corpus/prose/wikipedia/River.txt +1 -0
  75. package/corpus/prose/wikipedia/School.txt +8 -0
  76. package/corpus/prose/wikipedia/Sea.txt +1 -0
  77. package/corpus/prose/wikipedia/Semantic_Web.txt +114 -0
  78. package/corpus/prose/wikipedia/Semantic_reasoner.txt +29 -0
  79. package/corpus/prose/wikipedia/Snow.txt +5 -0
  80. package/corpus/prose/wikipedia/Sun.txt +5 -0
  81. package/corpus/prose/wikipedia/Teacher.txt +4 -0
  82. package/corpus/prose/wikipedia/Team.txt +3 -0
  83. package/corpus/prose/wikipedia/Text-based_game.txt +17 -0
  84. package/corpus/prose/wikipedia/Tool.txt +4 -0
  85. package/corpus/prose/wikipedia/Tree.txt +7 -0
  86. package/corpus/prose/wikipedia/Weather.txt +4 -0
  87. package/corpus/prose/wikipedia/Web_Ontology_Language.txt +133 -0
  88. package/corpus/prose/wikipedia/Wind.txt +8 -0
  89. package/corpus/prose/wikipedia/Writing.txt +5 -0
  90. package/corpus/wordnet/generate.mjs +6 -7
  91. package/package.json +31 -2
  92. package/src/adapters/corpus/conceptnet.mjs +1 -1
  93. package/src/adapters/graph-build.mjs +3 -3
  94. package/src/adapters/memory/blocks.mjs +2 -2
  95. package/src/adapters/memory/core.mjs +5 -5
  96. package/src/adapters/providers/bootstrap.mjs +1 -1
  97. package/src/adapters/providers/fixture.mjs +1 -1
  98. package/src/adapters/wink-model.mjs +1 -1
  99. package/src/adapters/wordnet-source.mjs +70 -0
  100. package/src/domain/answer-variants.json +1 -1
  101. package/src/domain/ask-vocab.mjs +2 -2
  102. package/src/domain/ask.mjs +4 -4
  103. package/src/domain/codegraph.mjs +3 -3
  104. package/src/domain/corpus-matrix.mjs +87 -0
  105. package/src/domain/grammar/ace.mjs +11 -11
  106. package/src/domain/grammar/lexicon.mjs +3 -3
  107. package/src/domain/inflect.mjs +67 -0
  108. package/src/domain/interpret/fuzzy.mjs +1 -1
  109. package/src/domain/interpret/merge.mjs +1 -1
  110. package/src/domain/interpret/normalize.mjs +1 -1
  111. package/src/domain/licences.mjs +68 -0
  112. package/src/domain/memory/capability.mjs +1 -1
  113. package/src/domain/memory/trust.mjs +2 -2
  114. package/src/domain/persona/codegen.mjs +123 -0
  115. package/src/domain/persona/examples.mjs +26 -0
  116. package/src/domain/persona/tiers.mjs +270 -0
  117. package/src/domain/publish-gate.mjs +41 -0
  118. package/src/domain/router/call-validator.mjs +1 -1
  119. package/src/domain/router/drive.mjs +3 -4
  120. package/src/domain/router/registry.mjs +12 -13
  121. package/src/domain/router/resolver.mjs +18 -5
  122. package/src/domain/router/results.mjs +3 -3
  123. package/src/domain/router/taught.mjs +4 -3
  124. package/src/domain/schemaorg/turtle.mjs +25 -0
  125. package/src/domain/semcor/parse.mjs +87 -0
  126. package/src/domain/syllogise.mjs +6 -6
  127. package/src/domain/version-stamp.mjs +36 -0
  128. package/src/domain/wordnet/yaml.mjs +133 -0
  129. package/src/services/chat-session.mjs +2 -2
  130. package/src/services/chat.mjs +2 -2
  131. package/src/services/cli-args.mjs +4 -4
  132. package/src/services/finish.mjs +1 -1
  133. package/src/services/ledger-viz.mjs +2 -3
  134. package/src/services/sessions.mjs +4 -4
  135. package/src/services/viz-theme.mjs +3 -4
  136. package/src/surfaces/web/memory-ask-browser.bundle.js +1 -18
  137. package/src/domain/router/guardrail.mjs +0 -116
@@ -0,0 +1,3 @@
1
+ A child (the plural is children) is a person below the age of puberty (biologically) or, at least in English-speaking countries, below the age of majority or in other contexts below the age of consent. A person can be called his or her parent's child, regardless of the person's age. Another word for "child" is "kid".
2
+ In almost all countries, it is legally required that children be educated either at school or by homeschooling. Small children may go to nursery school, preschool or kindergarten. Playing and using imagination is a beneficial part of child development. But in poor areas, especially in third world countries, children may be forced to work long and hard and be used for child labor, such as in the poorest areas of India, South America, or Africa.
3
+ When people marry and one (or both) of them have children with someone else before this marriage, that child is known as a stepchild by the child's stepparent. If both people had children, the children of the other parent are stepbrothers or stepsisters of each other. Children with no parents are referred to as orphans. Children who are adopted and live with non-biological parents are referred to as adoptive (or foster) children.
@@ -0,0 +1,2 @@
1
+ A city is a place where many people live close together.
2
+ A city has many buildings and streets. It has houses, hotels, condominiums, and apartments for many people to live in, shops where they may buy things, places for people to work, and a government to run the city and keep law and order in the city. People live in cities because it is easy for them to find and do everything they want there. A city usually has a "city center" where government and business occur and suburbs where people live outside the center. Sydney, Melbourne, Adelaide, Perth, Darwin, New York, Los Angeles, London, Paris, Berlin, Tokyo, and other cities.
@@ -0,0 +1,2 @@
1
+ A clock is a device that tells the time. Some clocks can only show the time. Other clocks can show other things. For example, some clocks can show the date as well as the time, or show other information, like the timer
2
+ temperature or the weather, some have stopwatch and some have alarm.
@@ -0,0 +1 @@
1
+ Cooking is a process to make food ready to eat by heating it.
@@ -0,0 +1,660 @@
1
+ Description logics (DL) are a family of formal knowledge representation languages. Many DLs are more expressive than propositional logic but less expressive than first-order logic. In contrast to the latter, the core reasoning problems for DLs are (usually) decidable, and efficient decision procedures have been designed and implemented for these problems. There are general, spatial, temporal, spatiotemporal, and fuzzy description logics, and each description logic features a different balance between expressive power and reasoning complexity by supporting different sets of mathematical constructors.
2
+ DLs are used in artificial intelligence to describe and reason about the relevant concepts of an application domain (known as terminological knowledge). It is of particular importance in providing a logical formalism for ontologies and the Semantic Web: the Web Ontology Language (OWL) and its profiles are based on DLs. A major area of application of DLs and OWL is in biomedical informatics, where they assist in the codification of biomedical knowledge. DLs and OWL are also applied in other domains, including defense, climate modeling, and large-scale industrial knowledge graphs.
3
+ A DL models concepts, roles and individuals, and their relationships.
4
+ The fundamental modeling concept of a DL is the axiom—a logical statement relating roles and/or concepts. This is a key difference from the frames paradigm where a frame specification declares and completely defines a class.
5
+ The description logic community uses different terminology than the first-order logic (FOL) community for operationally equivalent notions; some examples are given below. The Web Ontology Language (OWL) uses again a different terminology, also given in the table below.
6
+ There are many varieties of description logics and there is an informal naming convention, roughly describing the operators allowed. The expressivity is encoded in the label for a logic starting with one of the following basic logics:
7
+ Followed by any of the following extensions:
8
+ Some canonical DLs that do not exactly fit this convention are:
9
+ As an example,
10
+ A
11
+ L
12
+ C
13
+ {\displaystyle {\mathcal {ALC}}}
14
+ is a centrally important description logic from which comparisons with other varieties can be made.
15
+ A
16
+ L
17
+ C
18
+ {\displaystyle {\mathcal {ALC}}}
19
+ is simply
20
+ A
21
+ L
22
+ {\displaystyle {\mathcal {AL}}}
23
+ with complement of any concept allowed, not just atomic concepts.
24
+ A
25
+ L
26
+ C
27
+ {\displaystyle {\mathcal {ALC}}}
28
+ is used instead of the equivalent
29
+ A
30
+ L
31
+ U
32
+ E
33
+ {\displaystyle {\mathcal {ALUE}}}
34
+ .
35
+ A further example, the description logic
36
+ S
37
+ H
38
+ I
39
+ Q
40
+ {\displaystyle {\mathcal {SHIQ}}}
41
+ is the logic
42
+ A
43
+ L
44
+ C
45
+ {\displaystyle {\mathcal {ALC}}}
46
+ plus extended cardinality restrictions, and transitive and inverse roles. The naming conventions aren't purely systematic so that the logic
47
+ A
48
+ L
49
+ C
50
+ O
51
+ I
52
+ N
53
+ {\displaystyle {\mathcal {ALCOIN}}}
54
+ might be referred to as
55
+ A
56
+ L
57
+ C
58
+ N
59
+ I
60
+ O
61
+ {\displaystyle {\mathcal {ALCNIO}}}
62
+ and other abbreviations are also made where possible.
63
+ The Protégé ontology editor supports
64
+ S
65
+ H
66
+ O
67
+ I
68
+ N
69
+ (
70
+ D
71
+ )
72
+ {\displaystyle {\mathcal {SHOIN}}^{\mathcal {(D)}}}
73
+ . Three major biomedical informatics terminology bases, SNOMED CT, GALEN, and GO, are expressible in
74
+ E
75
+ L
76
+ {\displaystyle {\mathcal {EL}}}
77
+ (with additional role properties).
78
+ OWL 2 provides the expressiveness of
79
+ S
80
+ R
81
+ O
82
+ I
83
+ Q
84
+ (
85
+ D
86
+ )
87
+ {\displaystyle {\mathcal {SROIQ}}^{\mathcal {(D)}}}
88
+ , OWL-DL is based on
89
+ S
90
+ H
91
+ O
92
+ I
93
+ N
94
+ (
95
+ D
96
+ )
97
+ {\displaystyle {\mathcal {SHOIN}}^{\mathcal {(D)}}}
98
+ , and for OWL-Lite it is
99
+ S
100
+ H
101
+ I
102
+ F
103
+ (
104
+ D
105
+ )
106
+ {\displaystyle {\mathcal {SHIF}}^{\mathcal {(D)}}}
107
+ .
108
+ Description logic was given its current name in the 1980s. Previous to this it was called (chronologically): terminological systems, and concept languages.
109
+ Frames and semantic networks lack formal (logic-based) semantics. DL was first introduced into knowledge representation (KR) systems to overcome this deficiency.
110
+ The first DL-based KR system was KL-ONE (by Ronald J. Brachman and Schmolze, 1985). During the '80s other DL-based systems using structural subsumption algorithms were developed including KRYPTON (1983), LOOM (1987), BACK (1988), K-REP (1991) and CLASSIC (1991). This approach featured DL with limited expressiveness but relatively efficient (polynomial time) reasoning.
111
+ In the early '90s, the introduction of a new tableau based algorithm paradigm allowed efficient reasoning on more expressive DL. DL-based systems using these algorithms — such as KRIS (1991) — show acceptable reasoning performance on typical inference problems even though the worst case complexity is no longer polynomial.
112
+ From the mid '90s, reasoners were created with good practical performance on very expressive DL with high worst case complexity. Examples from this period include FaCT, RACER (2001), CEL (2005), and KAON 2 (2005).
113
+ DL reasoners, such as FaCT, FaCT++, RACER, DLP and Pellet, implement the method of analytic tableaux. KAON2 is implemented by algorithms which reduce a SHIQ(D) knowledge base to a disjunctive datalog program.
114
+ The DARPA Agent Markup Language (DAML) and Ontology Inference Layer (OIL) ontology languages for the Semantic Web can be viewed as
115
+ syntactic variants of DL. In particular, the formal semantics and reasoning in OIL use the
116
+ S
117
+ H
118
+ I
119
+ Q
120
+ {\displaystyle {\mathcal {SHIQ}}}
121
+ DL. The DAML+OIL DL was developed as a submission to—and formed the starting point of—the World Wide Web Consortium (W3C) Web Ontology Working Group. In 2004, the Web Ontology Working Group completed its work by issuing the OWL recommendation. The design of OWL is based on the
122
+ S
123
+ H
124
+ {\displaystyle {\mathcal {SH}}}
125
+ family of DL with OWL DL and OWL Lite based on
126
+ S
127
+ H
128
+ O
129
+ I
130
+ N
131
+ (
132
+ D
133
+ )
134
+ {\displaystyle {\mathcal {SHOIN}}^{\mathcal {(D)}}}
135
+ and
136
+ S
137
+ H
138
+ I
139
+ F
140
+ (
141
+ D
142
+ )
143
+ {\displaystyle {\mathcal {SHIF}}^{\mathcal {(D)}}}
144
+ respectively.
145
+ The W3C OWL Working Group began work in 2007 on a refinement of - and extension to - OWL. In 2009, this was completed by the issuance of the OWL2 recommendation. OWL2 is based on the description logic
146
+ S
147
+ R
148
+ O
149
+ I
150
+ Q
151
+ (
152
+ D
153
+ )
154
+ {\displaystyle {\mathcal {SROIQ}}^{\mathcal {(D)}}}
155
+ . Practical experience demonstrated that OWL DL lacked several key features necessary to model complex domains.
156
+ In DL, a distinction is drawn between the so-called TBox (terminological box) and the ABox (assertional box). In general, the TBox contains sentences describing concept hierarchies (i.e., relations between concepts) while the ABox contains ground sentences stating where in the hierarchy, individuals belong (i.e., relations between individuals and concepts). For example, the statement:
157
+ belongs in the TBox, while the statement:
158
+ belongs in the ABox.
159
+ Note that the TBox/ABox distinction is not significant, in the same sense that the two "kinds" of sentences are not treated differently in first-order logic (which subsumes most DL). When translated into first-order logic, a subsumption axiom like (1) is simply a conditional restriction to unary predicates (concepts) with only variables appearing in it. Clearly, a sentence of this form is not privileged or special over sentences in which only constants ("grounded" values) appear like (2).
160
+ So why was the distinction introduced? The primary reason is that the separation can be useful when describing and formulating decision-procedures for various DL. For example, a reasoner might process the TBox and ABox separately, in part because certain key inference problems are tied to one but not the other one ('classification' is related to the TBox, 'instance checking' to the ABox). Another example is that the complexity of the TBox can greatly affect the performance of a given decision-procedure for a certain DL, independently of the ABox. Thus, it is useful to have a way to talk about that specific part of the knowledge base.
161
+ The secondary reason is that the distinction can make sense from the knowledge base modeler's perspective. It is plausible to distinguish between our conception of terms/concepts in the world (class axioms in the TBox) and particular manifestations of those terms/concepts (instance assertions in the ABox). In the above example: when the hierarchy within a company is the same in every branch but the assignment to employees is different in every department (because there are other people working there), it makes sense to reuse the TBox for different branches that do not use the same ABox.
162
+ There are two features of description logic that are not shared by most other data description formalisms: DL does not make the unique name assumption (UNA) or the closed-world assumption (CWA). Not having UNA means that two concepts with different names may be allowed by some inference to be shown to be equivalent. Not having CWA, or rather having the open world assumption (OWA) means that lack of knowledge of a fact does not immediately imply knowledge of the negation of a fact.
163
+ Like first-order logic (FOL), a syntax defines which collections of symbols are legal expressions in a description logic, and semantics determine meaning. Unlike FOL, a DL may have several well known syntactic variants.
164
+ The syntax of a member of the description logic family is characterized by its recursive definition, in which the constructors that can be used to form concept terms are stated. Some constructors are related to logical constructors in first-order logic (FOL) such as intersection or conjunction of concepts, union or disjunction of concepts, negation or complement of concepts, universal restriction and existential restriction. Other constructors have no corresponding construction in FOL including restrictions on roles for example, inverse, transitivity and functionality.
165
+ Let C and D be concepts, a and b be individuals, and R be a role.
166
+ If a is R-related to b, then b is called an R-successor of a.
167
+ The prototypical DL Attributive Concept Language with Complements (
168
+ A
169
+ L
170
+ C
171
+ {\displaystyle {\mathcal {ALC}}}
172
+ ) was introduced by Manfred Schmidt-Schauß and Gert Smolka in 1991, and is the basis of many more expressive DLs. The following definitions follow the treatment in Baader et al.
173
+ Let
174
+ N
175
+ C
176
+ {\displaystyle N_{C}}
177
+ ,
178
+ N
179
+ R
180
+ {\displaystyle N_{R}}
181
+ and
182
+ N
183
+ O
184
+ {\displaystyle N_{O}}
185
+ be (respectively) sets of concept names (also known as atomic concepts), role names and individual names (also known as individuals, nominals or objects). Then the ordered triple (
186
+ N
187
+ C
188
+ {\displaystyle N_{C}}
189
+ ,
190
+ N
191
+ R
192
+ {\displaystyle N_{R}}
193
+ ,
194
+ N
195
+ O
196
+ {\displaystyle N_{O}}
197
+ ) is the signature.
198
+ The set of
199
+ A
200
+ L
201
+ C
202
+ {\displaystyle {\mathcal {ALC}}}
203
+ concepts is the smallest set such that:
204
+ The following are concepts:
205
+
206
+ {\displaystyle \top }
207
+ (top is a concept)
208
+
209
+ {\displaystyle \bot }
210
+ (bottom is a concept)
211
+ Every
212
+ A
213
+
214
+ N
215
+ C
216
+ {\displaystyle A\in N_{C}}
217
+ (all atomic concepts are concepts)
218
+ If
219
+ C
220
+ {\displaystyle C}
221
+ and
222
+ D
223
+ {\displaystyle D}
224
+ are concepts and
225
+ R
226
+
227
+ N
228
+ R
229
+ {\displaystyle R\in N_{R}}
230
+ then the following are concepts:
231
+ C
232
+
233
+ D
234
+ {\displaystyle C\sqcap D}
235
+ (the intersection of two concepts is a concept)
236
+ C
237
+
238
+ D
239
+ {\displaystyle C\sqcup D}
240
+ (the union of two concepts is a concept)
241
+ ¬
242
+ C
243
+ {\displaystyle \neg C}
244
+ (the complement of a concept is a concept)
245
+
246
+ R
247
+ .
248
+ C
249
+ {\displaystyle \forall R.C}
250
+ (the universal restriction of a concept by a role is a concept)
251
+
252
+ R
253
+ .
254
+ C
255
+ {\displaystyle \exists R.C}
256
+ (the existential restriction of a concept by a role is a concept)
257
+ A general concept inclusion (GCI) has the form
258
+ C
259
+
260
+ D
261
+ {\displaystyle C\sqsubseteq D}
262
+ where
263
+ C
264
+ {\displaystyle C}
265
+ and
266
+ D
267
+ {\displaystyle D}
268
+ are concepts. Write
269
+ C
270
+
271
+ D
272
+ {\displaystyle C\equiv D}
273
+ when
274
+ C
275
+
276
+ D
277
+ {\displaystyle C\sqsubseteq D}
278
+ and
279
+ D
280
+
281
+ C
282
+ {\displaystyle D\sqsubseteq C}
283
+ . A TBox is any finite set of GCIs.
284
+ A concept assertion is a statement of the form
285
+ a
286
+ :
287
+ C
288
+ {\displaystyle a:C}
289
+ where
290
+ a
291
+
292
+ N
293
+ O
294
+ {\displaystyle a\in N_{O}}
295
+ and C is a concept.
296
+ A role assertion is a statement of the form
297
+ (
298
+ a
299
+ ,
300
+ b
301
+ )
302
+ :
303
+ R
304
+ {\displaystyle (a,b):R}
305
+ where
306
+ a
307
+ ,
308
+ b
309
+
310
+ N
311
+ O
312
+ {\displaystyle a,b\in N_{O}}
313
+ and R is a role.
314
+ An ABox is a finite set of assertional axioms.
315
+ A knowledge base (KB) is an ordered pair
316
+ (
317
+ T
318
+ ,
319
+ A
320
+ )
321
+ {\displaystyle ({\mathcal {T}},{\mathcal {A}})}
322
+ for TBox
323
+ T
324
+ {\displaystyle {\mathcal {T}}}
325
+ and ABox
326
+ A
327
+ {\displaystyle {\mathcal {A}}}
328
+ .
329
+ The semantics of description logics are defined by interpreting concepts as sets of individuals and roles as sets of ordered pairs of individuals. Those individuals are typically assumed from a given domain. The semantics of non-atomic concepts and roles is then defined in terms of atomic concepts and roles. This is done by using a recursive definition similar to the syntax.
330
+ The following definitions follow the treatment in Baader et al.
331
+ A terminological interpretation
332
+ I
333
+ =
334
+ (
335
+ Δ
336
+ I
337
+ ,
338
+
339
+ I
340
+ )
341
+ {\displaystyle {\mathcal {I}}=(\Delta ^{\mathcal {I}},\cdot ^{\mathcal {I}})}
342
+ over a signature
343
+ (
344
+ N
345
+ C
346
+ ,
347
+ N
348
+ R
349
+ ,
350
+ N
351
+ O
352
+ )
353
+ {\displaystyle (N_{C},N_{R},N_{O})}
354
+ consists of
355
+ a non-empty set
356
+ Δ
357
+ I
358
+ {\displaystyle \Delta ^{\mathcal {I}}}
359
+ called the domain
360
+ a interpretation function
361
+
362
+ I
363
+ {\displaystyle \cdot ^{\mathcal {I}}}
364
+ that maps:
365
+ every individual
366
+ a
367
+ {\displaystyle a}
368
+ to an element
369
+ a
370
+ I
371
+
372
+ Δ
373
+ I
374
+ {\displaystyle a^{\mathcal {I}}\in \Delta ^{\mathcal {I}}}
375
+ every concept to a subset of
376
+ Δ
377
+ I
378
+ {\displaystyle \Delta ^{\mathcal {I}}}
379
+ every role name to a subset of
380
+ Δ
381
+ I
382
+ ×
383
+ Δ
384
+ I
385
+ {\displaystyle \Delta ^{\mathcal {I}}\times \Delta ^{\mathcal {I}}}
386
+ such that
387
+
388
+ I
389
+ =
390
+ Δ
391
+ I
392
+ {\displaystyle \top ^{\mathcal {I}}=\Delta ^{\mathcal {I}}}
393
+
394
+ I
395
+ =
396
+
397
+ {\displaystyle \bot ^{\mathcal {I}}=\emptyset }
398
+ (
399
+ C
400
+
401
+ D
402
+ )
403
+ I
404
+ =
405
+ C
406
+ I
407
+
408
+ D
409
+ I
410
+ {\displaystyle (C\sqcup D)^{\mathcal {I}}=C^{\mathcal {I}}\cup D^{\mathcal {I}}}
411
+ (union means disjunction)
412
+ (
413
+ C
414
+
415
+ D
416
+ )
417
+ I
418
+ =
419
+ C
420
+ I
421
+
422
+ D
423
+ I
424
+ {\displaystyle (C\sqcap D)^{\mathcal {I}}=C^{\mathcal {I}}\cap D^{\mathcal {I}}}
425
+ (intersection means conjunction)
426
+ (
427
+ ¬
428
+ C
429
+ )
430
+ I
431
+ =
432
+ Δ
433
+ I
434
+
435
+ C
436
+ I
437
+ {\displaystyle (\neg C)^{\mathcal {I}}=\Delta ^{\mathcal {I}}\setminus C^{\mathcal {I}}}
438
+ (complement means negation)
439
+ (
440
+
441
+ R
442
+ .
443
+ C
444
+ )
445
+ I
446
+ =
447
+ {
448
+ x
449
+
450
+ Δ
451
+ I
452
+
453
+ for
454
+ every
455
+ y
456
+ ,
457
+ (
458
+ x
459
+ ,
460
+ y
461
+ )
462
+
463
+ R
464
+ I
465
+ implies
466
+ y
467
+
468
+ C
469
+ I
470
+ }
471
+ {\displaystyle (\forall R.C)^{\mathcal {I}}=\{x\in \Delta ^{\mathcal {I}}\mid {\text{for}}\;{\text{every}}\;y,(x,y)\in R^{\mathcal {I}}\;{\text{implies}}\;y\in C^{\mathcal {I}}\}}
472
+ (
473
+
474
+ R
475
+ .
476
+ C
477
+ )
478
+ I
479
+ =
480
+ {
481
+ x
482
+
483
+ Δ
484
+ I
485
+
486
+ there
487
+ exists
488
+ y
489
+ ,
490
+ (
491
+ x
492
+ ,
493
+ y
494
+ )
495
+
496
+ R
497
+ I
498
+ and
499
+ y
500
+
501
+ C
502
+ I
503
+ }
504
+ {\displaystyle (\exists R.C)^{\mathcal {I}}=\{x\in \Delta ^{\mathcal {I}}\mid {\text{there}}\;{\text{exists}}\;y,(x,y)\in R^{\mathcal {I}}\;{\text{and}}\;y\in C^{\mathcal {I}}\}}
505
+ Define
506
+ I
507
+
508
+ {\displaystyle {\mathcal {I}}\models }
509
+ (read in I holds) as follows
510
+ I
511
+
512
+ C
513
+
514
+ D
515
+ {\displaystyle {\mathcal {I}}\models C\sqsubseteq D}
516
+ if and only if
517
+ C
518
+ I
519
+
520
+ D
521
+ I
522
+ {\displaystyle C^{\mathcal {I}}\subseteq D^{\mathcal {I}}}
523
+ I
524
+
525
+ T
526
+ {\displaystyle {\mathcal {I}}\models {\mathcal {T}}}
527
+ if and only if
528
+ I
529
+
530
+ Φ
531
+ {\displaystyle {\mathcal {I}}\models \Phi }
532
+ for every
533
+ Φ
534
+
535
+ T
536
+ {\displaystyle \Phi \in {\mathcal {T}}}
537
+ I
538
+
539
+ a
540
+ :
541
+ C
542
+ {\displaystyle {\mathcal {I}}\models a:C}
543
+ if and only if
544
+ a
545
+ I
546
+
547
+ C
548
+ I
549
+ {\displaystyle a^{\mathcal {I}}\in C^{\mathcal {I}}}
550
+ I
551
+
552
+ (
553
+ a
554
+ ,
555
+ b
556
+ )
557
+ :
558
+ R
559
+ {\displaystyle {\mathcal {I}}\models (a,b):R}
560
+ if and only if
561
+ (
562
+ a
563
+ I
564
+ ,
565
+ b
566
+ I
567
+ )
568
+
569
+ R
570
+ I
571
+ {\displaystyle (a^{\mathcal {I}},b^{\mathcal {I}})\in R^{\mathcal {I}}}
572
+ I
573
+
574
+ A
575
+ {\displaystyle {\mathcal {I}}\models {\mathcal {A}}}
576
+ if and only if
577
+ I
578
+
579
+ ϕ
580
+ {\displaystyle {\mathcal {I}}\models \phi }
581
+ for every
582
+ ϕ
583
+
584
+ A
585
+ {\displaystyle \phi \in {\mathcal {A}}}
586
+ Let
587
+ K
588
+ =
589
+ (
590
+ T
591
+ ,
592
+ A
593
+ )
594
+ {\displaystyle {\mathcal {K}}=({\mathcal {T}},{\mathcal {A}})}
595
+ be a knowledge base.
596
+ I
597
+
598
+ K
599
+ {\displaystyle {\mathcal {I}}\models {\mathcal {K}}}
600
+ if and only if
601
+ I
602
+
603
+ T
604
+ {\displaystyle {\mathcal {I}}\models {\mathcal {T}}}
605
+ and
606
+ I
607
+
608
+ A
609
+ {\displaystyle {\mathcal {I}}\models {\mathcal {A}}}
610
+ In addition to the ability to describe concepts formally, one also would like to employ the description of a set of concepts to ask questions about the concepts and instances described. The most common decision problems are basic database-query-like questions like instance checking (is a particular instance (member of an ABox) a member of a given concept) and relation checking (does a relation/role hold between two instances, in other words does a have property b), and the more global-database-questions like subsumption (is a concept a subset of another concept), and concept consistency (is there no contradiction among the definitions or chain of definitions). The more operators one includes in a logic and the more complicated the TBox (having cycles, allowing non-atomic concepts to include each other), usually the higher the computational complexity is for each of these problems (see Description Logic Complexity Navigator for examples).
611
+ Many DLs are decidable fragments of first-order logic (FOL) and are usually fragments of two-variable logic or guarded logic. In addition, some DLs have features that are not covered in FOL; this includes concrete domains (such as integer or strings, which can be used as ranges for roles such as hasAge or hasName) or an operator on roles for the transitive closure of that role.
612
+ Fuzzy description logics combines fuzzy logic with DLs. Since many concepts that are needed for intelligent systems lack well defined boundaries, or precisely defined criteria of membership, fuzzy logic is needed to deal with notions of vagueness and imprecision. This offers a motivation for a generalization of description logic towards dealing with imprecise and vague concepts.
613
+ Description logic is related to—but developed independently of—modal logic (ML). Many—but not all—DLs are syntactic variants of ML.
614
+ In general, an object corresponds to a possible world, a concept corresponds to a modal proposition, and a role-bounded quantifier to a modal operator with that role as its accessibility relation.
615
+ Operations on roles (such as composition, inversion, etc.) correspond to the modal operations used in dynamic logic.
616
+ Temporal description logic represents—and allows reasoning about—time dependent concepts and many different approaches to this problem exist. For example, a description logic might be combined with a modal temporal logic such as linear temporal logic.
617
+ Formal concept analysis
618
+ Lattice (order)
619
+ Formal semantics (natural language)
620
+ Semantic parameterization
621
+ Semantic reasoner
622
+ F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi, P. F. Patel-Schneider: The Description Logic Handbook: Theory, Implementation, Applications. Cambridge University Press, Cambridge, UK, 2003. ISBN 0-521-78176-0
623
+ Ian Horrocks, Ulrike Sattler: Ontology Reasoning in the SHOQ(D) Description Logic, in Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence, 2001.
624
+ D. Fensel, F. van Harmelen, I. Horrocks, D. McGuinness, and P. F. Patel-Schneider: OIL: An Ontology Infrastructure for the Semantic Web. IEEE Intelligent Systems, 16(2):38-45, 2001.
625
+ Ian Horrocks and Peter F. Patel-Schneider: The Generation of DAML+OIL. In Proceedings of the 2001 Description Logic Workshop (DL 2001), volume 49 of CEUR <http://ceur-ws.org/>, pages 30–35, 2001.
626
+ Ian Horrocks, Peter F. Patel-Schneider, and Frank van Harmelen: From SHIQ and RDF to OWL: The Making of a Web Ontology Language. Journal of Web Semantics, 1(1):7-26, 2003.
627
+ Bernardo Cuenca Grau, Ian Horrocks, Boris Motik, Bijan Parsia, Peter Patel-Schneider, and Ulrike Sattler: OWL 2: The next step for OWL. Journal of Web Semantics, 6(4):309–322, November 2008.
628
+ Franz Baader, Ian Horrocks, and Ulrike Sattler: Chapter 3 Description Logics. In Frank van Harmelen, Vladimir Lifschitz, and Bruce Porter, editors, Handbook of Knowledge Representation. Elsevier, 2007.
629
+ Alessandro Artale and Enrico Franconi: Temporal Description Logics. In Handbook of Temporal Reasoning in Artificial Intelligence, 2005.
630
+ Web Ontology (WebONT) Working Group Charter. W3C, 2003
631
+ World Wide Web Consortium Issues RDF and OWL Recommendations. Press Release. W3C, 2004.
632
+ OWL Working Group Charter. W3C, 2007.
633
+ OWL 2 Connects the Web of Knowledge with the Web of Data. Press Release. W3C, 2009.
634
+ Markus Krötzsch, František Simančík, Ian Horrocks: A Description Logic Primer. CoRR arXiv:1201.4089. 2012. A very first introduction for readers without a formal logic background.
635
+ Sebastian Rudolph: Foundations of Description Logics. In Reasoning Web: Semantic Technologies for the Web of Data, 7th International Summer School, volume 6848 of Lecture Notes in Computer Science, pages 76–136. Springer, 2011. (springerlink)Introductory text with a focus on modelling and formal semantics. There are also slides.
636
+ Jens Lehmann: DL-Learner: Learning concepts in description logics, Journal of Machine Learning Research, 2009.
637
+ Stefan Heindorf, Lukas Blübaum, Nick Düsterhus, Till Werner, Varun Nandkumar Golani, Caglar Demir, and Axel-Cyrille Ngonga Ngomo. Evolearner: Learning description logics with evolutionary algorithms. In Proceedings of the ACM Web Conference 2022, pp. 818-828. 2022.
638
+ Franz Baader: Description Logics. In Reasoning Web: Semantic Technologies for Information Systems, 5th International Summer School, volume 5689 of Lecture Notes in Computer Science, pages 1–39. Springer, 2009. (springerlink) Introductory text with a focus on reasoning and language design, and an extended historical overview.
639
+ Enrico Franconi: Introduction to Description Logics. Course materials. Faculty of Computer Science, Free University of Bolzano, Italy, 2002. Lecture slides and many literature pointers, somewhat dated.
640
+ Ian Horrocks: Ontologies and the Semantic Web. Communications of the ACM, 51(12):58-67, December 2008. A general overview of knowledge representation in Semantic Web technologies.
641
+ Description Logic Complexity Navigator, maintained by Evgeny Zolin at the Department of Computer Science
642
+ List of Reasoners, OWL research at the University of Manchester
643
+ Description Logics Workshop, homepage of the collecting information about the community and archives of the workshop proceedings
644
+ There are some semantic reasoners that deal with OWL and DL. These are some of the most popular:
645
+ CEL is an open source LISP-based reasoner (Apache 2.0 License).
646
+ Cerebra Engine was a commercial C++-based reasoner, acquired in 2006 by webMethods.
647
+ FaCT++ is a free open-source C++-based reasoner.
648
+ KAON2 is a free (for non-commercial use) Java-based reasoner, offering fast reasoning support for OWL ontologies.
649
+ MSPASS is a free open-source C reasoner for numerous DL models.
650
+ Pellet is a dual-licensed (AGPL and proprietary) commercial, Java-based reasoner.
651
+ RacerPro of Racer Systems was a commercial (free trials and research licenses are available) lisp-based reasoner, today both an open source version of RACER exists from the original developers at Lübeck University using the BSD 3 license, and also a commercialized version, still named RacerPro by Franz Inc.
652
+ Sim-DL is a free open-source Java-based reasoner for the language ALCHQ. It also provides a similarity measurement functionality between concepts. To access this functionality a Protégé plugin can be used.
653
+ HermiT is an open-source reasoner based on the "hypertableau" calculus. It is developed by the University of Oxford.
654
+ Owlready2 is a package for ontology-oriented programming in Python. It can load OWL 2.0 ontologies as Python objects, modify them, save them, and perform reasoning via HermiT (included). Owlready2 allows a transparent access to OWL ontologies (contrary to usual Java-based API).
655
+ OWLAPY. OWLAPY is an open-source Python framework for creating, manipulating, and reasoning with OWL ontologies. It includes a built-in StructuralReasoner for efficient, lightweight reasoning and wrappers for well-known Java-based reasoners like HermiT, Pellet, JFact, and Openllet.
656
+ Protégé is a free, open-source ontology editor and a knowledge base framework, which can use DL reasoners offering DIG Interface as a back end for consistency checks.
657
+ SWOOP on GitHub, an OWL browser/editor that takes the standard web browser as the basic UI paradigm.
658
+ DIG Interface on SourceForge, a standardized XML interface to DLs systems developed by the DL Implementation Group (DIG).
659
+ OWL API on SourceForge, a Java interface and implementation for the Web Ontology Language, used to represent Semantic Web ontologies.
660
+ OWLAPY on GitHub, a Python interface and implementation for the Web Ontology Language, used to represent Semantic Web ontologies.
@@ -0,0 +1,6 @@
1
+ Doctor could refer to:
2
+ Doctor (title), someone who has a doctorate. This can include:
3
+ Medical doctor
4
+ Doctor (Doctor Who), a fictional character in the TV show Doctor Who
5
+ Doctor (Star Trek), a fictional character in the TV show Star Trek: Voyager
6
+ "The Doctor", nickname of basketball player Julius Erving
@@ -0,0 +1,4 @@
1
+ Dogs are mammals, usually to be kept as pets, or work on farms or for the police. Some dogs are trained to be rescue dogs and join teams such as mountain rescue.
2
+ Dogs have been bred by humans from ancestral wolves. They were the first animals to live with humans. There was a lot of different types among wolves in the Late Pleistocene.
3
+ Today, some dogs are used as pets, and others are used to help humans do their work. They are popular pets because they are usually playful, friendly, loyal, and listen to humans. Thirty million dogs in the United States have been registered as pets. Dogs eat both meat and vegetables, which are often mixed together and sold in stores as dog food. Dogs often have jobs including police dogs, army dogs, assistance dogs, fire dogs, messenger dogs, hunting dogs, herding dogs, or rescue dogs. A baby dog is called a pup or puppy.
4
+ Dogs are sometimes known as "human's best friend" because they are kept as pets, are usually loyal, and like being around humans.
@@ -0,0 +1,4 @@
1
+ Eagle is a general term for many large birds of prey. Over 60 species have been described, and they live in many parts of the world. Most species of eagle are found in Eurasia and in Africa.
2
+ Eagles are not a natural monophyletic group. The name describes a bird of prey big enough to hunt larger vertebrates. Eagles hunt during the day and have very good eyesight. Eagles are generally put in the family Accipitridae. They belong to several groups of genera, some of which are closely related.
3
+ The largest eagle that has ever lived is Haast's eagle. It is the only eagle in the world ever to have been top predator of its ecosystem. Though it is now extinct, it lived in New Zealand. Before man got there, it preyed on moas.
4
+ Eagles are carnivores. This means that they eat meat from other animals. Eagles are birds of prey, and so are vultures, falcons and owls. Eagles use their strong talons to catch and grab their food, and they use their sharp beaks to help them tear into the meat of their prey.