@oml/language 0.7.0

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 (91) hide show
  1. package/README.md +44 -0
  2. package/out/oml/generated/ast.d.ts +2109 -0
  3. package/out/oml/generated/ast.js +1807 -0
  4. package/out/oml/generated/ast.js.map +1 -0
  5. package/out/oml/generated/grammar.d.ts +6 -0
  6. package/out/oml/generated/grammar.js +6885 -0
  7. package/out/oml/generated/grammar.js.map +1 -0
  8. package/out/oml/generated/module.d.ts +13 -0
  9. package/out/oml/generated/module.js +21 -0
  10. package/out/oml/generated/module.js.map +1 -0
  11. package/out/oml/index.d.ts +17 -0
  12. package/out/oml/index.js +19 -0
  13. package/out/oml/index.js.map +1 -0
  14. package/out/oml/oml-candidates.d.ts +27 -0
  15. package/out/oml/oml-candidates.js +146 -0
  16. package/out/oml/oml-candidates.js.map +1 -0
  17. package/out/oml/oml-code-actions.d.ts +6 -0
  18. package/out/oml/oml-code-actions.js +79 -0
  19. package/out/oml/oml-code-actions.js.map +1 -0
  20. package/out/oml/oml-completion.d.ts +50 -0
  21. package/out/oml/oml-completion.js +188 -0
  22. package/out/oml/oml-completion.js.map +1 -0
  23. package/out/oml/oml-converter.d.ts +10 -0
  24. package/out/oml/oml-converter.js +62 -0
  25. package/out/oml/oml-converter.js.map +1 -0
  26. package/out/oml/oml-document-validator.d.ts +10 -0
  27. package/out/oml/oml-document-validator.js +31 -0
  28. package/out/oml/oml-document-validator.js.map +1 -0
  29. package/out/oml/oml-document.d.ts +9 -0
  30. package/out/oml/oml-document.js +18 -0
  31. package/out/oml/oml-document.js.map +1 -0
  32. package/out/oml/oml-edit.d.ts +72 -0
  33. package/out/oml/oml-edit.js +1155 -0
  34. package/out/oml/oml-edit.js.map +1 -0
  35. package/out/oml/oml-formatter.d.ts +22 -0
  36. package/out/oml/oml-formatter.js +357 -0
  37. package/out/oml/oml-formatter.js.map +1 -0
  38. package/out/oml/oml-hover.d.ts +13 -0
  39. package/out/oml/oml-hover.js +71 -0
  40. package/out/oml/oml-hover.js.map +1 -0
  41. package/out/oml/oml-index-manager.d.ts +10 -0
  42. package/out/oml/oml-index-manager.js +48 -0
  43. package/out/oml/oml-index-manager.js.map +1 -0
  44. package/out/oml/oml-index.d.ts +20 -0
  45. package/out/oml/oml-index.js +133 -0
  46. package/out/oml/oml-index.js.map +1 -0
  47. package/out/oml/oml-module.d.ts +42 -0
  48. package/out/oml/oml-module.js +76 -0
  49. package/out/oml/oml-module.js.map +1 -0
  50. package/out/oml/oml-rename.d.ts +14 -0
  51. package/out/oml/oml-rename.js +114 -0
  52. package/out/oml/oml-rename.js.map +1 -0
  53. package/out/oml/oml-scope.d.ts +30 -0
  54. package/out/oml/oml-scope.js +225 -0
  55. package/out/oml/oml-scope.js.map +1 -0
  56. package/out/oml/oml-serializer.d.ts +2 -0
  57. package/out/oml/oml-serializer.js +883 -0
  58. package/out/oml/oml-serializer.js.map +1 -0
  59. package/out/oml/oml-utils.d.ts +53 -0
  60. package/out/oml/oml-utils.js +241 -0
  61. package/out/oml/oml-utils.js.map +1 -0
  62. package/out/oml/oml-validator.d.ts +49 -0
  63. package/out/oml/oml-validator.js +668 -0
  64. package/out/oml/oml-validator.js.map +1 -0
  65. package/out/oml/oml-workspace.d.ts +23 -0
  66. package/out/oml/oml-workspace.js +68 -0
  67. package/out/oml/oml-workspace.js.map +1 -0
  68. package/package.json +50 -0
  69. package/src/oml/generated/ast.ts +2641 -0
  70. package/src/oml/generated/grammar.ts +6887 -0
  71. package/src/oml/generated/module.ts +25 -0
  72. package/src/oml/index.ts +19 -0
  73. package/src/oml/oml-candidates.ts +176 -0
  74. package/src/oml/oml-code-actions.ts +120 -0
  75. package/src/oml/oml-completion.ts +222 -0
  76. package/src/oml/oml-converter.ts +66 -0
  77. package/src/oml/oml-document-validator.ts +39 -0
  78. package/src/oml/oml-document.ts +24 -0
  79. package/src/oml/oml-edit.ts +1292 -0
  80. package/src/oml/oml-formatter.ts +390 -0
  81. package/src/oml/oml-hover.ts +93 -0
  82. package/src/oml/oml-index-manager.ts +56 -0
  83. package/src/oml/oml-index.ts +145 -0
  84. package/src/oml/oml-module.ts +105 -0
  85. package/src/oml/oml-rename.ts +140 -0
  86. package/src/oml/oml-scope.ts +279 -0
  87. package/src/oml/oml-serializer.ts +1080 -0
  88. package/src/oml/oml-utils.ts +294 -0
  89. package/src/oml/oml-validator.ts +725 -0
  90. package/src/oml/oml-workspace.ts +81 -0
  91. package/src/oml/oml.langium +594 -0
