activefacts-metamodel 1.7.0 → 1.7.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.
- checksums.yaml +4 -4
- data/lib/activefacts/metamodel.rb +2 -623
- data/lib/activefacts/metamodel/extensions.rb +1358 -0
- data/lib/activefacts/metamodel/metamodel.rb +623 -0
- data/lib/activefacts/metamodel/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 799c7d12feb19a7d1d5a29334f7f2d5fff29a86e
|
4
|
+
data.tar.gz: fbe3f7324000d65a59e1a758d7e268fb6341d3c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25f6cd4b6f9cd5a131f72e6eeebbbdcec67c39b75215a0c5800d8d6a9c0f0b8601dc95c16679affb870b768fb4305f41087519e8836c78998d5acb8807a7ff10
|
7
|
+
data.tar.gz: 52ade5f3c4adebe9391de256811193adad687e1cffdeb499e16629e847b8518accb86a72736978d8f7d85e58e707c6f4ac0b91f2122b6783f72f20056b5b2687
|
@@ -1,624 +1,3 @@
|
|
1
1
|
require 'activefacts/metamodel/version'
|
2
|
-
|
3
|
-
|
4
|
-
module ActiveFacts
|
5
|
-
module Metamodel
|
6
|
-
|
7
|
-
class Adjective < String
|
8
|
-
value_type :length => 64
|
9
|
-
end
|
10
|
-
|
11
|
-
class AgentName < String
|
12
|
-
value_type
|
13
|
-
one_to_one :agent # See Agent.agent_name
|
14
|
-
end
|
15
|
-
|
16
|
-
class AggregateCode < String
|
17
|
-
value_type :length => 32
|
18
|
-
one_to_one :aggregate # See Aggregate.aggregate_code
|
19
|
-
end
|
20
|
-
|
21
|
-
class Annotation < String
|
22
|
-
value_type
|
23
|
-
end
|
24
|
-
|
25
|
-
class Assimilation < String
|
26
|
-
value_type
|
27
|
-
restrict 'absorbed', 'partitioned', 'separate'
|
28
|
-
end
|
29
|
-
|
30
|
-
class ContextNoteKind < String
|
31
|
-
value_type
|
32
|
-
restrict 'as_opposed_to', 'because', 'so_that', 'to_avoid'
|
33
|
-
end
|
34
|
-
|
35
|
-
class Date < ::Date
|
36
|
-
value_type
|
37
|
-
end
|
38
|
-
|
39
|
-
class Denominator < UnsignedInteger
|
40
|
-
value_type :length => 32
|
41
|
-
end
|
42
|
-
|
43
|
-
class Discussion < String
|
44
|
-
value_type
|
45
|
-
end
|
46
|
-
|
47
|
-
class DisplayRoleNamesSetting < String
|
48
|
-
value_type
|
49
|
-
restrict 'false', 'true'
|
50
|
-
end
|
51
|
-
|
52
|
-
class EnforcementCode < String
|
53
|
-
value_type :length => 16
|
54
|
-
end
|
55
|
-
|
56
|
-
class EphemeraURL < String
|
57
|
-
value_type
|
58
|
-
end
|
59
|
-
|
60
|
-
class Exponent < SignedInteger
|
61
|
-
value_type :length => 16
|
62
|
-
end
|
63
|
-
|
64
|
-
class Frequency < UnsignedInteger
|
65
|
-
value_type :length => 32
|
66
|
-
end
|
67
|
-
|
68
|
-
class Guid < ::Guid
|
69
|
-
value_type
|
70
|
-
one_to_one :alternative_set # See AlternativeSet.guid
|
71
|
-
one_to_one :component # See Component.guid
|
72
|
-
one_to_one :composition # See Composition.guid
|
73
|
-
one_to_one :concept # See Concept.guid
|
74
|
-
one_to_one :role_sequence # See RoleSequence.guid
|
75
|
-
one_to_one :shape # See Shape.guid
|
76
|
-
one_to_one :step # See Step.guid
|
77
|
-
end
|
78
|
-
|
79
|
-
class ImplicationRuleName < String
|
80
|
-
value_type
|
81
|
-
one_to_one :implication_rule # See ImplicationRule.implication_rule_name
|
82
|
-
end
|
83
|
-
|
84
|
-
class Length < UnsignedInteger
|
85
|
-
value_type :length => 32
|
86
|
-
end
|
87
|
-
|
88
|
-
class Literal < String
|
89
|
-
value_type
|
90
|
-
end
|
91
|
-
|
92
|
-
class Name < String
|
93
|
-
value_type :length => 64
|
94
|
-
one_to_one :composition # See Composition.name
|
95
|
-
one_to_one :plural_named_unit, :class => "Unit", :counterpart => :plural_name # See Unit.plural_name
|
96
|
-
one_to_one :topic, :counterpart => :topic_name # See Topic.topic_name
|
97
|
-
one_to_one :unit # See Unit.name
|
98
|
-
one_to_one :vocabulary # See Vocabulary.name
|
99
|
-
end
|
100
|
-
|
101
|
-
class Numerator < Decimal
|
102
|
-
value_type
|
103
|
-
end
|
104
|
-
|
105
|
-
class Offset < Decimal
|
106
|
-
value_type
|
107
|
-
end
|
108
|
-
|
109
|
-
class Ordinal < UnsignedInteger
|
110
|
-
value_type :length => 16
|
111
|
-
end
|
112
|
-
|
113
|
-
class Pronoun < String
|
114
|
-
value_type :length => 20
|
115
|
-
restrict 'feminine', 'masculine', 'neuter', 'personal'
|
116
|
-
end
|
117
|
-
|
118
|
-
class RegularExpression < String
|
119
|
-
value_type
|
120
|
-
end
|
121
|
-
|
122
|
-
class RingType < String
|
123
|
-
value_type
|
124
|
-
end
|
125
|
-
|
126
|
-
class RotationSetting < String
|
127
|
-
value_type
|
128
|
-
restrict 'left', 'right'
|
129
|
-
end
|
130
|
-
|
131
|
-
class Scale < UnsignedInteger
|
132
|
-
value_type :length => 32
|
133
|
-
end
|
134
|
-
|
135
|
-
class Subscript < UnsignedInteger
|
136
|
-
value_type :length => 16
|
137
|
-
end
|
138
|
-
|
139
|
-
class Text < String
|
140
|
-
value_type :length => 256
|
141
|
-
end
|
142
|
-
|
143
|
-
class TransactionPhase < String
|
144
|
-
value_type
|
145
|
-
restrict 'assert', 'commit'
|
146
|
-
end
|
147
|
-
|
148
|
-
class X < SignedInteger
|
149
|
-
value_type :length => 32
|
150
|
-
end
|
151
|
-
|
152
|
-
class Y < SignedInteger
|
153
|
-
value_type :length => 32
|
154
|
-
end
|
155
|
-
|
156
|
-
class Agent
|
157
|
-
identified_by :agent_name
|
158
|
-
one_to_one :agent_name, :mandatory => true # See AgentName.agent
|
159
|
-
end
|
160
|
-
|
161
|
-
class Aggregate
|
162
|
-
identified_by :aggregate_code
|
163
|
-
one_to_one :aggregate_code, :mandatory => true # See AggregateCode.aggregate
|
164
|
-
end
|
165
|
-
|
166
|
-
class AlternativeSet
|
167
|
-
identified_by :guid
|
168
|
-
one_to_one :guid, :mandatory => true # See Guid.alternative_set
|
169
|
-
maybe :members_are_exclusive
|
170
|
-
end
|
171
|
-
|
172
|
-
class Coefficient
|
173
|
-
identified_by :numerator, :denominator, :is_precise
|
174
|
-
has_one :denominator, :mandatory => true # See Denominator.all_coefficient
|
175
|
-
maybe :is_precise
|
176
|
-
has_one :numerator, :mandatory => true # See Numerator.all_coefficient
|
177
|
-
end
|
178
|
-
|
179
|
-
class Component
|
180
|
-
identified_by :guid
|
181
|
-
one_to_one :guid, :mandatory => true # See Guid.component
|
182
|
-
has_one :mapping, :counterpart => :member # See Mapping.all_member
|
183
|
-
has_one :name # See Name.all_component
|
184
|
-
end
|
185
|
-
|
186
|
-
class Composition
|
187
|
-
identified_by :guid
|
188
|
-
one_to_one :guid, :mandatory => true # See Guid.composition
|
189
|
-
one_to_one :name, :mandatory => true # See Name.composition
|
190
|
-
end
|
191
|
-
|
192
|
-
class Concept
|
193
|
-
identified_by :guid
|
194
|
-
one_to_one :guid, :mandatory => true # See Guid.concept
|
195
|
-
has_one :implication_rule # See ImplicationRule.all_concept
|
196
|
-
has_one :topic # See Topic.all_concept
|
197
|
-
end
|
198
|
-
|
199
|
-
class ConceptAnnotation
|
200
|
-
identified_by :concept, :mapping_annotation
|
201
|
-
has_one :concept, :mandatory => true # See Concept.all_concept_annotation
|
202
|
-
has_one :mapping_annotation, :class => Annotation, :mandatory => true # See Annotation.all_concept_annotation_as_mapping_annotation
|
203
|
-
end
|
204
|
-
|
205
|
-
class Constraint
|
206
|
-
identified_by :concept
|
207
|
-
one_to_one :concept, :mandatory => true # See Concept.constraint
|
208
|
-
has_one :name # See Name.all_constraint
|
209
|
-
has_one :vocabulary # See Vocabulary.all_constraint
|
210
|
-
end
|
211
|
-
|
212
|
-
class ContextNote
|
213
|
-
identified_by :concept
|
214
|
-
one_to_one :concept, :mandatory => true # See Concept.context_note
|
215
|
-
has_one :context_note_kind, :mandatory => true # See ContextNoteKind.all_context_note
|
216
|
-
has_one :discussion, :mandatory => true # See Discussion.all_context_note
|
217
|
-
has_one :relevant_concept, :class => Concept # See Concept.all_context_note_as_relevant_concept
|
218
|
-
end
|
219
|
-
|
220
|
-
class Discriminator < Component
|
221
|
-
end
|
222
|
-
|
223
|
-
class Enforcement
|
224
|
-
identified_by :constraint
|
225
|
-
has_one :agent # See Agent.all_enforcement
|
226
|
-
one_to_one :constraint, :mandatory => true # See Constraint.enforcement
|
227
|
-
has_one :enforcement_code, :mandatory => true # See EnforcementCode.all_enforcement
|
228
|
-
end
|
229
|
-
|
230
|
-
class Fact
|
231
|
-
identified_by :concept
|
232
|
-
one_to_one :concept, :mandatory => true # See Concept.fact
|
233
|
-
has_one :fact_type, :mandatory => true # See FactType.all_fact
|
234
|
-
has_one :population, :mandatory => true # See Population.all_fact
|
235
|
-
end
|
236
|
-
|
237
|
-
class FactType
|
238
|
-
identified_by :concept
|
239
|
-
one_to_one :concept, :mandatory => true # See Concept.fact_type
|
240
|
-
end
|
241
|
-
|
242
|
-
class ImplicationRule
|
243
|
-
identified_by :implication_rule_name
|
244
|
-
one_to_one :implication_rule_name, :mandatory => true # See ImplicationRuleName.implication_rule
|
245
|
-
end
|
246
|
-
|
247
|
-
class Indicator < Component
|
248
|
-
has_one :role, :mandatory => true # See Role.all_indicator
|
249
|
-
end
|
250
|
-
|
251
|
-
class Instance
|
252
|
-
identified_by :concept
|
253
|
-
one_to_one :concept, :mandatory => true # See Concept.instance
|
254
|
-
one_to_one :fact # See Fact.instance
|
255
|
-
has_one :object_type, :mandatory => true # See ObjectType.all_instance
|
256
|
-
has_one :population, :mandatory => true # See Population.all_instance
|
257
|
-
has_one :value # See Value.all_instance
|
258
|
-
end
|
259
|
-
|
260
|
-
class LinkFactType < FactType
|
261
|
-
end
|
262
|
-
|
263
|
-
class Location
|
264
|
-
identified_by :x, :y
|
265
|
-
has_one :x, :mandatory => true # See X.all_location
|
266
|
-
has_one :y, :mandatory => true # See Y.all_location
|
267
|
-
end
|
268
|
-
|
269
|
-
class Mapping < Component
|
270
|
-
has_one :object_type, :mandatory => true # See ObjectType.all_mapping
|
271
|
-
end
|
272
|
-
|
273
|
-
class Nesting < Mapping
|
274
|
-
end
|
275
|
-
|
276
|
-
class PresenceConstraint < Constraint
|
277
|
-
maybe :is_mandatory
|
278
|
-
maybe :is_preferred_identifier
|
279
|
-
has_one :max_frequency, :class => Frequency # See Frequency.all_presence_constraint_as_max_frequency
|
280
|
-
has_one :min_frequency, :class => Frequency # See Frequency.all_presence_constraint_as_min_frequency
|
281
|
-
has_one :role_sequence, :mandatory => true # See RoleSequence.all_presence_constraint
|
282
|
-
end
|
283
|
-
|
284
|
-
class Query
|
285
|
-
identified_by :concept
|
286
|
-
one_to_one :concept, :mandatory => true # See Concept.query
|
287
|
-
end
|
288
|
-
|
289
|
-
class Reading
|
290
|
-
identified_by :fact_type, :ordinal
|
291
|
-
has_one :fact_type, :mandatory => true # See FactType.all_reading
|
292
|
-
maybe :is_negative
|
293
|
-
has_one :ordinal, :mandatory => true # See Ordinal.all_reading
|
294
|
-
has_one :role_sequence, :mandatory => true # See RoleSequence.all_reading
|
295
|
-
has_one :text, :mandatory => true # See Text.all_reading
|
296
|
-
end
|
297
|
-
|
298
|
-
class RingConstraint < Constraint
|
299
|
-
has_one :other_role, :class => "Role" # See Role.all_ring_constraint_as_other_role
|
300
|
-
has_one :ring_type, :mandatory => true # See RingType.all_ring_constraint
|
301
|
-
has_one :role # See Role.all_ring_constraint
|
302
|
-
end
|
303
|
-
|
304
|
-
class Role
|
305
|
-
identified_by :fact_type, :ordinal
|
306
|
-
one_to_one :concept, :mandatory => true # See Concept.role
|
307
|
-
has_one :fact_type, :mandatory => true # See FactType.all_role
|
308
|
-
one_to_one :link_fact_type, :counterpart => :implying_role # See LinkFactType.implying_role
|
309
|
-
has_one :object_type, :mandatory => true # See ObjectType.all_role
|
310
|
-
has_one :ordinal, :mandatory => true # See Ordinal.all_role
|
311
|
-
has_one :role_name, :class => Name # See Name.all_role_as_role_name
|
312
|
-
end
|
313
|
-
|
314
|
-
class RoleSequence
|
315
|
-
identified_by :guid
|
316
|
-
one_to_one :guid, :mandatory => true # See Guid.role_sequence
|
317
|
-
maybe :has_unused_dependency_to_force_table_in_norma
|
318
|
-
end
|
319
|
-
|
320
|
-
class RoleValue
|
321
|
-
identified_by :fact, :role
|
322
|
-
has_one :fact, :mandatory => true # See Fact.all_role_value
|
323
|
-
has_one :instance, :mandatory => true # See Instance.all_role_value
|
324
|
-
has_one :population, :mandatory => true # See Population.all_role_value
|
325
|
-
has_one :role, :mandatory => true # See Role.all_role_value
|
326
|
-
end
|
327
|
-
|
328
|
-
class SetConstraint < Constraint
|
329
|
-
end
|
330
|
-
|
331
|
-
class Shape
|
332
|
-
identified_by :guid
|
333
|
-
one_to_one :guid, :mandatory => true # See Guid.shape
|
334
|
-
maybe :is_expanded
|
335
|
-
has_one :location # See Location.all_shape
|
336
|
-
has_one :orm_diagram, :class => "ORMDiagram", :mandatory => true # See ORMDiagram.all_shape
|
337
|
-
end
|
338
|
-
|
339
|
-
class Step
|
340
|
-
identified_by :guid
|
341
|
-
has_one :alternative_set # See AlternativeSet.all_step
|
342
|
-
has_one :fact_type, :mandatory => true # See FactType.all_step
|
343
|
-
one_to_one :guid, :mandatory => true # See Guid.step
|
344
|
-
maybe :is_disallowed
|
345
|
-
maybe :is_optional
|
346
|
-
end
|
347
|
-
|
348
|
-
class SubsetConstraint < SetConstraint
|
349
|
-
has_one :subset_role_sequence, :class => RoleSequence, :mandatory => true # See RoleSequence.all_subset_constraint_as_subset_role_sequence
|
350
|
-
has_one :superset_role_sequence, :class => RoleSequence, :mandatory => true # See RoleSequence.all_subset_constraint_as_superset_role_sequence
|
351
|
-
end
|
352
|
-
|
353
|
-
class Topic
|
354
|
-
identified_by :topic_name
|
355
|
-
one_to_one :topic_name, :class => Name, :mandatory => true # See Name.topic_as_topic_name
|
356
|
-
end
|
357
|
-
|
358
|
-
class Unit
|
359
|
-
identified_by :concept
|
360
|
-
has_one :coefficient # See Coefficient.all_unit
|
361
|
-
one_to_one :concept, :mandatory => true # See Concept.unit
|
362
|
-
has_one :ephemera_url, :class => EphemeraURL # See EphemeraURL.all_unit
|
363
|
-
maybe :is_fundamental
|
364
|
-
one_to_one :name, :mandatory => true # See Name.unit
|
365
|
-
has_one :offset # See Offset.all_unit
|
366
|
-
one_to_one :plural_name, :class => Name, :counterpart => :plural_named_unit # See Name.plural_named_unit
|
367
|
-
has_one :vocabulary, :mandatory => true # See Vocabulary.all_unit
|
368
|
-
end
|
369
|
-
|
370
|
-
class Value
|
371
|
-
identified_by :literal, :is_literal_string, :unit
|
372
|
-
maybe :is_literal_string
|
373
|
-
has_one :literal, :mandatory => true # See Literal.all_value
|
374
|
-
has_one :unit # See Unit.all_value
|
375
|
-
has_one :value_type, :mandatory => true # See ValueType.all_value
|
376
|
-
end
|
377
|
-
|
378
|
-
class ValueConstraint < Constraint
|
379
|
-
has_one :regular_expression # See RegularExpression.all_value_constraint
|
380
|
-
one_to_one :role, :counterpart => :role_value_constraint # See Role.role_value_constraint
|
381
|
-
end
|
382
|
-
|
383
|
-
class Variable
|
384
|
-
identified_by :query, :ordinal
|
385
|
-
has_one :object_type, :mandatory => true # See ObjectType.all_variable
|
386
|
-
has_one :ordinal, :mandatory => true # See Ordinal.all_variable
|
387
|
-
one_to_one :projection, :class => Role # See Role.variable_as_projection
|
388
|
-
has_one :query, :mandatory => true # See Query.all_variable
|
389
|
-
has_one :role_name, :class => Name # See Name.all_variable_as_role_name
|
390
|
-
one_to_one :step, :counterpart => :objectification_variable # See Step.objectification_variable
|
391
|
-
has_one :subscript # See Subscript.all_variable
|
392
|
-
has_one :value # See Value.all_variable
|
393
|
-
end
|
394
|
-
|
395
|
-
class Vocabulary
|
396
|
-
identified_by :name
|
397
|
-
one_to_one :name, :mandatory => true # See Name.vocabulary
|
398
|
-
end
|
399
|
-
|
400
|
-
class Absorption < Mapping
|
401
|
-
has_one :child_role, :class => Role, :mandatory => true # See Role.all_absorption_as_child_role
|
402
|
-
maybe :flattens
|
403
|
-
has_one :index_role, :class => Role # See Role.all_absorption_as_index_role
|
404
|
-
has_one :parent_role, :class => Role, :mandatory => true # See Role.all_absorption_as_parent_role
|
405
|
-
end
|
406
|
-
|
407
|
-
class Aggregation
|
408
|
-
identified_by :aggregate, :aggregated_variable
|
409
|
-
has_one :aggregate, :mandatory => true # See Aggregate.all_aggregation
|
410
|
-
has_one :aggregated_variable, :class => Variable, :mandatory => true # See Variable.all_aggregation_as_aggregated_variable
|
411
|
-
has_one :variable, :mandatory => true # See Variable.all_aggregation
|
412
|
-
end
|
413
|
-
|
414
|
-
class Agreement
|
415
|
-
identified_by :context_note
|
416
|
-
one_to_one :context_note, :mandatory => true # See ContextNote.agreement
|
417
|
-
has_one :date # See Date.all_agreement
|
418
|
-
end
|
419
|
-
|
420
|
-
class Bound
|
421
|
-
identified_by :value, :is_inclusive
|
422
|
-
maybe :is_inclusive
|
423
|
-
has_one :value, :mandatory => true # See Value.all_bound
|
424
|
-
end
|
425
|
-
|
426
|
-
class Composite
|
427
|
-
identified_by :mapping
|
428
|
-
has_one :composition, :mandatory => true # See Composition.all_composite
|
429
|
-
one_to_one :mapping, :mandatory => true # See Mapping.composite
|
430
|
-
end
|
431
|
-
|
432
|
-
class ConstraintShape < Shape
|
433
|
-
has_one :constraint, :mandatory => true # See Constraint.all_constraint_shape
|
434
|
-
end
|
435
|
-
|
436
|
-
class ContextAccordingTo
|
437
|
-
identified_by :context_note, :agent
|
438
|
-
has_one :agent, :mandatory => true # See Agent.all_context_according_to
|
439
|
-
has_one :context_note, :mandatory => true # See ContextNote.all_context_according_to
|
440
|
-
has_one :date # See Date.all_context_according_to
|
441
|
-
end
|
442
|
-
|
443
|
-
class ContextAgreedBy
|
444
|
-
identified_by :agreement, :agent
|
445
|
-
has_one :agent, :mandatory => true # See Agent.all_context_agreed_by
|
446
|
-
has_one :agreement, :mandatory => true # See Agreement.all_context_agreed_by
|
447
|
-
end
|
448
|
-
|
449
|
-
class Derivation
|
450
|
-
identified_by :derived_unit, :base_unit
|
451
|
-
has_one :base_unit, :class => Unit, :mandatory => true # See Unit.all_derivation_as_base_unit
|
452
|
-
has_one :derived_unit, :class => Unit, :mandatory => true # See Unit.all_derivation_as_derived_unit
|
453
|
-
has_one :exponent # See Exponent.all_derivation
|
454
|
-
end
|
455
|
-
|
456
|
-
class Diagram
|
457
|
-
identified_by :vocabulary, :name
|
458
|
-
has_one :name, :mandatory => true # See Name.all_diagram
|
459
|
-
has_one :vocabulary, :mandatory => true # See Vocabulary.all_diagram
|
460
|
-
end
|
461
|
-
|
462
|
-
class DiscriminatedRole
|
463
|
-
identified_by :discriminator, :role
|
464
|
-
has_one :discriminator, :mandatory => true # See Discriminator.all_discriminated_role
|
465
|
-
has_one :role, :mandatory => true # See Role.all_discriminated_role
|
466
|
-
has_one :value, :mandatory => true # See Value.all_discriminated_role
|
467
|
-
end
|
468
|
-
|
469
|
-
class FactTypeShape < Shape
|
470
|
-
has_one :display_role_names_setting # See DisplayRoleNamesSetting.all_fact_type_shape
|
471
|
-
has_one :fact_type, :mandatory => true # See FactType.all_fact_type_shape
|
472
|
-
has_one :rotation_setting # See RotationSetting.all_fact_type_shape
|
473
|
-
end
|
474
|
-
|
475
|
-
class Injection < Mapping
|
476
|
-
end
|
477
|
-
|
478
|
-
class ModelNoteShape < Shape
|
479
|
-
has_one :context_note, :mandatory => true # See ContextNote.all_model_note_shape
|
480
|
-
end
|
481
|
-
|
482
|
-
class ORMDiagram < Diagram
|
483
|
-
end
|
484
|
-
|
485
|
-
class ObjectType
|
486
|
-
identified_by :vocabulary, :name
|
487
|
-
one_to_one :concept, :mandatory => true # See Concept.object_type
|
488
|
-
maybe :is_independent
|
489
|
-
has_one :name, :mandatory => true # See Name.all_object_type
|
490
|
-
has_one :pronoun # See Pronoun.all_object_type
|
491
|
-
has_one :vocabulary, :mandatory => true # See Vocabulary.all_object_type
|
492
|
-
end
|
493
|
-
|
494
|
-
class ObjectTypeShape < Shape
|
495
|
-
maybe :has_expanded_reference_mode
|
496
|
-
has_one :object_type, :mandatory => true # See ObjectType.all_object_type_shape
|
497
|
-
end
|
498
|
-
|
499
|
-
class ObjectifiedFactTypeNameShape < Shape
|
500
|
-
one_to_one :fact_type_shape, :mandatory => true # See FactTypeShape.objectified_fact_type_name_shape
|
501
|
-
end
|
502
|
-
|
503
|
-
class Play
|
504
|
-
identified_by :step, :role
|
505
|
-
has_one :role, :mandatory => true # See Role.all_play
|
506
|
-
has_one :step, :mandatory => true # See Step.all_play
|
507
|
-
has_one :variable, :mandatory => true # See Variable.all_play
|
508
|
-
maybe :is_input
|
509
|
-
end
|
510
|
-
|
511
|
-
class Population
|
512
|
-
identified_by :vocabulary, :name
|
513
|
-
one_to_one :concept, :mandatory => true # See Concept.population
|
514
|
-
has_one :name, :mandatory => true # See Name.all_population
|
515
|
-
has_one :vocabulary # See Vocabulary.all_population
|
516
|
-
end
|
517
|
-
|
518
|
-
class ReadingShape < Shape
|
519
|
-
one_to_one :fact_type_shape, :mandatory => true # See FactTypeShape.reading_shape
|
520
|
-
has_one :reading, :mandatory => true # See Reading.all_reading_shape
|
521
|
-
end
|
522
|
-
|
523
|
-
class RingConstraintShape < ConstraintShape
|
524
|
-
has_one :fact_type_shape, :mandatory => true # See FactTypeShape.all_ring_constraint_shape
|
525
|
-
end
|
526
|
-
|
527
|
-
class RoleDisplay
|
528
|
-
identified_by :fact_type_shape, :ordinal
|
529
|
-
has_one :fact_type_shape, :mandatory => true # See FactTypeShape.all_role_display
|
530
|
-
has_one :ordinal, :mandatory => true # See Ordinal.all_role_display
|
531
|
-
has_one :role, :mandatory => true # See Role.all_role_display
|
532
|
-
end
|
533
|
-
|
534
|
-
class RoleNameShape < Shape
|
535
|
-
one_to_one :role_display, :mandatory => true # See RoleDisplay.role_name_shape
|
536
|
-
end
|
537
|
-
|
538
|
-
class RoleRef
|
539
|
-
identified_by :role_sequence, :ordinal
|
540
|
-
has_one :ordinal, :mandatory => true # See Ordinal.all_role_ref
|
541
|
-
has_one :role, :mandatory => true # See Role.all_role_ref
|
542
|
-
has_one :role_sequence, :mandatory => true # See RoleSequence.all_role_ref
|
543
|
-
has_one :leading_adjective, :class => Adjective # See Adjective.all_role_ref_as_leading_adjective
|
544
|
-
one_to_one :play # See Play.role_ref
|
545
|
-
has_one :trailing_adjective, :class => Adjective # See Adjective.all_role_ref_as_trailing_adjective
|
546
|
-
end
|
547
|
-
|
548
|
-
class SetComparisonConstraint < SetConstraint
|
549
|
-
end
|
550
|
-
|
551
|
-
class SetComparisonRoles
|
552
|
-
identified_by :set_comparison_constraint, :ordinal
|
553
|
-
has_one :ordinal, :mandatory => true # See Ordinal.all_set_comparison_roles
|
554
|
-
has_one :role_sequence, :mandatory => true # See RoleSequence.all_set_comparison_roles
|
555
|
-
has_one :set_comparison_constraint, :mandatory => true # See SetComparisonConstraint.all_set_comparison_roles
|
556
|
-
end
|
557
|
-
|
558
|
-
class SetEqualityConstraint < SetComparisonConstraint
|
559
|
-
end
|
560
|
-
|
561
|
-
class SetExclusionConstraint < SetComparisonConstraint
|
562
|
-
maybe :is_mandatory
|
563
|
-
end
|
564
|
-
|
565
|
-
class ValueConstraintShape < ConstraintShape
|
566
|
-
has_one :object_type_shape # See ObjectTypeShape.all_value_constraint_shape
|
567
|
-
one_to_one :role_display # See RoleDisplay.value_constraint_shape
|
568
|
-
end
|
569
|
-
|
570
|
-
class ValueRange
|
571
|
-
identified_by :minimum_bound, :maximum_bound
|
572
|
-
has_one :maximum_bound, :class => Bound # See Bound.all_value_range_as_maximum_bound
|
573
|
-
has_one :minimum_bound, :class => Bound # See Bound.all_value_range_as_minimum_bound
|
574
|
-
end
|
575
|
-
|
576
|
-
class AllowedRange
|
577
|
-
identified_by :value_constraint, :value_range
|
578
|
-
has_one :value_constraint, :mandatory => true # See ValueConstraint.all_allowed_range
|
579
|
-
has_one :value_range, :mandatory => true # See ValueRange.all_allowed_range
|
580
|
-
end
|
581
|
-
|
582
|
-
class DomainObjectType < ObjectType
|
583
|
-
end
|
584
|
-
|
585
|
-
class EntityType < DomainObjectType
|
586
|
-
one_to_one :fact_type # See FactType.entity_type
|
587
|
-
end
|
588
|
-
|
589
|
-
class TypeInheritance < FactType
|
590
|
-
identified_by :subtype, :supertype
|
591
|
-
has_one :subtype, :class => EntityType, :mandatory => true # See EntityType.all_type_inheritance_as_subtype
|
592
|
-
has_one :supertype, :class => EntityType, :mandatory => true # See EntityType.all_type_inheritance_as_supertype
|
593
|
-
has_one :assimilation # See Assimilation.all_type_inheritance
|
594
|
-
maybe :provides_identification
|
595
|
-
end
|
596
|
-
|
597
|
-
class ValueType < DomainObjectType
|
598
|
-
has_one :length # See Length.all_value_type
|
599
|
-
has_one :scale # See Scale.all_value_type
|
600
|
-
has_one :supertype, :class => ValueType # See ValueType.all_value_type_as_supertype
|
601
|
-
has_one :transaction_phase # See TransactionPhase.all_value_type
|
602
|
-
has_one :unit # See Unit.all_value_type
|
603
|
-
one_to_one :value_constraint # See ValueConstraint.value_type
|
604
|
-
end
|
605
|
-
|
606
|
-
class ValueTypeParameter
|
607
|
-
identified_by :value_type, :name
|
608
|
-
has_one :name, :mandatory => true # See Name.all_value_type_parameter
|
609
|
-
has_one :value_type, :mandatory => true # See ValueType.all_value_type_parameter
|
610
|
-
has_one :facet_value_type, :class => ValueType, :mandatory => true # See ValueType.all_value_type_parameter_as_facet_value_type
|
611
|
-
end
|
612
|
-
|
613
|
-
class ValueTypeParameterRestriction
|
614
|
-
identified_by :value_type, :value_type_parameter
|
615
|
-
has_one :value_type, :mandatory => true # See ValueType.all_value_type_parameter_restriction
|
616
|
-
has_one :value_type_parameter, :mandatory => true # See ValueTypeParameter.all_value_type_parameter_restriction
|
617
|
-
has_one :value, :mandatory => true # See Value.all_value_type_parameter_restriction
|
618
|
-
end
|
619
|
-
|
620
|
-
class ImplicitBooleanValueType < ValueType
|
621
|
-
end
|
622
|
-
|
623
|
-
end
|
624
|
-
end
|
2
|
+
require_relative 'metamodel/metamodel'
|
3
|
+
require_relative 'metamodel/extensions'
|