@@ -0,0 +1,2641 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.1.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+
6
+ /* eslint-disable */
7
+ import * as langium from 'langium';
8
+
9
+ export const OmlTerminals = {
10
+ ML_COMMENT: /\/\*[\s\S]*?\*\//,
11
+ SL_COMMENT: /\/\/[^\n\r]*/,
12
+ WS: /\s+/,
13
+ BOOLEAN: /(false|true)/,
14
+ DOUBLE: /((\+|-)?((?:[0-9])+(\.(?:[0-9])*)?|(\.(?:[0-9])+))(e|E)(\+|-)?(?:[0-9])+)(?!(?:[a-zA-Z])|(?:[-_.~%]))/,
15
+ DECIMAL: /((\+|-)?((?:[0-9])+(\.(?:[0-9])*))|(\.(?:[0-9])+))(?!(?:[a-zA-Z])|(?:[-_.~%]))/,
16
+ INTEGER: /((\+|-)(?:[0-9])+)(?!(?:[a-zA-Z])|(?:[-_.~%]))/,
17
+ UNSIGNED_INTEGER: /([0-9])+(?!(?:[a-zA-Z])|(?:[-_.~%]))/,
18
+ STRING: /("""(?:[\s\S]*?"""))|('''(?:[\s\S]*?'''))|('(?:[\s\S]*?'))|("(?:[\s\S]*?"))/,
19
+ NAMESPACE: /<[^#>\s]*[#/]>/,
20
+ IRI: /<[^>\s]*>/,
21
+ QNAME: /(?:((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%]))((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%])|\$)*):(?:((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%]))((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%])|\$)*)/,
22
+ ID: /\^?(?:((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%]))((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%])|\$)*)/,
23
+ };
24
+
25
+ export type OmlTerminalNames = keyof typeof OmlTerminals;
26
+
27
+ export type OmlKeywordNames =
28
+ | "$"
29
+ | "&"
30
+ | "("
31
+ | ")"
32
+ | ","
33
+ | "->"
34
+ | ":"
35
+ | "<"
36
+ | "="
37
+ | "@"
38
+ | "["
39
+ | "]"
40
+ | "^^"
41
+ | "all"
42
+ | "annotation"
43
+ | "as"
44
+ | "aspect"
45
+ | "asymmetric"
46
+ | "builtIn"
47
+ | "builtin"
48
+ | "bundle"
49
+ | "concept"
50
+ | "description"
51
+ | "differentFrom"
52
+ | "domain"
53
+ | "entity"
54
+ | "exactly"
55
+ | "extends"
56
+ | "forward"
57
+ | "from"
58
+ | "functional"
59
+ | "includes"
60
+ | "instance"
61
+ | "inverse"
62
+ | "irreflexive"
63
+ | "key"
64
+ | "language"
65
+ | "length"
66
+ | "max"
67
+ | "maxExclusive"
68
+ | "maxInclusive"
69
+ | "maxLength"
70
+ | "min"
71
+ | "minExclusive"
72
+ | "minInclusive"
73
+ | "minLength"
74
+ | "oneOf"
75
+ | "pattern"
76
+ | "property"
77
+ | "range"
78
+ | "ref"
79
+ | "reflexive"
80
+ | "relation"
81
+ | "restricts"
82
+ | "reverse"
83
+ | "rule"
84
+ | "sameAs"
85
+ | "scalar"
86
+ | "self"
87
+ | "some"
88
+ | "symmetric"
89
+ | "to"
90
+ | "transitive"
91
+ | "uses"
92
+ | "vocabulary"
93
+ | "{"
94
+ | "}";
95
+
96
+ export type OmlTokenNames = OmlTerminalNames | OmlKeywordNames;
97
+
98
+ export interface Annotation extends langium.AstNode {
99
+ readonly $container: AnnotationProperty | Aspect | BuiltIn | Concept | ConceptInstance | Description | DescriptionBundle | ForwardRelation | RelationEntity | RelationInstance | ReverseRelation | Rule | Scalar | ScalarProperty | UnreifiedRelation | Vocabulary | VocabularyBundle;
100
+ readonly $type: 'Annotation';
101
+ literalValues: Array<Literal>;
102
+ property: langium.Reference<AnnotationProperty>;
103
+ referencedValues: Array<langium.Reference<Member>>;
104
+ }
105
+
106
+ export const Annotation = {
107
+ $type: 'Annotation',
108
+ literalValues: 'literalValues',
109
+ property: 'property',
110
+ referencedValues: 'referencedValues'
111
+ } as const;
112
+
113
+ export function isAnnotation(item: unknown): item is Annotation {
114
+ return reflection.isInstance(item, Annotation.$type);
115
+ }
116
+
117
+ export interface AnnotationProperty extends langium.AstNode {
118
+ readonly $container: Vocabulary;
119
+ readonly $type: 'AnnotationProperty';
120
+ name?: string;
121
+ ownedAnnotations: Array<Annotation>;
122
+ ownedEquivalences: Array<PropertyEquivalenceAxiom>;
123
+ ownedSpecializations: Array<SpecializationAxiom>;
124
+ ref?: langium.Reference<AnnotationProperty>;
125
+ }
126
+
127
+ export const AnnotationProperty = {
128
+ $type: 'AnnotationProperty',
129
+ name: 'name',
130
+ ownedAnnotations: 'ownedAnnotations',
131
+ ownedEquivalences: 'ownedEquivalences',
132
+ ownedSpecializations: 'ownedSpecializations',
133
+ ref: 'ref'
134
+ } as const;
135
+
136
+ export function isAnnotationProperty(item: unknown): item is AnnotationProperty {
137
+ return reflection.isInstance(item, AnnotationProperty.$type);
138
+ }
139
+
140
+ export interface AnonymousConceptInstance extends langium.AstNode {
141
+ readonly $container: PropertyValueAssertion | PropertyValueRestrictionAxiom;
142
+ readonly $type: 'AnonymousConceptInstance';
143
+ ownedPropertyValues: Array<PropertyValueAssertion>;
144
+ type?: langium.Reference<Concept>;
145
+ }
146
+
147
+ export const AnonymousConceptInstance = {
148
+ $type: 'AnonymousConceptInstance',
149
+ ownedPropertyValues: 'ownedPropertyValues',
150
+ type: 'type'
151
+ } as const;
152
+
153
+ export function isAnonymousConceptInstance(item: unknown): item is AnonymousConceptInstance {
154
+ return reflection.isInstance(item, AnonymousConceptInstance.$type);
155
+ }
156
+
157
+ export type AnonymousInstance = AnonymousConceptInstance | AnonymousRelationInstance;
158
+
159
+ export const AnonymousInstance = {
160
+ $type: 'AnonymousInstance'
161
+ } as const;
162
+
163
+ export function isAnonymousInstance(item: unknown): item is AnonymousInstance {
164
+ return reflection.isInstance(item, AnonymousInstance.$type);
165
+ }
166
+
167
+ export interface AnonymousRelationInstance extends langium.AstNode {
168
+ readonly $container: PropertyValueAssertion | PropertyValueRestrictionAxiom;
169
+ readonly $type: 'AnonymousRelationInstance';
170
+ ownedPropertyValues: Array<PropertyValueAssertion>;
171
+ target: langium.Reference<NamedInstance>;
172
+ }
173
+
174
+ export const AnonymousRelationInstance = {
175
+ $type: 'AnonymousRelationInstance',
176
+ ownedPropertyValues: 'ownedPropertyValues',
177
+ target: 'target'
178
+ } as const;
179
+
180
+ export function isAnonymousRelationInstance(item: unknown): item is AnonymousRelationInstance {
181
+ return reflection.isInstance(item, AnonymousRelationInstance.$type);
182
+ }
183
+
184
+ export interface Argument extends langium.AstNode {
185
+ readonly $container: BuiltInPredicate | DifferentFromPredicate | PropertyPredicate | RelationEntityPredicate | SameAsPredicate | TypePredicate;
186
+ readonly $type: 'Argument';
187
+ instance?: langium.Reference<NamedInstance>;
188
+ literal?: Literal;
189
+ variable?: string;
190
+ }
191
+
192
+ export const Argument = {
193
+ $type: 'Argument',
194
+ instance: 'instance',
195
+ literal: 'literal',
196
+ variable: 'variable'
197
+ } as const;
198
+
199
+ export function isArgument(item: unknown): item is Argument {
200
+ return reflection.isInstance(item, Argument.$type);
201
+ }
202
+
203
+ export interface Aspect extends langium.AstNode {
204
+ readonly $container: Vocabulary;
205
+ readonly $type: 'Aspect';
206
+ name?: string;
207
+ ownedAnnotations: Array<Annotation>;
208
+ ownedEquivalences: Array<EntityEquivalenceAxiom>;
209
+ ownedKeys: Array<KeyAxiom>;
210
+ ownedPropertyRestrictions: Array<PropertyRestrictionAxiom>;
211
+ ownedSpecializations: Array<SpecializationAxiom>;
212
+ ref?: langium.Reference<Aspect>;
213
+ }
214
+
215
+ export const Aspect = {
216
+ $type: 'Aspect',
217
+ name: 'name',
218
+ ownedAnnotations: 'ownedAnnotations',
219
+ ownedEquivalences: 'ownedEquivalences',
220
+ ownedKeys: 'ownedKeys',
221
+ ownedPropertyRestrictions: 'ownedPropertyRestrictions',
222
+ ownedSpecializations: 'ownedSpecializations',
223
+ ref: 'ref'
224
+ } as const;
225
+
226
+ export function isAspect(item: unknown): item is Aspect {
227
+ return reflection.isInstance(item, Aspect.$type);
228
+ }
229
+
230
+ export type Assertion = PropertyValueAssertion | TypeAssertion;
231
+
232
+ export const Assertion = {
233
+ $type: 'Assertion'
234
+ } as const;
235
+
236
+ export function isAssertion(item: unknown): item is Assertion {
237
+ return reflection.isInstance(item, Assertion.$type);
238
+ }
239
+
240
+ export type Axiom = EntityEquivalenceAxiom | InstanceEnumerationAxiom | KeyAxiom | LiteralEnumerationAxiom | PropertyEquivalenceAxiom | PropertyRestrictionAxiom | ScalarEquivalenceAxiom | SpecializationAxiom;
241
+
242
+ export const Axiom = {
243
+ $type: 'Axiom'
244
+ } as const;
245
+
246
+ export function isAxiom(item: unknown): item is Axiom {
247
+ return reflection.isInstance(item, Axiom.$type);
248
+ }
249
+
250
+ export type BinaryPredicate = DifferentFromPredicate | PropertyPredicate | SameAsPredicate;
251
+
252
+ export const BinaryPredicate = {
253
+ $type: 'BinaryPredicate'
254
+ } as const;
255
+
256
+ export function isBinaryPredicate(item: unknown): item is BinaryPredicate {
257
+ return reflection.isInstance(item, BinaryPredicate.$type);
258
+ }
259
+
260
+ export type Boolean = boolean;
261
+
262
+ export function isBoolean(item: unknown): item is Boolean {
263
+ return typeof item === 'boolean';
264
+ }
265
+
266
+ export interface BooleanLiteral extends langium.AstNode {
267
+ readonly $container: Annotation | Argument | LiteralEnumerationAxiom | PropertyValueAssertion | PropertyValueRestrictionAxiom | ScalarEquivalenceAxiom;
268
+ readonly $type: 'BooleanLiteral';
269
+ value: Boolean;
270
+ }
271
+
272
+ export const BooleanLiteral = {
273
+ $type: 'BooleanLiteral',
274
+ value: 'value'
275
+ } as const;
276
+
277
+ export function isBooleanLiteral(item: unknown): item is BooleanLiteral {
278
+ return reflection.isInstance(item, BooleanLiteral.$type);
279
+ }
280
+
281
+ export interface BuiltIn extends langium.AstNode {
282
+ readonly $container: Vocabulary;
283
+ readonly $type: 'BuiltIn';
284
+ name?: string;
285
+ ownedAnnotations: Array<Annotation>;
286
+ ref?: langium.Reference<BuiltIn>;
287
+ }
288
+
289
+ export const BuiltIn = {
290
+ $type: 'BuiltIn',
291
+ name: 'name',
292
+ ownedAnnotations: 'ownedAnnotations',
293
+ ref: 'ref'
294
+ } as const;
295
+
296
+ export function isBuiltIn(item: unknown): item is BuiltIn {
297
+ return reflection.isInstance(item, BuiltIn.$type);
298
+ }
299
+
300
+ export interface BuiltInPredicate extends langium.AstNode {
301
+ readonly $container: Rule;
302
+ readonly $type: 'BuiltInPredicate';
303
+ arguments: Array<Argument>;
304
+ builtIn: langium.Reference<BuiltIn>;
305
+ }
306
+
307
+ export const BuiltInPredicate = {
308
+ $type: 'BuiltInPredicate',
309
+ arguments: 'arguments',
310
+ builtIn: 'builtIn'
311
+ } as const;
312
+
313
+ export function isBuiltInPredicate(item: unknown): item is BuiltInPredicate {
314
+ return reflection.isInstance(item, BuiltInPredicate.$type);
315
+ }
316
+
317
+ export type CardinalityRestrictionKind = 'exactly' | 'max' | 'min';
318
+
319
+ export function isCardinalityRestrictionKind(item: unknown): item is CardinalityRestrictionKind {
320
+ return item === 'exactly' || item === 'min' || item === 'max';
321
+ }
322
+
323
+ export interface Concept extends langium.AstNode {
324
+ readonly $container: Vocabulary;
325
+ readonly $type: 'Concept';
326
+ name?: string;
327
+ ownedAnnotations: Array<Annotation>;
328
+ ownedEnumeration?: InstanceEnumerationAxiom;
329
+ ownedEquivalences: Array<EntityEquivalenceAxiom>;
330
+ ownedKeys: Array<KeyAxiom>;
331
+ ownedPropertyRestrictions: Array<PropertyRestrictionAxiom>;
332
+ ownedSpecializations: Array<SpecializationAxiom>;
333
+ ref?: langium.Reference<Concept>;
334
+ }
335
+
336
+ export const Concept = {
337
+ $type: 'Concept',
338
+ name: 'name',
339
+ ownedAnnotations: 'ownedAnnotations',
340
+ ownedEnumeration: 'ownedEnumeration',
341
+ ownedEquivalences: 'ownedEquivalences',
342
+ ownedKeys: 'ownedKeys',
343
+ ownedPropertyRestrictions: 'ownedPropertyRestrictions',
344
+ ownedSpecializations: 'ownedSpecializations',
345
+ ref: 'ref'
346
+ } as const;
347
+
348
+ export function isConcept(item: unknown): item is Concept {
349
+ return reflection.isInstance(item, Concept.$type);
350
+ }
351
+
352
+ export interface ConceptInstance extends langium.AstNode {
353
+ readonly $container: Description;
354
+ readonly $type: 'ConceptInstance';
355
+ name?: string;
356
+ ownedAnnotations: Array<Annotation>;
357
+ ownedPropertyValues: Array<PropertyValueAssertion>;
358
+ ownedTypes: Array<TypeAssertion>;
359
+ ref?: langium.Reference<ConceptInstance>;
360
+ }
361
+
362
+ export const ConceptInstance = {
363
+ $type: 'ConceptInstance',
364
+ name: 'name',
365
+ ownedAnnotations: 'ownedAnnotations',
366
+ ownedPropertyValues: 'ownedPropertyValues',
367
+ ownedTypes: 'ownedTypes',
368
+ ref: 'ref'
369
+ } as const;
370
+
371
+ export function isConceptInstance(item: unknown): item is ConceptInstance {
372
+ return reflection.isInstance(item, ConceptInstance.$type);
373
+ }
374
+
375
+ export type CrossRef = string;
376
+
377
+ export function isCrossRef(item: unknown): item is CrossRef {
378
+ return (typeof item === 'string' && (/(?:((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%]))((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%])|\$)*):(?:((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%]))((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%])|\$)*)/.test(item) || /<[^>\s]*>/.test(item)));
379
+ }
380
+
381
+ export type Decimal = number;
382
+
383
+ export function isDecimal(item: unknown): item is Decimal {
384
+ return typeof item === 'number';
385
+ }
386
+
387
+ export interface DecimalLiteral extends langium.AstNode {
388
+ readonly $container: Annotation | Argument | LiteralEnumerationAxiom | PropertyValueAssertion | PropertyValueRestrictionAxiom | ScalarEquivalenceAxiom;
389
+ readonly $type: 'DecimalLiteral';
390
+ value: Decimal;
391
+ }
392
+
393
+ export const DecimalLiteral = {
394
+ $type: 'DecimalLiteral',
395
+ value: 'value'
396
+ } as const;
397
+
398
+ export function isDecimalLiteral(item: unknown): item is DecimalLiteral {
399
+ return reflection.isInstance(item, DecimalLiteral.$type);
400
+ }
401
+
402
+ export interface Description extends langium.AstNode {
403
+ readonly $type: 'Description';
404
+ namespace: string;
405
+ ownedAnnotations: Array<Annotation>;
406
+ ownedImports: Array<Import>;
407
+ ownedStatements: Array<DescriptionStatement>;
408
+ prefix: string;
409
+ }
410
+
411
+ export const Description = {
412
+ $type: 'Description',
413
+ namespace: 'namespace',
414
+ ownedAnnotations: 'ownedAnnotations',
415
+ ownedImports: 'ownedImports',
416
+ ownedStatements: 'ownedStatements',
417
+ prefix: 'prefix'
418
+ } as const;
419
+
420
+ export function isDescription(item: unknown): item is Description {
421
+ return reflection.isInstance(item, Description.$type);
422
+ }
423
+
424
+ export type DescriptionBox = Description | DescriptionBundle;
425
+
426
+ export const DescriptionBox = {
427
+ $type: 'DescriptionBox'
428
+ } as const;
429
+
430
+ export function isDescriptionBox(item: unknown): item is DescriptionBox {
431
+ return reflection.isInstance(item, DescriptionBox.$type);
432
+ }
433
+
434
+ export interface DescriptionBundle extends langium.AstNode {
435
+ readonly $type: 'DescriptionBundle';
436
+ namespace: string;
437
+ ownedAnnotations: Array<Annotation>;
438
+ ownedImports: Array<Import>;
439
+ prefix: string;
440
+ }
441
+
442
+ export const DescriptionBundle = {
443
+ $type: 'DescriptionBundle',
444
+ namespace: 'namespace',
445
+ ownedAnnotations: 'ownedAnnotations',
446
+ ownedImports: 'ownedImports',
447
+ prefix: 'prefix'
448
+ } as const;
449
+
450
+ export function isDescriptionBundle(item: unknown): item is DescriptionBundle {
451
+ return reflection.isInstance(item, DescriptionBundle.$type);
452
+ }
453
+
454
+ export type DescriptionMember = DescriptionStatement;
455
+
456
+ export const DescriptionMember = {
457
+ $type: 'DescriptionMember'
458
+ } as const;
459
+
460
+ export function isDescriptionMember(item: unknown): item is DescriptionMember {
461
+ return reflection.isInstance(item, DescriptionMember.$type);
462
+ }
463
+
464
+ export type DescriptionStatement = NamedInstance;
465
+
466
+ export const DescriptionStatement = {
467
+ $type: 'DescriptionStatement'
468
+ } as const;
469
+
470
+ export function isDescriptionStatement(item: unknown): item is DescriptionStatement {
471
+ return reflection.isInstance(item, DescriptionStatement.$type);
472
+ }
473
+
474
+ export interface DifferentFromPredicate extends langium.AstNode {
475
+ readonly $container: Rule;
476
+ readonly $type: 'DifferentFromPredicate';
477
+ argument1: Argument;
478
+ argument2: Argument;
479
+ }
480
+
481
+ export const DifferentFromPredicate = {
482
+ $type: 'DifferentFromPredicate',
483
+ argument1: 'argument1',
484
+ argument2: 'argument2'
485
+ } as const;
486
+
487
+ export function isDifferentFromPredicate(item: unknown): item is DifferentFromPredicate {
488
+ return reflection.isInstance(item, DifferentFromPredicate.$type);
489
+ }
490
+
491
+ export type Double = number;
492
+
493
+ export function isDouble(item: unknown): item is Double {
494
+ return typeof item === 'number';
495
+ }
496
+
497
+ export interface DoubleLiteral extends langium.AstNode {
498
+ readonly $container: Annotation | Argument | LiteralEnumerationAxiom | PropertyValueAssertion | PropertyValueRestrictionAxiom | ScalarEquivalenceAxiom;
499
+ readonly $type: 'DoubleLiteral';
500
+ value: Double;
501
+ }
502
+
503
+ export const DoubleLiteral = {
504
+ $type: 'DoubleLiteral',
505
+ value: 'value'
506
+ } as const;
507
+
508
+ export function isDoubleLiteral(item: unknown): item is DoubleLiteral {
509
+ return reflection.isInstance(item, DoubleLiteral.$type);
510
+ }
511
+
512
+ export type Element = Annotation | Argument | Assertion | Axiom | IdentifiedElement | Import | Instance | Literal | Predicate;
513
+
514
+ export const Element = {
515
+ $type: 'Element'
516
+ } as const;
517
+
518
+ export function isElement(item: unknown): item is Element {
519
+ return reflection.isInstance(item, Element.$type);
520
+ }
521
+
522
+ export type Entity = Aspect | Concept | RelationEntity;
523
+
524
+ export const Entity = {
525
+ $type: 'Entity'
526
+ } as const;
527
+
528
+ export function isEntity(item: unknown): item is Entity {
529
+ return reflection.isInstance(item, Entity.$type);
530
+ }
531
+
532
+ export interface EntityEquivalenceAxiom extends langium.AstNode {
533
+ readonly $container: Aspect | Concept | RelationEntity;
534
+ readonly $type: 'EntityEquivalenceAxiom';
535
+ ownedPropertyRestrictions: Array<PropertyRestrictionAxiom>;
536
+ superTerms: Array<langium.Reference<Entity>>;
537
+ }
538
+
539
+ export const EntityEquivalenceAxiom = {
540
+ $type: 'EntityEquivalenceAxiom',
541
+ ownedPropertyRestrictions: 'ownedPropertyRestrictions',
542
+ superTerms: 'superTerms'
543
+ } as const;
544
+
545
+ export function isEntityEquivalenceAxiom(item: unknown): item is EntityEquivalenceAxiom {
546
+ return reflection.isInstance(item, EntityEquivalenceAxiom.$type);
547
+ }
548
+
549
+ export type EquivalenceAxiom = EntityEquivalenceAxiom | PropertyEquivalenceAxiom | ScalarEquivalenceAxiom;
550
+
551
+ export const EquivalenceAxiom = {
552
+ $type: 'EquivalenceAxiom'
553
+ } as const;
554
+
555
+ export function isEquivalenceAxiom(item: unknown): item is EquivalenceAxiom {
556
+ return reflection.isInstance(item, EquivalenceAxiom.$type);
557
+ }
558
+
559
+ export interface ForwardRelation extends langium.AstNode {
560
+ readonly $container: RelationEntity;
561
+ readonly $type: 'ForwardRelation';
562
+ name: string;
563
+ ownedAnnotations: Array<Annotation>;
564
+ }
565
+
566
+ export const ForwardRelation = {
567
+ $type: 'ForwardRelation',
568
+ name: 'name',
569
+ ownedAnnotations: 'ownedAnnotations'
570
+ } as const;
571
+
572
+ export function isForwardRelation(item: unknown): item is ForwardRelation {
573
+ return reflection.isInstance(item, ForwardRelation.$type);
574
+ }
575
+
576
+ export type IdentifiedElement = Member | Ontology;
577
+
578
+ export const IdentifiedElement = {
579
+ $type: 'IdentifiedElement'
580
+ } as const;
581
+
582
+ export function isIdentifiedElement(item: unknown): item is IdentifiedElement {
583
+ return reflection.isInstance(item, IdentifiedElement.$type);
584
+ }
585
+
586
+ export interface Import extends langium.AstNode {
587
+ readonly $container: Description | DescriptionBundle | Vocabulary | VocabularyBundle;
588
+ readonly $type: 'Import';
589
+ imported: langium.Reference<Ontology>;
590
+ kind: ImportKind;
591
+ prefix?: string;
592
+ }
593
+
594
+ export const Import = {
595
+ $type: 'Import',
596
+ imported: 'imported',
597
+ kind: 'kind',
598
+ prefix: 'prefix'
599
+ } as const;
600
+
601
+ export function isImport(item: unknown): item is Import {
602
+ return reflection.isInstance(item, Import.$type);
603
+ }
604
+
605
+ export type ImportKind = 'extends' | 'includes' | 'uses';
606
+
607
+ export function isImportKind(item: unknown): item is ImportKind {
608
+ return item === 'extends' || item === 'uses' || item === 'includes';
609
+ }
610
+
611
+ export type Instance = AnonymousInstance | NamedInstance;
612
+
613
+ export const Instance = {
614
+ $type: 'Instance'
615
+ } as const;
616
+
617
+ export function isInstance(item: unknown): item is Instance {
618
+ return reflection.isInstance(item, Instance.$type);
619
+ }
620
+
621
+ export interface InstanceEnumerationAxiom extends langium.AstNode {
622
+ readonly $container: Concept;
623
+ readonly $type: 'InstanceEnumerationAxiom';
624
+ instances: Array<langium.Reference<ConceptInstance>>;
625
+ }
626
+
627
+ export const InstanceEnumerationAxiom = {
628
+ $type: 'InstanceEnumerationAxiom',
629
+ instances: 'instances'
630
+ } as const;
631
+
632
+ export function isInstanceEnumerationAxiom(item: unknown): item is InstanceEnumerationAxiom {
633
+ return reflection.isInstance(item, InstanceEnumerationAxiom.$type);
634
+ }
635
+
636
+ export type Integer = number;
637
+
638
+ export function isInteger(item: unknown): item is Integer {
639
+ return typeof item === 'number';
640
+ }
641
+
642
+ export interface IntegerLiteral extends langium.AstNode {
643
+ readonly $container: Annotation | Argument | LiteralEnumerationAxiom | PropertyValueAssertion | PropertyValueRestrictionAxiom | ScalarEquivalenceAxiom;
644
+ readonly $type: 'IntegerLiteral';
645
+ value: Integer;
646
+ }
647
+
648
+ export const IntegerLiteral = {
649
+ $type: 'IntegerLiteral',
650
+ value: 'value'
651
+ } as const;
652
+
653
+ export function isIntegerLiteral(item: unknown): item is IntegerLiteral {
654
+ return reflection.isInstance(item, IntegerLiteral.$type);
655
+ }
656
+
657
+ export interface KeyAxiom extends langium.AstNode {
658
+ readonly $container: Aspect | Concept | RelationEntity;
659
+ readonly $type: 'KeyAxiom';
660
+ properties: Array<langium.Reference<Property>>;
661
+ }
662
+
663
+ export const KeyAxiom = {
664
+ $type: 'KeyAxiom',
665
+ properties: 'properties'
666
+ } as const;
667
+
668
+ export function isKeyAxiom(item: unknown): item is KeyAxiom {
669
+ return reflection.isInstance(item, KeyAxiom.$type);
670
+ }
671
+
672
+ export type Literal = BooleanLiteral | DecimalLiteral | DoubleLiteral | IntegerLiteral | QuotedLiteral;
673
+
674
+ export const Literal = {
675
+ $type: 'Literal'
676
+ } as const;
677
+
678
+ export function isLiteral(item: unknown): item is Literal {
679
+ return reflection.isInstance(item, Literal.$type);
680
+ }
681
+
682
+ export interface LiteralEnumerationAxiom extends langium.AstNode {
683
+ readonly $container: Scalar;
684
+ readonly $type: 'LiteralEnumerationAxiom';
685
+ literals: Array<Literal>;
686
+ }
687
+
688
+ export const LiteralEnumerationAxiom = {
689
+ $type: 'LiteralEnumerationAxiom',
690
+ literals: 'literals'
691
+ } as const;
692
+
693
+ export function isLiteralEnumerationAxiom(item: unknown): item is LiteralEnumerationAxiom {
694
+ return reflection.isInstance(item, LiteralEnumerationAxiom.$type);
695
+ }
696
+
697
+ export type Member = DescriptionMember | Statement | VocabularyMember;
698
+
699
+ export const Member = {
700
+ $type: 'Member'
701
+ } as const;
702
+
703
+ export function isMember(item: unknown): item is Member {
704
+ return reflection.isInstance(item, Member.$type);
705
+ }
706
+
707
+ export type NamedInstance = ConceptInstance | RelationInstance;
708
+
709
+ export const NamedInstance = {
710
+ $type: 'NamedInstance'
711
+ } as const;
712
+
713
+ export function isNamedInstance(item: unknown): item is NamedInstance {
714
+ return reflection.isInstance(item, NamedInstance.$type);
715
+ }
716
+
717
+ export type Ontology = DescriptionBox | VocabularyBox;
718
+
719
+ export const Ontology = {
720
+ $type: 'Ontology'
721
+ } as const;
722
+
723
+ export function isOntology(item: unknown): item is Ontology {
724
+ return reflection.isInstance(item, Ontology.$type);
725
+ }
726
+
727
+ export type Predicate = BinaryPredicate | BuiltInPredicate | UnaryPredicate;
728
+
729
+ export const Predicate = {
730
+ $type: 'Predicate'
731
+ } as const;
732
+
733
+ export function isPredicate(item: unknown): item is Predicate {
734
+ return reflection.isInstance(item, Predicate.$type);
735
+ }
736
+
737
+ export type Property = SemanticProperty | SpecializableProperty;
738
+
739
+ export const Property = {
740
+ $type: 'Property'
741
+ } as const;
742
+
743
+ export function isProperty(item: unknown): item is Property {
744
+ return reflection.isInstance(item, Property.$type);
745
+ }
746
+
747
+ export interface PropertyCardinalityRestrictionAxiom extends langium.AstNode {
748
+ readonly $container: Aspect | Concept | EntityEquivalenceAxiom | RelationEntity;
749
+ readonly $type: 'PropertyCardinalityRestrictionAxiom';
750
+ cardinality: UnsignedInteger;
751
+ kind: CardinalityRestrictionKind;
752
+ property: langium.Reference<SemanticProperty>;
753
+ range?: langium.Reference<Type>;
754
+ }
755
+
756
+ export const PropertyCardinalityRestrictionAxiom = {
757
+ $type: 'PropertyCardinalityRestrictionAxiom',
758
+ cardinality: 'cardinality',
759
+ kind: 'kind',
760
+ property: 'property',
761
+ range: 'range'
762
+ } as const;
763
+
764
+ export function isPropertyCardinalityRestrictionAxiom(item: unknown): item is PropertyCardinalityRestrictionAxiom {
765
+ return reflection.isInstance(item, PropertyCardinalityRestrictionAxiom.$type);
766
+ }
767
+
768
+ export interface PropertyEquivalenceAxiom extends langium.AstNode {
769
+ readonly $container: AnnotationProperty | ScalarProperty | UnreifiedRelation;
770
+ readonly $type: 'PropertyEquivalenceAxiom';
771
+ superTerms: Array<langium.Reference<Property>>;
772
+ }
773
+
774
+ export const PropertyEquivalenceAxiom = {
775
+ $type: 'PropertyEquivalenceAxiom',
776
+ superTerms: 'superTerms'
777
+ } as const;
778
+
779
+ export function isPropertyEquivalenceAxiom(item: unknown): item is PropertyEquivalenceAxiom {
780
+ return reflection.isInstance(item, PropertyEquivalenceAxiom.$type);
781
+ }
782
+
783
+ export interface PropertyPredicate extends langium.AstNode {
784
+ readonly $container: Rule;
785
+ readonly $type: 'PropertyPredicate';
786
+ argument1: Argument;
787
+ argument2: Argument;
788
+ property: langium.Reference<Property>;
789
+ }
790
+
791
+ export const PropertyPredicate = {
792
+ $type: 'PropertyPredicate',
793
+ argument1: 'argument1',
794
+ argument2: 'argument2',
795
+ property: 'property'
796
+ } as const;
797
+
798
+ export function isPropertyPredicate(item: unknown): item is PropertyPredicate {
799
+ return reflection.isInstance(item, PropertyPredicate.$type);
800
+ }
801
+
802
+ export interface PropertyRangeRestrictionAxiom extends langium.AstNode {
803
+ readonly $container: Aspect | Concept | EntityEquivalenceAxiom | RelationEntity;
804
+ readonly $type: 'PropertyRangeRestrictionAxiom';
805
+ kind: RangeRestrictionKind;
806
+ property: langium.Reference<SemanticProperty>;
807
+ range: langium.Reference<Type>;
808
+ }
809
+
810
+ export const PropertyRangeRestrictionAxiom = {
811
+ $type: 'PropertyRangeRestrictionAxiom',
812
+ kind: 'kind',
813
+ property: 'property',
814
+ range: 'range'
815
+ } as const;
816
+
817
+ export function isPropertyRangeRestrictionAxiom(item: unknown): item is PropertyRangeRestrictionAxiom {
818
+ return reflection.isInstance(item, PropertyRangeRestrictionAxiom.$type);
819
+ }
820
+
821
+ export type PropertyRestrictionAxiom = PropertyCardinalityRestrictionAxiom | PropertyRangeRestrictionAxiom | PropertySelfRestrictionAxiom | PropertyValueRestrictionAxiom;
822
+
823
+ export const PropertyRestrictionAxiom = {
824
+ $type: 'PropertyRestrictionAxiom'
825
+ } as const;
826
+
827
+ export function isPropertyRestrictionAxiom(item: unknown): item is PropertyRestrictionAxiom {
828
+ return reflection.isInstance(item, PropertyRestrictionAxiom.$type);
829
+ }
830
+
831
+ export interface PropertySelfRestrictionAxiom extends langium.AstNode {
832
+ readonly $container: Aspect | Concept | EntityEquivalenceAxiom | RelationEntity;
833
+ readonly $type: 'PropertySelfRestrictionAxiom';
834
+ property: langium.Reference<SemanticProperty>;
835
+ }
836
+
837
+ export const PropertySelfRestrictionAxiom = {
838
+ $type: 'PropertySelfRestrictionAxiom',
839
+ property: 'property'
840
+ } as const;
841
+
842
+ export function isPropertySelfRestrictionAxiom(item: unknown): item is PropertySelfRestrictionAxiom {
843
+ return reflection.isInstance(item, PropertySelfRestrictionAxiom.$type);
844
+ }
845
+
846
+ export interface PropertyValueAssertion extends langium.AstNode {
847
+ readonly $container: AnonymousConceptInstance | AnonymousRelationInstance | ConceptInstance | RelationInstance;
848
+ readonly $type: 'PropertyValueAssertion';
849
+ containedValues: Array<AnonymousInstance>;
850
+ literalValues: Array<Literal>;
851
+ property: langium.Reference<SemanticProperty>;
852
+ referencedValues: Array<langium.Reference<NamedInstance>>;
853
+ }
854
+
855
+ export const PropertyValueAssertion = {
856
+ $type: 'PropertyValueAssertion',
857
+ containedValues: 'containedValues',
858
+ literalValues: 'literalValues',
859
+ property: 'property',
860
+ referencedValues: 'referencedValues'
861
+ } as const;
862
+
863
+ export function isPropertyValueAssertion(item: unknown): item is PropertyValueAssertion {
864
+ return reflection.isInstance(item, PropertyValueAssertion.$type);
865
+ }
866
+
867
+ export interface PropertyValueRestrictionAxiom extends langium.AstNode {
868
+ readonly $container: Aspect | Concept | EntityEquivalenceAxiom | RelationEntity;
869
+ readonly $type: 'PropertyValueRestrictionAxiom';
870
+ containedValue?: AnonymousInstance;
871
+ literalValue?: Literal;
872
+ property: langium.Reference<SemanticProperty>;
873
+ referencedValue?: langium.Reference<NamedInstance>;
874
+ }
875
+
876
+ export const PropertyValueRestrictionAxiom = {
877
+ $type: 'PropertyValueRestrictionAxiom',
878
+ containedValue: 'containedValue',
879
+ literalValue: 'literalValue',
880
+ property: 'property',
881
+ referencedValue: 'referencedValue'
882
+ } as const;
883
+
884
+ export function isPropertyValueRestrictionAxiom(item: unknown): item is PropertyValueRestrictionAxiom {
885
+ return reflection.isInstance(item, PropertyValueRestrictionAxiom.$type);
886
+ }
887
+
888
+ export interface QuotedLiteral extends langium.AstNode {
889
+ readonly $container: Annotation | Argument | LiteralEnumerationAxiom | PropertyValueAssertion | PropertyValueRestrictionAxiom | ScalarEquivalenceAxiom;
890
+ readonly $type: 'QuotedLiteral';
891
+ langTag?: string;
892
+ type?: langium.Reference<Scalar>;
893
+ value: string;
894
+ }
895
+
896
+ export const QuotedLiteral = {
897
+ $type: 'QuotedLiteral',
898
+ langTag: 'langTag',
899
+ type: 'type',
900
+ value: 'value'
901
+ } as const;
902
+
903
+ export function isQuotedLiteral(item: unknown): item is QuotedLiteral {
904
+ return reflection.isInstance(item, QuotedLiteral.$type);
905
+ }
906
+
907
+ export type RangeRestrictionKind = 'all' | 'some';
908
+
909
+ export function isRangeRestrictionKind(item: unknown): item is RangeRestrictionKind {
910
+ return item === 'all' || item === 'some';
911
+ }
912
+
913
+ export type Ref = string;
914
+
915
+ export function isRef(item: unknown): item is Ref {
916
+ return (typeof item === 'string' && (/(?:((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%]))((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%])|\$)*):(?:((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%]))((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%])|\$)*)/.test(item) || /\^?(?:((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%]))((?:[a-zA-Z])|(?:[0-9])|(?:[-_.~%])|\$)*)/.test(item) || /<[^>\s]*>/.test(item)));
917
+ }
918
+
919
+ export type Relation = ForwardRelation | ReverseRelation | UnreifiedRelation;
920
+
921
+ export const Relation = {
922
+ $type: 'Relation'
923
+ } as const;
924
+
925
+ export function isRelation(item: unknown): item is Relation {
926
+ return reflection.isInstance(item, Relation.$type);
927
+ }
928
+
929
+ export type RelationBase = RelationEntity | UnreifiedRelation;
930
+
931
+ export const RelationBase = {
932
+ $type: 'RelationBase'
933
+ } as const;
934
+
935
+ export function isRelationBase(item: unknown): item is RelationBase {
936
+ return reflection.isInstance(item, RelationBase.$type);
937
+ }
938
+
939
+ export interface RelationEntity extends langium.AstNode {
940
+ readonly $container: Vocabulary;
941
+ readonly $type: 'RelationEntity';
942
+ asymmetric: boolean;
943
+ forwardRelation?: ForwardRelation;
944
+ functional: boolean;
945
+ inverseFunctional: boolean;
946
+ irreflexive: boolean;
947
+ name?: string;
948
+ ownedAnnotations: Array<Annotation>;
949
+ ownedEquivalences: Array<EntityEquivalenceAxiom>;
950
+ ownedKeys: Array<KeyAxiom>;
951
+ ownedPropertyRestrictions: Array<PropertyRestrictionAxiom>;
952
+ ownedSpecializations: Array<SpecializationAxiom>;
953
+ ref?: langium.Reference<RelationEntity>;
954
+ reflexive: boolean;
955
+ reverseRelation?: ReverseRelation;
956
+ sources: Array<langium.Reference<Entity>>;
957
+ symmetric: boolean;
958
+ targets: Array<langium.Reference<Entity>>;
959
+ transitive: boolean;
960
+ }
961
+
962
+ export const RelationEntity = {
963
+ $type: 'RelationEntity',
964
+ asymmetric: 'asymmetric',
965
+ forwardRelation: 'forwardRelation',
966
+ functional: 'functional',
967
+ inverseFunctional: 'inverseFunctional',
968
+ irreflexive: 'irreflexive',
969
+ name: 'name',
970
+ ownedAnnotations: 'ownedAnnotations',
971
+ ownedEquivalences: 'ownedEquivalences',
972
+ ownedKeys: 'ownedKeys',
973
+ ownedPropertyRestrictions: 'ownedPropertyRestrictions',
974
+ ownedSpecializations: 'ownedSpecializations',
975
+ ref: 'ref',
976
+ reflexive: 'reflexive',
977
+ reverseRelation: 'reverseRelation',
978
+ sources: 'sources',
979
+ symmetric: 'symmetric',
980
+ targets: 'targets',
981
+ transitive: 'transitive'
982
+ } as const;
983
+
984
+ export function isRelationEntity(item: unknown): item is RelationEntity {
985
+ return reflection.isInstance(item, RelationEntity.$type);
986
+ }
987
+
988
+ export interface RelationEntityPredicate extends langium.AstNode {
989
+ readonly $container: Rule;
990
+ readonly $type: 'RelationEntityPredicate';
991
+ argument: Argument;
992
+ argument1: Argument;
993
+ argument2: Argument;
994
+ type: langium.Reference<RelationEntity>;
995
+ }
996
+
997
+ export const RelationEntityPredicate = {
998
+ $type: 'RelationEntityPredicate',
999
+ argument: 'argument',
1000
+ argument1: 'argument1',
1001
+ argument2: 'argument2',
1002
+ type: 'type'
1003
+ } as const;
1004
+
1005
+ export function isRelationEntityPredicate(item: unknown): item is RelationEntityPredicate {
1006
+ return reflection.isInstance(item, RelationEntityPredicate.$type);
1007
+ }
1008
+
1009
+ export interface RelationInstance extends langium.AstNode {
1010
+ readonly $container: Description;
1011
+ readonly $type: 'RelationInstance';
1012
+ name?: string;
1013
+ ownedAnnotations: Array<Annotation>;
1014
+ ownedPropertyValues: Array<PropertyValueAssertion>;
1015
+ ownedTypes: Array<TypeAssertion>;
1016
+ ref?: langium.Reference<RelationInstance>;
1017
+ sources: Array<langium.Reference<NamedInstance>>;
1018
+ targets: Array<langium.Reference<NamedInstance>>;
1019
+ }
1020
+
1021
+ export const RelationInstance = {
1022
+ $type: 'RelationInstance',
1023
+ name: 'name',
1024
+ ownedAnnotations: 'ownedAnnotations',
1025
+ ownedPropertyValues: 'ownedPropertyValues',
1026
+ ownedTypes: 'ownedTypes',
1027
+ ref: 'ref',
1028
+ sources: 'sources',
1029
+ targets: 'targets'
1030
+ } as const;
1031
+
1032
+ export function isRelationInstance(item: unknown): item is RelationInstance {
1033
+ return reflection.isInstance(item, RelationInstance.$type);
1034
+ }
1035
+
1036
+ export interface ReverseRelation extends langium.AstNode {
1037
+ readonly $container: RelationEntity | UnreifiedRelation;
1038
+ readonly $type: 'ReverseRelation';
1039
+ name: string;
1040
+ ownedAnnotations: Array<Annotation>;
1041
+ }
1042
+
1043
+ export const ReverseRelation = {
1044
+ $type: 'ReverseRelation',
1045
+ name: 'name',
1046
+ ownedAnnotations: 'ownedAnnotations'
1047
+ } as const;
1048
+
1049
+ export function isReverseRelation(item: unknown): item is ReverseRelation {
1050
+ return reflection.isInstance(item, ReverseRelation.$type);
1051
+ }
1052
+
1053
+ export interface Rule extends langium.AstNode {
1054
+ readonly $container: Vocabulary;
1055
+ readonly $type: 'Rule';
1056
+ antecedent: Array<Predicate>;
1057
+ consequent: Array<Predicate>;
1058
+ name?: string;
1059
+ ownedAnnotations: Array<Annotation>;
1060
+ ref?: langium.Reference<Rule>;
1061
+ }
1062
+
1063
+ export const Rule = {
1064
+ $type: 'Rule',
1065
+ antecedent: 'antecedent',
1066
+ consequent: 'consequent',
1067
+ name: 'name',
1068
+ ownedAnnotations: 'ownedAnnotations',
1069
+ ref: 'ref'
1070
+ } as const;
1071
+
1072
+ export function isRule(item: unknown): item is Rule {
1073
+ return reflection.isInstance(item, Rule.$type);
1074
+ }
1075
+
1076
+ export interface SameAsPredicate extends langium.AstNode {
1077
+ readonly $container: Rule;
1078
+ readonly $type: 'SameAsPredicate';
1079
+ argument1: Argument;
1080
+ argument2: Argument;
1081
+ }
1082
+
1083
+ export const SameAsPredicate = {
1084
+ $type: 'SameAsPredicate',
1085
+ argument1: 'argument1',
1086
+ argument2: 'argument2'
1087
+ } as const;
1088
+
1089
+ export function isSameAsPredicate(item: unknown): item is SameAsPredicate {
1090
+ return reflection.isInstance(item, SameAsPredicate.$type);
1091
+ }
1092
+
1093
+ export interface Scalar extends langium.AstNode {
1094
+ readonly $container: Vocabulary;
1095
+ readonly $type: 'Scalar';
1096
+ name?: string;
1097
+ ownedAnnotations: Array<Annotation>;
1098
+ ownedEnumeration?: LiteralEnumerationAxiom;
1099
+ ownedEquivalences: Array<ScalarEquivalenceAxiom>;
1100
+ ownedSpecializations: Array<SpecializationAxiom>;
1101
+ ref?: langium.Reference<Scalar>;
1102
+ }
1103
+
1104
+ export const Scalar = {
1105
+ $type: 'Scalar',
1106
+ name: 'name',
1107
+ ownedAnnotations: 'ownedAnnotations',
1108
+ ownedEnumeration: 'ownedEnumeration',
1109
+ ownedEquivalences: 'ownedEquivalences',
1110
+ ownedSpecializations: 'ownedSpecializations',
1111
+ ref: 'ref'
1112
+ } as const;
1113
+
1114
+ export function isScalar(item: unknown): item is Scalar {
1115
+ return reflection.isInstance(item, Scalar.$type);
1116
+ }
1117
+
1118
+ export interface ScalarEquivalenceAxiom extends langium.AstNode {
1119
+ readonly $container: Scalar;
1120
+ readonly $type: 'ScalarEquivalenceAxiom';
1121
+ language: Array<string>;
1122
+ length: Array<UnsignedInteger>;
1123
+ maxExclusive: Array<Literal>;
1124
+ maxInclusive: Array<Literal>;
1125
+ maxLength: Array<UnsignedInteger>;
1126
+ minExclusive: Array<Literal>;
1127
+ minInclusive: Array<Literal>;
1128
+ minLength: Array<UnsignedInteger>;
1129
+ pattern: Array<string>;
1130
+ superTerms: Array<langium.Reference<Scalar>>;
1131
+ }
1132
+
1133
+ export const ScalarEquivalenceAxiom = {
1134
+ $type: 'ScalarEquivalenceAxiom',
1135
+ language: 'language',
1136
+ length: 'length',
1137
+ maxExclusive: 'maxExclusive',
1138
+ maxInclusive: 'maxInclusive',
1139
+ maxLength: 'maxLength',
1140
+ minExclusive: 'minExclusive',
1141
+ minInclusive: 'minInclusive',
1142
+ minLength: 'minLength',
1143
+ pattern: 'pattern',
1144
+ superTerms: 'superTerms'
1145
+ } as const;
1146
+
1147
+ export function isScalarEquivalenceAxiom(item: unknown): item is ScalarEquivalenceAxiom {
1148
+ return reflection.isInstance(item, ScalarEquivalenceAxiom.$type);
1149
+ }
1150
+
1151
+ export interface ScalarProperty extends langium.AstNode {
1152
+ readonly $container: Vocabulary;
1153
+ readonly $type: 'ScalarProperty';
1154
+ domains: Array<langium.Reference<Entity>>;
1155
+ functional: boolean;
1156
+ name?: string;
1157
+ ownedAnnotations: Array<Annotation>;
1158
+ ownedEquivalences: Array<PropertyEquivalenceAxiom>;
1159
+ ownedSpecializations: Array<SpecializationAxiom>;
1160
+ ranges: Array<langium.Reference<Scalar>>;
1161
+ ref?: langium.Reference<ScalarProperty>;
1162
+ }
1163
+
1164
+ export const ScalarProperty = {
1165
+ $type: 'ScalarProperty',
1166
+ domains: 'domains',
1167
+ functional: 'functional',
1168
+ name: 'name',
1169
+ ownedAnnotations: 'ownedAnnotations',
1170
+ ownedEquivalences: 'ownedEquivalences',
1171
+ ownedSpecializations: 'ownedSpecializations',
1172
+ ranges: 'ranges',
1173
+ ref: 'ref'
1174
+ } as const;
1175
+
1176
+ export function isScalarProperty(item: unknown): item is ScalarProperty {
1177
+ return reflection.isInstance(item, ScalarProperty.$type);
1178
+ }
1179
+
1180
+ export type SemanticProperty = Relation | ScalarProperty;
1181
+
1182
+ export const SemanticProperty = {
1183
+ $type: 'SemanticProperty'
1184
+ } as const;
1185
+
1186
+ export function isSemanticProperty(item: unknown): item is SemanticProperty {
1187
+ return reflection.isInstance(item, SemanticProperty.$type);
1188
+ }
1189
+
1190
+ export type SpecializableProperty = AnnotationProperty | ScalarProperty | UnreifiedRelation;
1191
+
1192
+ export const SpecializableProperty = {
1193
+ $type: 'SpecializableProperty'
1194
+ } as const;
1195
+
1196
+ export function isSpecializableProperty(item: unknown): item is SpecializableProperty {
1197
+ return reflection.isInstance(item, SpecializableProperty.$type);
1198
+ }
1199
+
1200
+ export type SpecializableTerm = SpecializableProperty | Type;
1201
+
1202
+ export const SpecializableTerm = {
1203
+ $type: 'SpecializableTerm'
1204
+ } as const;
1205
+
1206
+ export function isSpecializableTerm(item: unknown): item is SpecializableTerm {
1207
+ return reflection.isInstance(item, SpecializableTerm.$type);
1208
+ }
1209
+
1210
+ export interface SpecializationAxiom extends langium.AstNode {
1211
+ readonly $container: AnnotationProperty | Aspect | Concept | RelationEntity | Scalar | ScalarProperty | UnreifiedRelation;
1212
+ readonly $type: 'SpecializationAxiom';
1213
+ superTerm: langium.Reference<Term>;
1214
+ }
1215
+
1216
+ export const SpecializationAxiom = {
1217
+ $type: 'SpecializationAxiom',
1218
+ superTerm: 'superTerm'
1219
+ } as const;
1220
+
1221
+ export function isSpecializationAxiom(item: unknown): item is SpecializationAxiom {
1222
+ return reflection.isInstance(item, SpecializationAxiom.$type);
1223
+ }
1224
+
1225
+ export type Statement = DescriptionStatement | VocabularyStatement;
1226
+
1227
+ export const Statement = {
1228
+ $type: 'Statement'
1229
+ } as const;
1230
+
1231
+ export function isStatement(item: unknown): item is Statement {
1232
+ return reflection.isInstance(item, Statement.$type);
1233
+ }
1234
+
1235
+ export type Term = Property | RelationBase | SpecializableTerm;
1236
+
1237
+ export const Term = {
1238
+ $type: 'Term'
1239
+ } as const;
1240
+
1241
+ export function isTerm(item: unknown): item is Term {
1242
+ return reflection.isInstance(item, Term.$type);
1243
+ }
1244
+
1245
+ export type Type = Entity | Scalar;
1246
+
1247
+ export const Type = {
1248
+ $type: 'Type'
1249
+ } as const;
1250
+
1251
+ export function isType(item: unknown): item is Type {
1252
+ return reflection.isInstance(item, Type.$type);
1253
+ }
1254
+
1255
+ export interface TypeAssertion extends langium.AstNode {
1256
+ readonly $container: ConceptInstance | RelationInstance;
1257
+ readonly $type: 'TypeAssertion';
1258
+ type: langium.Reference<Entity>;
1259
+ }
1260
+
1261
+ export const TypeAssertion = {
1262
+ $type: 'TypeAssertion',
1263
+ type: 'type'
1264
+ } as const;
1265
+
1266
+ export function isTypeAssertion(item: unknown): item is TypeAssertion {
1267
+ return reflection.isInstance(item, TypeAssertion.$type);
1268
+ }
1269
+
1270
+ export interface TypePredicate extends langium.AstNode {
1271
+ readonly $container: Rule;
1272
+ readonly $type: 'TypePredicate';
1273
+ argument: Argument;
1274
+ type: langium.Reference<Type>;
1275
+ }
1276
+
1277
+ export const TypePredicate = {
1278
+ $type: 'TypePredicate',
1279
+ argument: 'argument',
1280
+ type: 'type'
1281
+ } as const;
1282
+
1283
+ export function isTypePredicate(item: unknown): item is TypePredicate {
1284
+ return reflection.isInstance(item, TypePredicate.$type);
1285
+ }
1286
+
1287
+ export type UnaryPredicate = RelationEntityPredicate | TypePredicate;
1288
+
1289
+ export const UnaryPredicate = {
1290
+ $type: 'UnaryPredicate'
1291
+ } as const;
1292
+
1293
+ export function isUnaryPredicate(item: unknown): item is UnaryPredicate {
1294
+ return reflection.isInstance(item, UnaryPredicate.$type);
1295
+ }
1296
+
1297
+ export interface UnreifiedRelation extends langium.AstNode {
1298
+ readonly $container: Vocabulary;
1299
+ readonly $type: 'UnreifiedRelation';
1300
+ asymmetric: boolean;
1301
+ functional: boolean;
1302
+ inverseFunctional: boolean;
1303
+ irreflexive: boolean;
1304
+ name?: string;
1305
+ ownedAnnotations: Array<Annotation>;
1306
+ ownedEquivalences: Array<PropertyEquivalenceAxiom>;
1307
+ ownedSpecializations: Array<SpecializationAxiom>;
1308
+ ref?: langium.Reference<Relation>;
1309
+ reflexive: boolean;
1310
+ reverseRelation?: ReverseRelation;
1311
+ sources: Array<langium.Reference<Entity>>;
1312
+ symmetric: boolean;
1313
+ targets: Array<langium.Reference<Entity>>;
1314
+ transitive: boolean;
1315
+ }
1316
+
1317
+ export const UnreifiedRelation = {
1318
+ $type: 'UnreifiedRelation',
1319
+ asymmetric: 'asymmetric',
1320
+ functional: 'functional',
1321
+ inverseFunctional: 'inverseFunctional',
1322
+ irreflexive: 'irreflexive',
1323
+ name: 'name',
1324
+ ownedAnnotations: 'ownedAnnotations',
1325
+ ownedEquivalences: 'ownedEquivalences',
1326
+ ownedSpecializations: 'ownedSpecializations',
1327
+ ref: 'ref',
1328
+ reflexive: 'reflexive',
1329
+ reverseRelation: 'reverseRelation',
1330
+ sources: 'sources',
1331
+ symmetric: 'symmetric',
1332
+ targets: 'targets',
1333
+ transitive: 'transitive'
1334
+ } as const;
1335
+
1336
+ export function isUnreifiedRelation(item: unknown): item is UnreifiedRelation {
1337
+ return reflection.isInstance(item, UnreifiedRelation.$type);
1338
+ }
1339
+
1340
+ export type UnsignedInteger = number;
1341
+
1342
+ export function isUnsignedInteger(item: unknown): item is UnsignedInteger {
1343
+ return typeof item === 'number';
1344
+ }
1345
+
1346
+ export interface Vocabulary extends langium.AstNode {
1347
+ readonly $type: 'Vocabulary';
1348
+ namespace: string;
1349
+ ownedAnnotations: Array<Annotation>;
1350
+ ownedImports: Array<Import>;
1351
+ ownedStatements: Array<VocabularyStatement>;
1352
+ prefix: string;
1353
+ }
1354
+
1355
+ export const Vocabulary = {
1356
+ $type: 'Vocabulary',
1357
+ namespace: 'namespace',
1358
+ ownedAnnotations: 'ownedAnnotations',
1359
+ ownedImports: 'ownedImports',
1360
+ ownedStatements: 'ownedStatements',
1361
+ prefix: 'prefix'
1362
+ } as const;
1363
+
1364
+ export function isVocabulary(item: unknown): item is Vocabulary {
1365
+ return reflection.isInstance(item, Vocabulary.$type);
1366
+ }
1367
+
1368
+ export type VocabularyBox = Vocabulary | VocabularyBundle;
1369
+
1370
+ export const VocabularyBox = {
1371
+ $type: 'VocabularyBox'
1372
+ } as const;
1373
+
1374
+ export function isVocabularyBox(item: unknown): item is VocabularyBox {
1375
+ return reflection.isInstance(item, VocabularyBox.$type);
1376
+ }
1377
+
1378
+ export interface VocabularyBundle extends langium.AstNode {
1379
+ readonly $type: 'VocabularyBundle';
1380
+ namespace: string;
1381
+ ownedAnnotations: Array<Annotation>;
1382
+ ownedImports: Array<Import>;
1383
+ prefix: string;
1384
+ }
1385
+
1386
+ export const VocabularyBundle = {
1387
+ $type: 'VocabularyBundle',
1388
+ namespace: 'namespace',
1389
+ ownedAnnotations: 'ownedAnnotations',
1390
+ ownedImports: 'ownedImports',
1391
+ prefix: 'prefix'
1392
+ } as const;
1393
+
1394
+ export function isVocabularyBundle(item: unknown): item is VocabularyBundle {
1395
+ return reflection.isInstance(item, VocabularyBundle.$type);
1396
+ }
1397
+
1398
+ export type VocabularyMember = Term | VocabularyStatement;
1399
+
1400
+ export const VocabularyMember = {
1401
+ $type: 'VocabularyMember'
1402
+ } as const;
1403
+
1404
+ export function isVocabularyMember(item: unknown): item is VocabularyMember {
1405
+ return reflection.isInstance(item, VocabularyMember.$type);
1406
+ }
1407
+
1408
+ export type VocabularyStatement = BuiltIn | Rule | SpecializableTerm;
1409
+
1410
+ export const VocabularyStatement = {
1411
+ $type: 'VocabularyStatement'
1412
+ } as const;
1413
+
1414
+ export function isVocabularyStatement(item: unknown): item is VocabularyStatement {
1415
+ return reflection.isInstance(item, VocabularyStatement.$type);
1416
+ }
1417
+
1418
+ export type OmlAstType = {
1419
+ Annotation: Annotation
1420
+ AnnotationProperty: AnnotationProperty
1421
+ AnonymousConceptInstance: AnonymousConceptInstance
1422
+ AnonymousInstance: AnonymousInstance
1423
+ AnonymousRelationInstance: AnonymousRelationInstance
1424
+ Argument: Argument
1425
+ Aspect: Aspect
1426
+ Assertion: Assertion
1427
+ Axiom: Axiom
1428
+ BinaryPredicate: BinaryPredicate
1429
+ BooleanLiteral: BooleanLiteral
1430
+ BuiltIn: BuiltIn
1431
+ BuiltInPredicate: BuiltInPredicate
1432
+ Concept: Concept
1433
+ ConceptInstance: ConceptInstance
1434
+ DecimalLiteral: DecimalLiteral
1435
+ Description: Description
1436
+ DescriptionBox: DescriptionBox
1437
+ DescriptionBundle: DescriptionBundle
1438
+ DescriptionMember: DescriptionMember
1439
+ DescriptionStatement: DescriptionStatement
1440
+ DifferentFromPredicate: DifferentFromPredicate
1441
+ DoubleLiteral: DoubleLiteral
1442
+ Element: Element
1443
+ Entity: Entity
1444
+ EntityEquivalenceAxiom: EntityEquivalenceAxiom
1445
+ EquivalenceAxiom: EquivalenceAxiom
1446
+ ForwardRelation: ForwardRelation
1447
+ IdentifiedElement: IdentifiedElement
1448
+ Import: Import
1449
+ Instance: Instance
1450
+ InstanceEnumerationAxiom: InstanceEnumerationAxiom
1451
+ IntegerLiteral: IntegerLiteral
1452
+ KeyAxiom: KeyAxiom
1453
+ Literal: Literal
1454
+ LiteralEnumerationAxiom: LiteralEnumerationAxiom
1455
+ Member: Member
1456
+ NamedInstance: NamedInstance
1457
+ Ontology: Ontology
1458
+ Predicate: Predicate
1459
+ Property: Property
1460
+ PropertyCardinalityRestrictionAxiom: PropertyCardinalityRestrictionAxiom
1461
+ PropertyEquivalenceAxiom: PropertyEquivalenceAxiom
1462
+ PropertyPredicate: PropertyPredicate
1463
+ PropertyRangeRestrictionAxiom: PropertyRangeRestrictionAxiom
1464
+ PropertyRestrictionAxiom: PropertyRestrictionAxiom
1465
+ PropertySelfRestrictionAxiom: PropertySelfRestrictionAxiom
1466
+ PropertyValueAssertion: PropertyValueAssertion
1467
+ PropertyValueRestrictionAxiom: PropertyValueRestrictionAxiom
1468
+ QuotedLiteral: QuotedLiteral
1469
+ Relation: Relation
1470
+ RelationBase: RelationBase
1471
+ RelationEntity: RelationEntity
1472
+ RelationEntityPredicate: RelationEntityPredicate
1473
+ RelationInstance: RelationInstance
1474
+ ReverseRelation: ReverseRelation
1475
+ Rule: Rule
1476
+ SameAsPredicate: SameAsPredicate
1477
+ Scalar: Scalar
1478
+ ScalarEquivalenceAxiom: ScalarEquivalenceAxiom
1479
+ ScalarProperty: ScalarProperty
1480
+ SemanticProperty: SemanticProperty
1481
+ SpecializableProperty: SpecializableProperty
1482
+ SpecializableTerm: SpecializableTerm
1483
+ SpecializationAxiom: SpecializationAxiom
1484
+ Statement: Statement
1485
+ Term: Term
1486
+ Type: Type
1487
+ TypeAssertion: TypeAssertion
1488
+ TypePredicate: TypePredicate
1489
+ UnaryPredicate: UnaryPredicate
1490
+ UnreifiedRelation: UnreifiedRelation
1491
+ Vocabulary: Vocabulary
1492
+ VocabularyBox: VocabularyBox
1493
+ VocabularyBundle: VocabularyBundle
1494
+ VocabularyMember: VocabularyMember
1495
+ VocabularyStatement: VocabularyStatement
1496
+ }
1497
+
1498
+ export class OmlAstReflection extends langium.AbstractAstReflection {
1499
+ override readonly types = {
1500
+ Annotation: {
1501
+ name: Annotation.$type,
1502
+ properties: {
1503
+ literalValues: {
1504
+ name: Annotation.literalValues,
1505
+ defaultValue: []
1506
+ },
1507
+ property: {
1508
+ name: Annotation.property,
1509
+ referenceType: AnnotationProperty.$type
1510
+ },
1511
+ referencedValues: {
1512
+ name: Annotation.referencedValues,
1513
+ defaultValue: [],
1514
+ referenceType: Member.$type
1515
+ }
1516
+ },
1517
+ superTypes: [Element.$type]
1518
+ },
1519
+ AnnotationProperty: {
1520
+ name: AnnotationProperty.$type,
1521
+ properties: {
1522
+ name: {
1523
+ name: AnnotationProperty.name
1524
+ },
1525
+ ownedAnnotations: {
1526
+ name: AnnotationProperty.ownedAnnotations,
1527
+ defaultValue: []
1528
+ },
1529
+ ownedEquivalences: {
1530
+ name: AnnotationProperty.ownedEquivalences,
1531
+ defaultValue: []
1532
+ },
1533
+ ownedSpecializations: {
1534
+ name: AnnotationProperty.ownedSpecializations,
1535
+ defaultValue: []
1536
+ },
1537
+ ref: {
1538
+ name: AnnotationProperty.ref,
1539
+ referenceType: AnnotationProperty.$type
1540
+ }
1541
+ },
1542
+ superTypes: [SpecializableProperty.$type]
1543
+ },
1544
+ AnonymousConceptInstance: {
1545
+ name: AnonymousConceptInstance.$type,
1546
+ properties: {
1547
+ ownedPropertyValues: {
1548
+ name: AnonymousConceptInstance.ownedPropertyValues,
1549
+ defaultValue: []
1550
+ },
1551
+ type: {
1552
+ name: AnonymousConceptInstance.type,
1553
+ referenceType: Concept.$type
1554
+ }
1555
+ },
1556
+ superTypes: [AnonymousInstance.$type]
1557
+ },
1558
+ AnonymousInstance: {
1559
+ name: AnonymousInstance.$type,
1560
+ properties: {
1561
+ },
1562
+ superTypes: [Instance.$type]
1563
+ },
1564
+ AnonymousRelationInstance: {
1565
+ name: AnonymousRelationInstance.$type,
1566
+ properties: {
1567
+ ownedPropertyValues: {
1568
+ name: AnonymousRelationInstance.ownedPropertyValues,
1569
+ defaultValue: []
1570
+ },
1571
+ target: {
1572
+ name: AnonymousRelationInstance.target,
1573
+ referenceType: NamedInstance.$type
1574
+ }
1575
+ },
1576
+ superTypes: [AnonymousInstance.$type]
1577
+ },
1578
+ Argument: {
1579
+ name: Argument.$type,
1580
+ properties: {
1581
+ instance: {
1582
+ name: Argument.instance,
1583
+ referenceType: NamedInstance.$type
1584
+ },
1585
+ literal: {
1586
+ name: Argument.literal
1587
+ },
1588
+ variable: {
1589
+ name: Argument.variable
1590
+ }
1591
+ },
1592
+ superTypes: [Element.$type]
1593
+ },
1594
+ Aspect: {
1595
+ name: Aspect.$type,
1596
+ properties: {
1597
+ name: {
1598
+ name: Aspect.name
1599
+ },
1600
+ ownedAnnotations: {
1601
+ name: Aspect.ownedAnnotations,
1602
+ defaultValue: []
1603
+ },
1604
+ ownedEquivalences: {
1605
+ name: Aspect.ownedEquivalences,
1606
+ defaultValue: []
1607
+ },
1608
+ ownedKeys: {
1609
+ name: Aspect.ownedKeys,
1610
+ defaultValue: []
1611
+ },
1612
+ ownedPropertyRestrictions: {
1613
+ name: Aspect.ownedPropertyRestrictions,
1614
+ defaultValue: []
1615
+ },
1616
+ ownedSpecializations: {
1617
+ name: Aspect.ownedSpecializations,
1618
+ defaultValue: []
1619
+ },
1620
+ ref: {
1621
+ name: Aspect.ref,
1622
+ referenceType: Aspect.$type
1623
+ }
1624
+ },
1625
+ superTypes: [Entity.$type]
1626
+ },
1627
+ Assertion: {
1628
+ name: Assertion.$type,
1629
+ properties: {
1630
+ },
1631
+ superTypes: [Element.$type]
1632
+ },
1633
+ Axiom: {
1634
+ name: Axiom.$type,
1635
+ properties: {
1636
+ },
1637
+ superTypes: [Element.$type]
1638
+ },
1639
+ BinaryPredicate: {
1640
+ name: BinaryPredicate.$type,
1641
+ properties: {
1642
+ },
1643
+ superTypes: [Predicate.$type]
1644
+ },
1645
+ BooleanLiteral: {
1646
+ name: BooleanLiteral.$type,
1647
+ properties: {
1648
+ value: {
1649
+ name: BooleanLiteral.value
1650
+ }
1651
+ },
1652
+ superTypes: [Literal.$type]
1653
+ },
1654
+ BuiltIn: {
1655
+ name: BuiltIn.$type,
1656
+ properties: {
1657
+ name: {
1658
+ name: BuiltIn.name
1659
+ },
1660
+ ownedAnnotations: {
1661
+ name: BuiltIn.ownedAnnotations,
1662
+ defaultValue: []
1663
+ },
1664
+ ref: {
1665
+ name: BuiltIn.ref,
1666
+ referenceType: BuiltIn.$type
1667
+ }
1668
+ },
1669
+ superTypes: [VocabularyStatement.$type]
1670
+ },
1671
+ BuiltInPredicate: {
1672
+ name: BuiltInPredicate.$type,
1673
+ properties: {
1674
+ arguments: {
1675
+ name: BuiltInPredicate.arguments,
1676
+ defaultValue: []
1677
+ },
1678
+ builtIn: {
1679
+ name: BuiltInPredicate.builtIn,
1680
+ referenceType: BuiltIn.$type
1681
+ }
1682
+ },
1683
+ superTypes: [Predicate.$type]
1684
+ },
1685
+ Concept: {
1686
+ name: Concept.$type,
1687
+ properties: {
1688
+ name: {
1689
+ name: Concept.name
1690
+ },
1691
+ ownedAnnotations: {
1692
+ name: Concept.ownedAnnotations,
1693
+ defaultValue: []
1694
+ },
1695
+ ownedEnumeration: {
1696
+ name: Concept.ownedEnumeration
1697
+ },
1698
+ ownedEquivalences: {
1699
+ name: Concept.ownedEquivalences,
1700
+ defaultValue: []
1701
+ },
1702
+ ownedKeys: {
1703
+ name: Concept.ownedKeys,
1704
+ defaultValue: []
1705
+ },
1706
+ ownedPropertyRestrictions: {
1707
+ name: Concept.ownedPropertyRestrictions,
1708
+ defaultValue: []
1709
+ },
1710
+ ownedSpecializations: {
1711
+ name: Concept.ownedSpecializations,
1712
+ defaultValue: []
1713
+ },
1714
+ ref: {
1715
+ name: Concept.ref,
1716
+ referenceType: Concept.$type
1717
+ }
1718
+ },
1719
+ superTypes: [Entity.$type]
1720
+ },
1721
+ ConceptInstance: {
1722
+ name: ConceptInstance.$type,
1723
+ properties: {
1724
+ name: {
1725
+ name: ConceptInstance.name
1726
+ },
1727
+ ownedAnnotations: {
1728
+ name: ConceptInstance.ownedAnnotations,
1729
+ defaultValue: []
1730
+ },
1731
+ ownedPropertyValues: {
1732
+ name: ConceptInstance.ownedPropertyValues,
1733
+ defaultValue: []
1734
+ },
1735
+ ownedTypes: {
1736
+ name: ConceptInstance.ownedTypes,
1737
+ defaultValue: []
1738
+ },
1739
+ ref: {
1740
+ name: ConceptInstance.ref,
1741
+ referenceType: ConceptInstance.$type
1742
+ }
1743
+ },
1744
+ superTypes: [NamedInstance.$type]
1745
+ },
1746
+ DecimalLiteral: {
1747
+ name: DecimalLiteral.$type,
1748
+ properties: {
1749
+ value: {
1750
+ name: DecimalLiteral.value
1751
+ }
1752
+ },
1753
+ superTypes: [Literal.$type]
1754
+ },
1755
+ Description: {
1756
+ name: Description.$type,
1757
+ properties: {
1758
+ namespace: {
1759
+ name: Description.namespace
1760
+ },
1761
+ ownedAnnotations: {
1762
+ name: Description.ownedAnnotations,
1763
+ defaultValue: []
1764
+ },
1765
+ ownedImports: {
1766
+ name: Description.ownedImports,
1767
+ defaultValue: []
1768
+ },
1769
+ ownedStatements: {
1770
+ name: Description.ownedStatements,
1771
+ defaultValue: []
1772
+ },
1773
+ prefix: {
1774
+ name: Description.prefix
1775
+ }
1776
+ },
1777
+ superTypes: [DescriptionBox.$type]
1778
+ },
1779
+ DescriptionBox: {
1780
+ name: DescriptionBox.$type,
1781
+ properties: {
1782
+ },
1783
+ superTypes: [Ontology.$type]
1784
+ },
1785
+ DescriptionBundle: {
1786
+ name: DescriptionBundle.$type,
1787
+ properties: {
1788
+ namespace: {
1789
+ name: DescriptionBundle.namespace
1790
+ },
1791
+ ownedAnnotations: {
1792
+ name: DescriptionBundle.ownedAnnotations,
1793
+ defaultValue: []
1794
+ },
1795
+ ownedImports: {
1796
+ name: DescriptionBundle.ownedImports,
1797
+ defaultValue: []
1798
+ },
1799
+ prefix: {
1800
+ name: DescriptionBundle.prefix
1801
+ }
1802
+ },
1803
+ superTypes: [DescriptionBox.$type]
1804
+ },
1805
+ DescriptionMember: {
1806
+ name: DescriptionMember.$type,
1807
+ properties: {
1808
+ },
1809
+ superTypes: [Member.$type]
1810
+ },
1811
+ DescriptionStatement: {
1812
+ name: DescriptionStatement.$type,
1813
+ properties: {
1814
+ },
1815
+ superTypes: [DescriptionMember.$type, Statement.$type]
1816
+ },
1817
+ DifferentFromPredicate: {
1818
+ name: DifferentFromPredicate.$type,
1819
+ properties: {
1820
+ argument1: {
1821
+ name: DifferentFromPredicate.argument1
1822
+ },
1823
+ argument2: {
1824
+ name: DifferentFromPredicate.argument2
1825
+ }
1826
+ },
1827
+ superTypes: [BinaryPredicate.$type]
1828
+ },
1829
+ DoubleLiteral: {
1830
+ name: DoubleLiteral.$type,
1831
+ properties: {
1832
+ value: {
1833
+ name: DoubleLiteral.value
1834
+ }
1835
+ },
1836
+ superTypes: [Literal.$type]
1837
+ },
1838
+ Element: {
1839
+ name: Element.$type,
1840
+ properties: {
1841
+ },
1842
+ superTypes: []
1843
+ },
1844
+ Entity: {
1845
+ name: Entity.$type,
1846
+ properties: {
1847
+ },
1848
+ superTypes: [Type.$type]
1849
+ },
1850
+ EntityEquivalenceAxiom: {
1851
+ name: EntityEquivalenceAxiom.$type,
1852
+ properties: {
1853
+ ownedPropertyRestrictions: {
1854
+ name: EntityEquivalenceAxiom.ownedPropertyRestrictions,
1855
+ defaultValue: []
1856
+ },
1857
+ superTerms: {
1858
+ name: EntityEquivalenceAxiom.superTerms,
1859
+ defaultValue: [],
1860
+ referenceType: Entity.$type
1861
+ }
1862
+ },
1863
+ superTypes: [Axiom.$type, EquivalenceAxiom.$type]
1864
+ },
1865
+ EquivalenceAxiom: {
1866
+ name: EquivalenceAxiom.$type,
1867
+ properties: {
1868
+ },
1869
+ superTypes: []
1870
+ },
1871
+ ForwardRelation: {
1872
+ name: ForwardRelation.$type,
1873
+ properties: {
1874
+ name: {
1875
+ name: ForwardRelation.name
1876
+ },
1877
+ ownedAnnotations: {
1878
+ name: ForwardRelation.ownedAnnotations,
1879
+ defaultValue: []
1880
+ }
1881
+ },
1882
+ superTypes: [Relation.$type]
1883
+ },
1884
+ IdentifiedElement: {
1885
+ name: IdentifiedElement.$type,
1886
+ properties: {
1887
+ },
1888
+ superTypes: [Element.$type]
1889
+ },
1890
+ Import: {
1891
+ name: Import.$type,
1892
+ properties: {
1893
+ imported: {
1894
+ name: Import.imported,
1895
+ referenceType: Ontology.$type
1896
+ },
1897
+ kind: {
1898
+ name: Import.kind
1899
+ },
1900
+ prefix: {
1901
+ name: Import.prefix
1902
+ }
1903
+ },
1904
+ superTypes: [Element.$type]
1905
+ },
1906
+ Instance: {
1907
+ name: Instance.$type,
1908
+ properties: {
1909
+ },
1910
+ superTypes: [Element.$type]
1911
+ },
1912
+ InstanceEnumerationAxiom: {
1913
+ name: InstanceEnumerationAxiom.$type,
1914
+ properties: {
1915
+ instances: {
1916
+ name: InstanceEnumerationAxiom.instances,
1917
+ defaultValue: [],
1918
+ referenceType: ConceptInstance.$type
1919
+ }
1920
+ },
1921
+ superTypes: [Axiom.$type]
1922
+ },
1923
+ IntegerLiteral: {
1924
+ name: IntegerLiteral.$type,
1925
+ properties: {
1926
+ value: {
1927
+ name: IntegerLiteral.value
1928
+ }
1929
+ },
1930
+ superTypes: [Literal.$type]
1931
+ },
1932
+ KeyAxiom: {
1933
+ name: KeyAxiom.$type,
1934
+ properties: {
1935
+ properties: {
1936
+ name: KeyAxiom.properties,
1937
+ defaultValue: [],
1938
+ referenceType: Property.$type
1939
+ }
1940
+ },
1941
+ superTypes: [Axiom.$type]
1942
+ },
1943
+ Literal: {
1944
+ name: Literal.$type,
1945
+ properties: {
1946
+ },
1947
+ superTypes: [Element.$type]
1948
+ },
1949
+ LiteralEnumerationAxiom: {
1950
+ name: LiteralEnumerationAxiom.$type,
1951
+ properties: {
1952
+ literals: {
1953
+ name: LiteralEnumerationAxiom.literals,
1954
+ defaultValue: []
1955
+ }
1956
+ },
1957
+ superTypes: [Axiom.$type]
1958
+ },
1959
+ Member: {
1960
+ name: Member.$type,
1961
+ properties: {
1962
+ },
1963
+ superTypes: [IdentifiedElement.$type]
1964
+ },
1965
+ NamedInstance: {
1966
+ name: NamedInstance.$type,
1967
+ properties: {
1968
+ },
1969
+ superTypes: [DescriptionStatement.$type, Instance.$type]
1970
+ },
1971
+ Ontology: {
1972
+ name: Ontology.$type,
1973
+ properties: {
1974
+ },
1975
+ superTypes: [IdentifiedElement.$type]
1976
+ },
1977
+ Predicate: {
1978
+ name: Predicate.$type,
1979
+ properties: {
1980
+ },
1981
+ superTypes: [Element.$type]
1982
+ },
1983
+ Property: {
1984
+ name: Property.$type,
1985
+ properties: {
1986
+ },
1987
+ superTypes: [Term.$type]
1988
+ },
1989
+ PropertyCardinalityRestrictionAxiom: {
1990
+ name: PropertyCardinalityRestrictionAxiom.$type,
1991
+ properties: {
1992
+ cardinality: {
1993
+ name: PropertyCardinalityRestrictionAxiom.cardinality
1994
+ },
1995
+ kind: {
1996
+ name: PropertyCardinalityRestrictionAxiom.kind
1997
+ },
1998
+ property: {
1999
+ name: PropertyCardinalityRestrictionAxiom.property,
2000
+ referenceType: SemanticProperty.$type
2001
+ },
2002
+ range: {
2003
+ name: PropertyCardinalityRestrictionAxiom.range,
2004
+ referenceType: Type.$type
2005
+ }
2006
+ },
2007
+ superTypes: [PropertyRestrictionAxiom.$type]
2008
+ },
2009
+ PropertyEquivalenceAxiom: {
2010
+ name: PropertyEquivalenceAxiom.$type,
2011
+ properties: {
2012
+ superTerms: {
2013
+ name: PropertyEquivalenceAxiom.superTerms,
2014
+ defaultValue: [],
2015
+ referenceType: Property.$type
2016
+ }
2017
+ },
2018
+ superTypes: [Axiom.$type, EquivalenceAxiom.$type]
2019
+ },
2020
+ PropertyPredicate: {
2021
+ name: PropertyPredicate.$type,
2022
+ properties: {
2023
+ argument1: {
2024
+ name: PropertyPredicate.argument1
2025
+ },
2026
+ argument2: {
2027
+ name: PropertyPredicate.argument2
2028
+ },
2029
+ property: {
2030
+ name: PropertyPredicate.property,
2031
+ referenceType: Property.$type
2032
+ }
2033
+ },
2034
+ superTypes: [BinaryPredicate.$type]
2035
+ },
2036
+ PropertyRangeRestrictionAxiom: {
2037
+ name: PropertyRangeRestrictionAxiom.$type,
2038
+ properties: {
2039
+ kind: {
2040
+ name: PropertyRangeRestrictionAxiom.kind
2041
+ },
2042
+ property: {
2043
+ name: PropertyRangeRestrictionAxiom.property,
2044
+ referenceType: SemanticProperty.$type
2045
+ },
2046
+ range: {
2047
+ name: PropertyRangeRestrictionAxiom.range,
2048
+ referenceType: Type.$type
2049
+ }
2050
+ },
2051
+ superTypes: [PropertyRestrictionAxiom.$type]
2052
+ },
2053
+ PropertyRestrictionAxiom: {
2054
+ name: PropertyRestrictionAxiom.$type,
2055
+ properties: {
2056
+ },
2057
+ superTypes: [Axiom.$type]
2058
+ },
2059
+ PropertySelfRestrictionAxiom: {
2060
+ name: PropertySelfRestrictionAxiom.$type,
2061
+ properties: {
2062
+ property: {
2063
+ name: PropertySelfRestrictionAxiom.property,
2064
+ referenceType: SemanticProperty.$type
2065
+ }
2066
+ },
2067
+ superTypes: [PropertyRestrictionAxiom.$type]
2068
+ },
2069
+ PropertyValueAssertion: {
2070
+ name: PropertyValueAssertion.$type,
2071
+ properties: {
2072
+ containedValues: {
2073
+ name: PropertyValueAssertion.containedValues,
2074
+ defaultValue: []
2075
+ },
2076
+ literalValues: {
2077
+ name: PropertyValueAssertion.literalValues,
2078
+ defaultValue: []
2079
+ },
2080
+ property: {
2081
+ name: PropertyValueAssertion.property,
2082
+ referenceType: SemanticProperty.$type
2083
+ },
2084
+ referencedValues: {
2085
+ name: PropertyValueAssertion.referencedValues,
2086
+ defaultValue: [],
2087
+ referenceType: NamedInstance.$type
2088
+ }
2089
+ },
2090
+ superTypes: [Assertion.$type]
2091
+ },
2092
+ PropertyValueRestrictionAxiom: {
2093
+ name: PropertyValueRestrictionAxiom.$type,
2094
+ properties: {
2095
+ containedValue: {
2096
+ name: PropertyValueRestrictionAxiom.containedValue
2097
+ },
2098
+ literalValue: {
2099
+ name: PropertyValueRestrictionAxiom.literalValue
2100
+ },
2101
+ property: {
2102
+ name: PropertyValueRestrictionAxiom.property,
2103
+ referenceType: SemanticProperty.$type
2104
+ },
2105
+ referencedValue: {
2106
+ name: PropertyValueRestrictionAxiom.referencedValue,
2107
+ referenceType: NamedInstance.$type
2108
+ }
2109
+ },
2110
+ superTypes: [PropertyRestrictionAxiom.$type]
2111
+ },
2112
+ QuotedLiteral: {
2113
+ name: QuotedLiteral.$type,
2114
+ properties: {
2115
+ langTag: {
2116
+ name: QuotedLiteral.langTag
2117
+ },
2118
+ type: {
2119
+ name: QuotedLiteral.type,
2120
+ referenceType: Scalar.$type
2121
+ },
2122
+ value: {
2123
+ name: QuotedLiteral.value
2124
+ }
2125
+ },
2126
+ superTypes: [Literal.$type]
2127
+ },
2128
+ Relation: {
2129
+ name: Relation.$type,
2130
+ properties: {
2131
+ },
2132
+ superTypes: [SemanticProperty.$type]
2133
+ },
2134
+ RelationBase: {
2135
+ name: RelationBase.$type,
2136
+ properties: {
2137
+ },
2138
+ superTypes: [Term.$type]
2139
+ },
2140
+ RelationEntity: {
2141
+ name: RelationEntity.$type,
2142
+ properties: {
2143
+ asymmetric: {
2144
+ name: RelationEntity.asymmetric,
2145
+ defaultValue: false
2146
+ },
2147
+ forwardRelation: {
2148
+ name: RelationEntity.forwardRelation
2149
+ },
2150
+ functional: {
2151
+ name: RelationEntity.functional,
2152
+ defaultValue: false
2153
+ },
2154
+ inverseFunctional: {
2155
+ name: RelationEntity.inverseFunctional,
2156
+ defaultValue: false
2157
+ },
2158
+ irreflexive: {
2159
+ name: RelationEntity.irreflexive,
2160
+ defaultValue: false
2161
+ },
2162
+ name: {
2163
+ name: RelationEntity.name
2164
+ },
2165
+ ownedAnnotations: {
2166
+ name: RelationEntity.ownedAnnotations,
2167
+ defaultValue: []
2168
+ },
2169
+ ownedEquivalences: {
2170
+ name: RelationEntity.ownedEquivalences,
2171
+ defaultValue: []
2172
+ },
2173
+ ownedKeys: {
2174
+ name: RelationEntity.ownedKeys,
2175
+ defaultValue: []
2176
+ },
2177
+ ownedPropertyRestrictions: {
2178
+ name: RelationEntity.ownedPropertyRestrictions,
2179
+ defaultValue: []
2180
+ },
2181
+ ownedSpecializations: {
2182
+ name: RelationEntity.ownedSpecializations,
2183
+ defaultValue: []
2184
+ },
2185
+ ref: {
2186
+ name: RelationEntity.ref,
2187
+ referenceType: RelationEntity.$type
2188
+ },
2189
+ reflexive: {
2190
+ name: RelationEntity.reflexive,
2191
+ defaultValue: false
2192
+ },
2193
+ reverseRelation: {
2194
+ name: RelationEntity.reverseRelation
2195
+ },
2196
+ sources: {
2197
+ name: RelationEntity.sources,
2198
+ defaultValue: [],
2199
+ referenceType: Entity.$type
2200
+ },
2201
+ symmetric: {
2202
+ name: RelationEntity.symmetric,
2203
+ defaultValue: false
2204
+ },
2205
+ targets: {
2206
+ name: RelationEntity.targets,
2207
+ defaultValue: [],
2208
+ referenceType: Entity.$type
2209
+ },
2210
+ transitive: {
2211
+ name: RelationEntity.transitive,
2212
+ defaultValue: false
2213
+ }
2214
+ },
2215
+ superTypes: [Entity.$type, RelationBase.$type]
2216
+ },
2217
+ RelationEntityPredicate: {
2218
+ name: RelationEntityPredicate.$type,
2219
+ properties: {
2220
+ argument: {
2221
+ name: RelationEntityPredicate.argument
2222
+ },
2223
+ argument1: {
2224
+ name: RelationEntityPredicate.argument1
2225
+ },
2226
+ argument2: {
2227
+ name: RelationEntityPredicate.argument2
2228
+ },
2229
+ type: {
2230
+ name: RelationEntityPredicate.type,
2231
+ referenceType: RelationEntity.$type
2232
+ }
2233
+ },
2234
+ superTypes: [UnaryPredicate.$type]
2235
+ },
2236
+ RelationInstance: {
2237
+ name: RelationInstance.$type,
2238
+ properties: {
2239
+ name: {
2240
+ name: RelationInstance.name
2241
+ },
2242
+ ownedAnnotations: {
2243
+ name: RelationInstance.ownedAnnotations,
2244
+ defaultValue: []
2245
+ },
2246
+ ownedPropertyValues: {
2247
+ name: RelationInstance.ownedPropertyValues,
2248
+ defaultValue: []
2249
+ },
2250
+ ownedTypes: {
2251
+ name: RelationInstance.ownedTypes,
2252
+ defaultValue: []
2253
+ },
2254
+ ref: {
2255
+ name: RelationInstance.ref,
2256
+ referenceType: RelationInstance.$type
2257
+ },
2258
+ sources: {
2259
+ name: RelationInstance.sources,
2260
+ defaultValue: [],
2261
+ referenceType: NamedInstance.$type
2262
+ },
2263
+ targets: {
2264
+ name: RelationInstance.targets,
2265
+ defaultValue: [],
2266
+ referenceType: NamedInstance.$type
2267
+ }
2268
+ },
2269
+ superTypes: [NamedInstance.$type]
2270
+ },
2271
+ ReverseRelation: {
2272
+ name: ReverseRelation.$type,
2273
+ properties: {
2274
+ name: {
2275
+ name: ReverseRelation.name
2276
+ },
2277
+ ownedAnnotations: {
2278
+ name: ReverseRelation.ownedAnnotations,
2279
+ defaultValue: []
2280
+ }
2281
+ },
2282
+ superTypes: [Relation.$type]
2283
+ },
2284
+ Rule: {
2285
+ name: Rule.$type,
2286
+ properties: {
2287
+ antecedent: {
2288
+ name: Rule.antecedent,
2289
+ defaultValue: []
2290
+ },
2291
+ consequent: {
2292
+ name: Rule.consequent,
2293
+ defaultValue: []
2294
+ },
2295
+ name: {
2296
+ name: Rule.name
2297
+ },
2298
+ ownedAnnotations: {
2299
+ name: Rule.ownedAnnotations,
2300
+ defaultValue: []
2301
+ },
2302
+ ref: {
2303
+ name: Rule.ref,
2304
+ referenceType: Rule.$type
2305
+ }
2306
+ },
2307
+ superTypes: [VocabularyStatement.$type]
2308
+ },
2309
+ SameAsPredicate: {
2310
+ name: SameAsPredicate.$type,
2311
+ properties: {
2312
+ argument1: {
2313
+ name: SameAsPredicate.argument1
2314
+ },
2315
+ argument2: {
2316
+ name: SameAsPredicate.argument2
2317
+ }
2318
+ },
2319
+ superTypes: [BinaryPredicate.$type]
2320
+ },
2321
+ Scalar: {
2322
+ name: Scalar.$type,
2323
+ properties: {
2324
+ name: {
2325
+ name: Scalar.name
2326
+ },
2327
+ ownedAnnotations: {
2328
+ name: Scalar.ownedAnnotations,
2329
+ defaultValue: []
2330
+ },
2331
+ ownedEnumeration: {
2332
+ name: Scalar.ownedEnumeration
2333
+ },
2334
+ ownedEquivalences: {
2335
+ name: Scalar.ownedEquivalences,
2336
+ defaultValue: []
2337
+ },
2338
+ ownedSpecializations: {
2339
+ name: Scalar.ownedSpecializations,
2340
+ defaultValue: []
2341
+ },
2342
+ ref: {
2343
+ name: Scalar.ref,
2344
+ referenceType: Scalar.$type
2345
+ }
2346
+ },
2347
+ superTypes: [Type.$type]
2348
+ },
2349
+ ScalarEquivalenceAxiom: {
2350
+ name: ScalarEquivalenceAxiom.$type,
2351
+ properties: {
2352
+ language: {
2353
+ name: ScalarEquivalenceAxiom.language,
2354
+ defaultValue: []
2355
+ },
2356
+ length: {
2357
+ name: ScalarEquivalenceAxiom.length,
2358
+ defaultValue: []
2359
+ },
2360
+ maxExclusive: {
2361
+ name: ScalarEquivalenceAxiom.maxExclusive,
2362
+ defaultValue: []
2363
+ },
2364
+ maxInclusive: {
2365
+ name: ScalarEquivalenceAxiom.maxInclusive,
2366
+ defaultValue: []
2367
+ },
2368
+ maxLength: {
2369
+ name: ScalarEquivalenceAxiom.maxLength,
2370
+ defaultValue: []
2371
+ },
2372
+ minExclusive: {
2373
+ name: ScalarEquivalenceAxiom.minExclusive,
2374
+ defaultValue: []
2375
+ },
2376
+ minInclusive: {
2377
+ name: ScalarEquivalenceAxiom.minInclusive,
2378
+ defaultValue: []
2379
+ },
2380
+ minLength: {
2381
+ name: ScalarEquivalenceAxiom.minLength,
2382
+ defaultValue: []
2383
+ },
2384
+ pattern: {
2385
+ name: ScalarEquivalenceAxiom.pattern,
2386
+ defaultValue: []
2387
+ },
2388
+ superTerms: {
2389
+ name: ScalarEquivalenceAxiom.superTerms,
2390
+ defaultValue: [],
2391
+ referenceType: Scalar.$type
2392
+ }
2393
+ },
2394
+ superTypes: [Axiom.$type, EquivalenceAxiom.$type]
2395
+ },
2396
+ ScalarProperty: {
2397
+ name: ScalarProperty.$type,
2398
+ properties: {
2399
+ domains: {
2400
+ name: ScalarProperty.domains,
2401
+ defaultValue: [],
2402
+ referenceType: Entity.$type
2403
+ },
2404
+ functional: {
2405
+ name: ScalarProperty.functional,
2406
+ defaultValue: false
2407
+ },
2408
+ name: {
2409
+ name: ScalarProperty.name
2410
+ },
2411
+ ownedAnnotations: {
2412
+ name: ScalarProperty.ownedAnnotations,
2413
+ defaultValue: []
2414
+ },
2415
+ ownedEquivalences: {
2416
+ name: ScalarProperty.ownedEquivalences,
2417
+ defaultValue: []
2418
+ },
2419
+ ownedSpecializations: {
2420
+ name: ScalarProperty.ownedSpecializations,
2421
+ defaultValue: []
2422
+ },
2423
+ ranges: {
2424
+ name: ScalarProperty.ranges,
2425
+ defaultValue: [],
2426
+ referenceType: Scalar.$type
2427
+ },
2428
+ ref: {
2429
+ name: ScalarProperty.ref,
2430
+ referenceType: ScalarProperty.$type
2431
+ }
2432
+ },
2433
+ superTypes: [SemanticProperty.$type, SpecializableProperty.$type]
2434
+ },
2435
+ SemanticProperty: {
2436
+ name: SemanticProperty.$type,
2437
+ properties: {
2438
+ },
2439
+ superTypes: [Property.$type]
2440
+ },
2441
+ SpecializableProperty: {
2442
+ name: SpecializableProperty.$type,
2443
+ properties: {
2444
+ },
2445
+ superTypes: [Property.$type, SpecializableTerm.$type]
2446
+ },
2447
+ SpecializableTerm: {
2448
+ name: SpecializableTerm.$type,
2449
+ properties: {
2450
+ },
2451
+ superTypes: [Term.$type, VocabularyStatement.$type]
2452
+ },
2453
+ SpecializationAxiom: {
2454
+ name: SpecializationAxiom.$type,
2455
+ properties: {
2456
+ superTerm: {
2457
+ name: SpecializationAxiom.superTerm,
2458
+ referenceType: Term.$type
2459
+ }
2460
+ },
2461
+ superTypes: [Axiom.$type]
2462
+ },
2463
+ Statement: {
2464
+ name: Statement.$type,
2465
+ properties: {
2466
+ },
2467
+ superTypes: [Member.$type]
2468
+ },
2469
+ Term: {
2470
+ name: Term.$type,
2471
+ properties: {
2472
+ },
2473
+ superTypes: [VocabularyMember.$type]
2474
+ },
2475
+ Type: {
2476
+ name: Type.$type,
2477
+ properties: {
2478
+ },
2479
+ superTypes: [SpecializableTerm.$type]
2480
+ },
2481
+ TypeAssertion: {
2482
+ name: TypeAssertion.$type,
2483
+ properties: {
2484
+ type: {
2485
+ name: TypeAssertion.type,
2486
+ referenceType: Entity.$type
2487
+ }
2488
+ },
2489
+ superTypes: [Assertion.$type]
2490
+ },
2491
+ TypePredicate: {
2492
+ name: TypePredicate.$type,
2493
+ properties: {
2494
+ argument: {
2495
+ name: TypePredicate.argument
2496
+ },
2497
+ type: {
2498
+ name: TypePredicate.type,
2499
+ referenceType: Type.$type
2500
+ }
2501
+ },
2502
+ superTypes: [UnaryPredicate.$type]
2503
+ },
2504
+ UnaryPredicate: {
2505
+ name: UnaryPredicate.$type,
2506
+ properties: {
2507
+ },
2508
+ superTypes: [Predicate.$type]
2509
+ },
2510
+ UnreifiedRelation: {
2511
+ name: UnreifiedRelation.$type,
2512
+ properties: {
2513
+ asymmetric: {
2514
+ name: UnreifiedRelation.asymmetric,
2515
+ defaultValue: false
2516
+ },
2517
+ functional: {
2518
+ name: UnreifiedRelation.functional,
2519
+ defaultValue: false
2520
+ },
2521
+ inverseFunctional: {
2522
+ name: UnreifiedRelation.inverseFunctional,
2523
+ defaultValue: false
2524
+ },
2525
+ irreflexive: {
2526
+ name: UnreifiedRelation.irreflexive,
2527
+ defaultValue: false
2528
+ },
2529
+ name: {
2530
+ name: UnreifiedRelation.name
2531
+ },
2532
+ ownedAnnotations: {
2533
+ name: UnreifiedRelation.ownedAnnotations,
2534
+ defaultValue: []
2535
+ },
2536
+ ownedEquivalences: {
2537
+ name: UnreifiedRelation.ownedEquivalences,
2538
+ defaultValue: []
2539
+ },
2540
+ ownedSpecializations: {
2541
+ name: UnreifiedRelation.ownedSpecializations,
2542
+ defaultValue: []
2543
+ },
2544
+ ref: {
2545
+ name: UnreifiedRelation.ref,
2546
+ referenceType: Relation.$type
2547
+ },
2548
+ reflexive: {
2549
+ name: UnreifiedRelation.reflexive,
2550
+ defaultValue: false
2551
+ },
2552
+ reverseRelation: {
2553
+ name: UnreifiedRelation.reverseRelation
2554
+ },
2555
+ sources: {
2556
+ name: UnreifiedRelation.sources,
2557
+ defaultValue: [],
2558
+ referenceType: Entity.$type
2559
+ },
2560
+ symmetric: {
2561
+ name: UnreifiedRelation.symmetric,
2562
+ defaultValue: false
2563
+ },
2564
+ targets: {
2565
+ name: UnreifiedRelation.targets,
2566
+ defaultValue: [],
2567
+ referenceType: Entity.$type
2568
+ },
2569
+ transitive: {
2570
+ name: UnreifiedRelation.transitive,
2571
+ defaultValue: false
2572
+ }
2573
+ },
2574
+ superTypes: [Relation.$type, RelationBase.$type, SpecializableProperty.$type]
2575
+ },
2576
+ Vocabulary: {
2577
+ name: Vocabulary.$type,
2578
+ properties: {
2579
+ namespace: {
2580
+ name: Vocabulary.namespace
2581
+ },
2582
+ ownedAnnotations: {
2583
+ name: Vocabulary.ownedAnnotations,
2584
+ defaultValue: []
2585
+ },
2586
+ ownedImports: {
2587
+ name: Vocabulary.ownedImports,
2588
+ defaultValue: []
2589
+ },
2590
+ ownedStatements: {
2591
+ name: Vocabulary.ownedStatements,
2592
+ defaultValue: []
2593
+ },
2594
+ prefix: {
2595
+ name: Vocabulary.prefix
2596
+ }
2597
+ },
2598
+ superTypes: [VocabularyBox.$type]
2599
+ },
2600
+ VocabularyBox: {
2601
+ name: VocabularyBox.$type,
2602
+ properties: {
2603
+ },
2604
+ superTypes: [Ontology.$type]
2605
+ },
2606
+ VocabularyBundle: {
2607
+ name: VocabularyBundle.$type,
2608
+ properties: {
2609
+ namespace: {
2610
+ name: VocabularyBundle.namespace
2611
+ },
2612
+ ownedAnnotations: {
2613
+ name: VocabularyBundle.ownedAnnotations,
2614
+ defaultValue: []
2615
+ },
2616
+ ownedImports: {
2617
+ name: VocabularyBundle.ownedImports,
2618
+ defaultValue: []
2619
+ },
2620
+ prefix: {
2621
+ name: VocabularyBundle.prefix
2622
+ }
2623
+ },
2624
+ superTypes: [VocabularyBox.$type]
2625
+ },
2626
+ VocabularyMember: {
2627
+ name: VocabularyMember.$type,
2628
+ properties: {
2629
+ },
2630
+ superTypes: [Member.$type]
2631
+ },
2632
+ VocabularyStatement: {
2633
+ name: VocabularyStatement.$type,
2634
+ properties: {
2635
+ },
2636
+ superTypes: [Statement.$type, VocabularyMember.$type]
2637
+ }
2638
+ } as const satisfies langium.AstMetaData
2639
+ }
2640
+
2641
+ export const reflection = new OmlAstReflection();