activefacts-metamodel 1.9.6 → 1.9.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,51 +7,51 @@ module ActiveFacts
7
7
  one_to_one :guid, mandatory: true # Component has Guid, see Guid#component
8
8
  has_one :name # Component projects Name, see Name#all_component
9
9
  has_one :ordinal # Component has Ordinal rank, see Ordinal#all_component
10
- has_one :parent, class: "Mapping", counterpart: :member # Member belongs to Parent, see Mapping#all_member
10
+ has_one :parent, class: Component, counterpart: :member # Member belongs to Parent, see Component#all_member
11
11
  end
12
-
12
+
13
13
  class Mapping < Component
14
14
  has_one :object_type, mandatory: true # Mapping represents Object Type, see ObjectType#all_mapping
15
15
  end
16
-
16
+
17
17
  class AccessPath
18
18
  identified_by :guid
19
19
  one_to_one :guid, mandatory: true # Access Path has Guid, see Guid#access_path
20
20
  has_one :composite, mandatory: true # Access Path is to Composite, see Composite#all_access_path
21
21
  has_one :name # Access Path is called Name, see Name#all_access_path
22
22
  end
23
-
23
+
24
24
  class Guid < ::Guid
25
25
  value_type
26
26
  end
27
-
27
+
28
28
  class Name < String
29
29
  value_type length: 64
30
30
  end
31
-
31
+
32
32
  class Composition
33
33
  identified_by :guid
34
34
  one_to_one :guid, mandatory: true # Composition has Guid, see Guid#composition
35
35
  one_to_one :name, mandatory: true # Composition is called Name, see Name#composition
36
36
  end
37
-
37
+
38
38
  class Constraint
39
39
  identified_by :concept
40
40
  one_to_one :concept, mandatory: true # Constraint is an instance of Concept, see Concept#constraint
41
41
  has_one :name # Constraint is called Name, see Name#all_constraint
42
42
  has_one :vocabulary # Constraint belongs to Vocabulary, see Vocabulary#all_constraint
43
43
  end
44
-
44
+
45
45
  class Frequency < UnsignedInteger
46
46
  value_type length: 32
47
47
  end
48
-
48
+
49
49
  class RoleSequence
50
50
  identified_by :guid
51
51
  one_to_one :guid, mandatory: true # Role Sequence has Guid, see Guid#role_sequence
52
52
  maybe :has_unused_dependency_to_force_table_in_norma # Has Unused Dependency To Force Table In Norma
53
53
  end
54
-
54
+
55
55
  class PresenceConstraint < Constraint
56
56
  maybe :is_mandatory # Is Mandatory
57
57
  maybe :is_preferred_identifier # Is Preferred Identifier
@@ -59,32 +59,33 @@ module ActiveFacts
59
59
  has_one :max_frequency, class: Frequency # Presence Constraint has max-Frequency, see Frequency#all_presence_constraint_as_max_frequency
60
60
  has_one :min_frequency, class: Frequency # Presence Constraint has min-Frequency, see Frequency#all_presence_constraint_as_min_frequency
61
61
  end
62
-
62
+
63
63
  class Index < AccessPath
64
64
  maybe :is_unique # Is Unique
65
65
  has_one :presence_constraint, mandatory: true # Index derives from Presence Constraint, see PresenceConstraint#all_index
66
66
  end
67
-
67
+
68
68
  class Composite
69
69
  identified_by :mapping
70
70
  one_to_one :mapping, mandatory: true # Composite consists of Mapping, see Mapping#composite
71
71
  has_one :composition, mandatory: true # Composite belongs to Composition, see Composition#all_composite
72
+ one_to_one :natural_index, class: Index # Composite has natural-Index, see Index#composite_as_natural_index
72
73
  one_to_one :primary_index, class: Index # Composite has primary-Index, see Index#composite_as_primary_index
73
74
  end
74
-
75
+
75
76
  class ForeignKey < AccessPath
76
77
  has_one :source_composite, mandatory: true, class: Composite # Foreign Key traverses from source-Composite, see Composite#all_foreign_key_as_source_composite
77
78
  end
78
-
79
+
79
80
  class Pronoun < String
80
81
  value_type length: 20
81
82
  end
82
-
83
+
83
84
  class Vocabulary
84
85
  identified_by :name
85
86
  one_to_one :name, mandatory: true # Vocabulary is called Name, see Name#vocabulary
86
87
  end
87
-
88
+
88
89
  class ObjectType
89
90
  identified_by :vocabulary, :name
90
91
  has_one :vocabulary, mandatory: true # Object Type belongs to Vocabulary, see Vocabulary#all_object_type
@@ -92,37 +93,37 @@ module ActiveFacts
92
93
  maybe :is_independent # Is Independent
93
94
  has_one :pronoun # Object Type uses Pronoun, see Pronoun#all_object_type
94
95
  end
95
-
96
+
96
97
  class FullAbsorption
97
98
  identified_by :composition, :object_type
98
99
  has_one :composition, mandatory: true # Full Absorption involves Composition, see Composition#all_full_absorption
99
100
  has_one :object_type, mandatory: true # Full Absorption involves Object Type, see ObjectType#all_full_absorption
100
101
  end
101
-
102
+
102
103
  class NestingMode < String
103
104
  value_type
104
105
  end
105
-
106
+
106
107
  class ImplicationRuleName < String
107
108
  value_type
108
109
  end
109
-
110
+
110
111
  class ImplicationRule
111
112
  identified_by :implication_rule_name
112
113
  one_to_one :implication_rule_name, mandatory: true # Implication Rule has Implication Rule Name, see ImplicationRuleName#implication_rule
113
114
  end
114
-
115
+
115
116
  class Population
116
117
  identified_by :vocabulary, :name
117
118
  has_one :vocabulary # Population belongs to Vocabulary, see Vocabulary#all_population
118
119
  has_one :name, mandatory: true # Population has Name, see Name#all_population
119
120
  end
120
-
121
+
121
122
  class Topic
122
123
  identified_by :topic_name
123
124
  one_to_one :topic_name, mandatory: true, class: Name # Topic has topic-Name, see Name#topic_as_topic_name
124
125
  end
125
-
126
+
126
127
  class Concept
127
128
  identified_by :guid
128
129
  one_to_one :guid, mandatory: true # Concept has Guid, see Guid#concept
@@ -132,61 +133,61 @@ module ActiveFacts
132
133
  one_to_one :role # Role is an instance of Concept, see Role#concept
133
134
  has_one :topic # Concept belongs to Topic, see Topic#all_concept
134
135
  end
135
-
136
+
136
137
  class FactType
137
138
  identified_by :concept
138
139
  one_to_one :concept, mandatory: true # Fact Type is an instance of Concept, see Concept#fact_type
139
140
  end
140
-
141
+
141
142
  class LinkFactType < FactType
142
143
  end
143
-
144
+
144
145
  class Ordinal < UnsignedInteger
145
146
  value_type length: 16
146
147
  end
147
-
148
+
148
149
  class RegularExpression < String
149
150
  value_type
150
151
  end
151
-
152
+
152
153
  class DomainObjectType < ObjectType
153
154
  end
154
-
155
+
155
156
  class Length < UnsignedInteger
156
157
  value_type length: 32
157
158
  end
158
-
159
+
159
160
  class Scale < UnsignedInteger
160
161
  value_type length: 32
161
162
  end
162
-
163
+
163
164
  class TransactionPhase < String
164
165
  value_type
165
166
  end
166
-
167
+
167
168
  class Denominator < UnsignedInteger
168
169
  value_type length: 32
169
170
  end
170
-
171
+
171
172
  class Numerator < Decimal
172
173
  value_type
173
174
  end
174
-
175
+
175
176
  class Coefficient
176
177
  identified_by :numerator, :denominator, :is_precise
177
178
  has_one :numerator, mandatory: true # Coefficient has Numerator, see Numerator#all_coefficient
178
179
  has_one :denominator, mandatory: true # Coefficient has Denominator, see Denominator#all_coefficient
179
180
  maybe :is_precise # Is Precise
180
181
  end
181
-
182
+
182
183
  class EphemeraURL < String
183
184
  value_type
184
185
  end
185
-
186
+
186
187
  class Offset < Decimal
187
188
  value_type
188
189
  end
189
-
190
+
190
191
  class Unit
191
192
  identified_by :concept
192
193
  one_to_one :concept, mandatory: true # Unit is an instance of Concept, see Concept#unit
@@ -198,7 +199,7 @@ module ActiveFacts
198
199
  has_one :offset # Unit has Offset, see Offset#all_unit
199
200
  one_to_one :plural_name, class: Name, counterpart: :plural_named_unit # Plural Named Unit has plural-Name, see Name#plural_named_unit
200
201
  end
201
-
202
+
202
203
  class ValueType < DomainObjectType
203
204
  has_one :length # Value Type has Length, see Length#all_value_type
204
205
  has_one :scale # Value Type has Scale, see Scale#all_value_type
@@ -206,23 +207,23 @@ module ActiveFacts
206
207
  has_one :transaction_phase # Value Type is auto-assigned at Transaction Phase, see TransactionPhase#all_value_type
207
208
  has_one :unit # Value Type is of Unit, see Unit#all_value_type
208
209
  end
209
-
210
+
210
211
  class ValueConstraint < Constraint
211
212
  has_one :regular_expression # Value Constraint requires matching Regular Expression, see RegularExpression#all_value_constraint
212
213
  one_to_one :value_type # Value Constraint constrains Value Type, see ValueType#value_constraint
213
214
  end
214
-
215
+
215
216
  class Query
216
217
  identified_by :concept
217
218
  one_to_one :concept, mandatory: true # Query is an instance of Concept, see Concept#query
218
219
  end
219
-
220
+
220
221
  class AlternativeSet
221
222
  identified_by :guid
222
223
  one_to_one :guid, mandatory: true # Alternative Set has Guid, see Guid#alternative_set
223
224
  maybe :members_are_exclusive # Members Are Exclusive
224
225
  end
225
-
226
+
226
227
  class Step
227
228
  identified_by :guid
228
229
  one_to_one :guid, mandatory: true # Step has Guid, see Guid#step
@@ -231,15 +232,15 @@ module ActiveFacts
231
232
  has_one :fact_type, mandatory: true # Step specifies Fact Type, see FactType#all_step
232
233
  has_one :alternative_set # Step falls under Alternative Set, see AlternativeSet#all_step
233
234
  end
234
-
235
+
235
236
  class Subscript < UnsignedInteger
236
237
  value_type length: 16
237
238
  end
238
-
239
+
239
240
  class Literal < String
240
241
  value_type
241
242
  end
242
-
243
+
243
244
  class Value
244
245
  identified_by :literal, :is_literal_string, :unit
245
246
  has_one :literal, mandatory: true # Value is represented by Literal, see Literal#all_value
@@ -247,7 +248,7 @@ module ActiveFacts
247
248
  has_one :unit # Value is in Unit, see Unit#all_value
248
249
  has_one :value_type, mandatory: true # Value is of Value Type, see ValueType#all_value
249
250
  end
250
-
251
+
251
252
  class Variable
252
253
  identified_by :query, :ordinal
253
254
  has_one :query, mandatory: true # Variable is in Query, see Query#all_variable
@@ -258,7 +259,7 @@ module ActiveFacts
258
259
  has_one :subscript # Variable has Subscript, see Subscript#all_variable
259
260
  has_one :value # Variable is bound to Value, see Value#all_variable
260
261
  end
261
-
262
+
262
263
  class Role
263
264
  identified_by :fact_type, :ordinal
264
265
  has_one :fact_type, mandatory: true # Role belongs to Fact Type, see FactType#all_role
@@ -269,7 +270,7 @@ module ActiveFacts
269
270
  one_to_one :role_value_constraint, class: ValueConstraint # Role has role-Value Constraint, see ValueConstraint#role_as_role_value_constraint
270
271
  one_to_one :variable, counterpart: :projection # Projection is projected from Variable, see Variable#projection
271
272
  end
272
-
273
+
273
274
  class Absorption < Mapping
274
275
  maybe :flattens # Flattens
275
276
  has_one :child_role, mandatory: true, class: Role # Absorption traverses to child-Role, see Role#all_absorption_as_child_role
@@ -279,44 +280,44 @@ module ActiveFacts
279
280
  has_one :nesting_mode # Absorption uses Nesting Mode, see NestingMode#all_absorption
280
281
  one_to_one :reverse_absorption, class: Absorption, counterpart: :forward_absorption # forward-Absorption is matched by reverse-Absorption, see Absorption#forward_absorption
281
282
  end
282
-
283
+
283
284
  class Adjective < String
284
285
  value_type length: 64
285
286
  end
286
-
287
+
287
288
  class AgentName < String
288
289
  value_type
289
290
  end
290
-
291
+
291
292
  class Agent
292
293
  identified_by :agent_name
293
294
  one_to_one :agent_name, mandatory: true # Agent has Agent Name, see AgentName#agent
294
295
  end
295
-
296
+
296
297
  class AggregateCode < String
297
298
  value_type length: 32
298
299
  end
299
-
300
+
300
301
  class Aggregate
301
302
  identified_by :aggregate_code
302
303
  one_to_one :aggregate_code, mandatory: true # Aggregate has Aggregate Code, see AggregateCode#aggregate
303
304
  end
304
-
305
+
305
306
  class Aggregation
306
307
  identified_by :aggregate, :aggregated_variable
307
308
  has_one :aggregate, mandatory: true # Aggregation involves Aggregate, see Aggregate#all_aggregation
308
309
  has_one :aggregated_variable, mandatory: true, class: Variable # Aggregation involves Variable, see Variable#all_aggregation_as_aggregated_variable
309
310
  has_one :variable, mandatory: true # Aggregation involves Variable, see Variable#all_aggregation
310
311
  end
311
-
312
+
312
313
  class ContextNoteKind < String
313
314
  value_type
314
315
  end
315
-
316
+
316
317
  class Discussion < String
317
318
  value_type
318
319
  end
319
-
320
+
320
321
  class ContextNote
321
322
  identified_by :concept
322
323
  one_to_one :concept, mandatory: true # Context Note is an instance of Concept, see Concept#context_note
@@ -324,49 +325,49 @@ module ActiveFacts
324
325
  has_one :discussion, mandatory: true # Context Note has Discussion, see Discussion#all_context_note
325
326
  has_one :relevant_concept, class: Concept # Context Note applies to relevant-Concept, see Concept#all_context_note_as_relevant_concept
326
327
  end
327
-
328
+
328
329
  class Date < ::Date
329
330
  value_type
330
331
  end
331
-
332
+
332
333
  class Agreement
333
334
  identified_by :context_note
334
335
  one_to_one :context_note, mandatory: true # Agreement covers Context Note, see ContextNote#agreement
335
336
  has_one :date # Agreement was on Date, see Date#all_agreement
336
337
  end
337
-
338
+
338
339
  class Bound
339
340
  identified_by :value, :is_inclusive
340
341
  has_one :value, mandatory: true # Bound has Value, see Value#all_bound
341
342
  maybe :is_inclusive # Is Inclusive
342
343
  end
343
-
344
+
344
345
  class ValueRange
345
346
  identified_by :minimum_bound, :maximum_bound
346
347
  has_one :minimum_bound, class: Bound # Value Range has minimum-Bound, see Bound#all_value_range_as_minimum_bound
347
348
  has_one :maximum_bound, class: Bound # Value Range has maximum-Bound, see Bound#all_value_range_as_maximum_bound
348
349
  end
349
-
350
+
350
351
  class AllowedRange
351
352
  identified_by :value_constraint, :value_range
352
353
  has_one :value_constraint, mandatory: true # Allowed Range involves Value Constraint, see ValueConstraint#all_allowed_range
353
354
  has_one :value_range, mandatory: true # Allowed Range involves Value Range, see ValueRange#all_allowed_range
354
355
  end
355
-
356
+
356
357
  class Annotation < String
357
358
  value_type
358
359
  end
359
-
360
+
360
361
  class Assimilation < String
361
362
  value_type
362
363
  end
363
-
364
+
364
365
  class ConceptAnnotation
365
366
  identified_by :concept, :mapping_annotation
366
367
  has_one :concept, mandatory: true # Concept Annotation involves Concept, see Concept#all_concept_annotation
367
368
  has_one :mapping_annotation, mandatory: true, class: Annotation # Concept Annotation involves Annotation, see Annotation#all_concept_annotation_as_mapping_annotation
368
369
  end
369
-
370
+
370
371
  class Shape
371
372
  identified_by :guid
372
373
  one_to_one :guid, mandatory: true # Shape has Guid, see Guid#shape
@@ -374,70 +375,71 @@ module ActiveFacts
374
375
  has_one :orm_diagram, mandatory: true, class: "ORMDiagram" # Shape is in ORM Diagram, see ORMDiagram#all_shape_as_orm_diagram
375
376
  has_one :location # Shape is at Location, see Location#all_shape
376
377
  end
377
-
378
+
378
379
  class ConstraintShape < Shape
379
380
  has_one :constraint, mandatory: true # Constraint Shape is for Constraint, see Constraint#all_constraint_shape
380
381
  end
381
-
382
+
382
383
  class ContextAccordingTo
383
384
  identified_by :context_note, :agent
384
385
  has_one :context_note, mandatory: true # Context According To involves Context Note, see ContextNote#all_context_according_to
385
386
  has_one :agent, mandatory: true # Context According To involves Agent, see Agent#all_context_according_to
386
387
  has_one :date # Context According To was lodged on Date, see Date#all_context_according_to
387
388
  end
388
-
389
+
389
390
  class ContextAgreedBy
390
391
  identified_by :agreement, :agent
391
392
  has_one :agreement, mandatory: true # Context Agreed By involves Agreement, see Agreement#all_context_agreed_by
392
393
  has_one :agent, mandatory: true # Context Agreed By involves Agent, see Agent#all_context_agreed_by
393
394
  end
394
-
395
+
395
396
  class Exponent < SignedInteger
396
397
  value_type length: 16
397
398
  end
398
-
399
+
399
400
  class Derivation
400
401
  identified_by :derived_unit, :base_unit
401
402
  has_one :derived_unit, mandatory: true, class: Unit # Derivation involves Unit, see Unit#all_derivation_as_derived_unit
402
403
  has_one :base_unit, mandatory: true, class: Unit # Derivation involves Unit, see Unit#all_derivation_as_base_unit
403
404
  has_one :exponent # Derivation has Exponent, see Exponent#all_derivation
404
405
  end
405
-
406
+
406
407
  class Diagram
407
408
  identified_by :vocabulary, :name
408
409
  has_one :vocabulary, mandatory: true # Diagram is for Vocabulary, see Vocabulary#all_diagram
409
410
  has_one :name, mandatory: true # Diagram is called Name, see Name#all_diagram
410
411
  end
411
-
412
+
412
413
  class Discriminator < Component
413
414
  end
414
-
415
+
415
416
  class DiscriminatedRole
416
417
  identified_by :discriminator, :role
417
418
  has_one :discriminator, mandatory: true # Discriminated Role involves Discriminator, see Discriminator#all_discriminated_role
418
419
  has_one :role, mandatory: true # Discriminated Role involves Role, see Role#all_discriminated_role
419
420
  has_one :value, mandatory: true # Discriminated Role involves Value, see Value#all_discriminated_role
420
421
  end
421
-
422
+
422
423
  class DisplayRoleNamesSetting < String
423
424
  value_type
424
425
  end
425
-
426
+
426
427
  class EnforcementCode < String
427
428
  value_type length: 16
428
429
  end
429
-
430
+
430
431
  class Enforcement
431
432
  identified_by :constraint
432
433
  one_to_one :constraint, mandatory: true # Enforcement applies to Constraint, see Constraint#enforcement
433
434
  has_one :enforcement_code, mandatory: true # Enforcement has Enforcement Code, see EnforcementCode#all_enforcement
434
435
  has_one :agent # Enforcement notifies Agent, see Agent#all_enforcement
435
436
  end
436
-
437
+
437
438
  class EntityType < DomainObjectType
438
439
  one_to_one :fact_type # Entity Type objectifies Fact Type, see FactType#entity_type
440
+ has_one :implicitly_objectified_fact_type, class: FactType # Entity Type implicitly objectifies implicitly- objectified Fact Type, see FactType#all_entity_type_as_implicitly_objectified_fact_type
439
441
  end
440
-
442
+
441
443
  class Instance
442
444
  identified_by :concept
443
445
  one_to_one :concept, mandatory: true # Instance is an instance of Concept, see Concept#instance
@@ -445,7 +447,7 @@ module ActiveFacts
445
447
  has_one :population, mandatory: true # Instance belongs to Population, see Population#all_instance
446
448
  has_one :value # Instance has Value, see Value#all_instance
447
449
  end
448
-
450
+
449
451
  class Fact
450
452
  identified_by :concept
451
453
  one_to_one :concept, mandatory: true # Fact is an instance of Concept, see Concept#fact
@@ -453,14 +455,14 @@ module ActiveFacts
453
455
  has_one :population, mandatory: true # Fact belongs to Population, see Population#all_fact
454
456
  one_to_one :instance # Fact is objectified as Instance, see Instance#fact
455
457
  end
456
-
458
+
457
459
  class ObjectifiedFactTypeNameShape < Shape
458
460
  end
459
-
461
+
460
462
  class Text < String
461
463
  value_type length: 256
462
464
  end
463
-
465
+
464
466
  class Reading
465
467
  identified_by :fact_type, :ordinal
466
468
  has_one :fact_type, mandatory: true # Reading is for Fact Type, see FactType#all_reading
@@ -469,15 +471,15 @@ module ActiveFacts
469
471
  has_one :role_sequence, mandatory: true # Reading is in Role Sequence, see RoleSequence#all_reading
470
472
  has_one :text, mandatory: true # Reading has Text, see Text#all_reading
471
473
  end
472
-
474
+
473
475
  class ReadingShape < Shape
474
476
  has_one :reading, mandatory: true # Reading Shape is for Reading, see Reading#all_reading_shape
475
477
  end
476
-
478
+
477
479
  class RotationSetting < String
478
480
  value_type
479
481
  end
480
-
482
+
481
483
  class FactTypeShape < Shape
482
484
  has_one :fact_type, mandatory: true # Fact Type Shape is for Fact Type, see FactType#all_fact_type_shape
483
485
  has_one :display_role_names_setting # Fact Type Shape has Display Role Names Setting, see DisplayRoleNamesSetting#all_fact_type_shape
@@ -485,7 +487,7 @@ module ActiveFacts
485
487
  one_to_one :reading_shape # Fact Type Shape has Reading Shape, see ReadingShape#fact_type_shape
486
488
  has_one :rotation_setting # Fact Type Shape has Rotation Setting, see RotationSetting#all_fact_type_shape
487
489
  end
488
-
490
+
489
491
  class ForeignKeyField
490
492
  identified_by :foreign_key, :ordinal
491
493
  has_one :foreign_key, mandatory: true # Foreign Key Field involves Foreign Key, see ForeignKey#all_foreign_key_field
@@ -493,7 +495,7 @@ module ActiveFacts
493
495
  has_one :component, mandatory: true # Foreign Key Field involves Component, see Component#all_foreign_key_field
494
496
  has_one :value # Foreign Key Field is discriminated by Value, see Value#all_foreign_key_field
495
497
  end
496
-
498
+
497
499
  class IndexField
498
500
  identified_by :access_path, :ordinal
499
501
  has_one :access_path, mandatory: true # Index Field involves Access Path, see AccessPath#all_index_field
@@ -501,48 +503,48 @@ module ActiveFacts
501
503
  has_one :component, mandatory: true # Index Field involves Component, see Component#all_index_field
502
504
  has_one :value # Index Field is discriminated by Value, see Value#all_index_field
503
505
  end
504
-
506
+
505
507
  class Indicator < Component
506
508
  has_one :role, mandatory: true # Indicator indicates Role played, see Role#all_indicator
507
509
  end
508
-
510
+
509
511
  class Injection < Mapping
510
512
  end
511
-
513
+
512
514
  class LeafConstraint
513
515
  identified_by :component, :leaf_constraint
514
516
  has_one :component, mandatory: true # Leaf Constraint involves Component, see Component#all_leaf_constraint
515
517
  has_one :leaf_constraint, mandatory: true, class: Constraint # Leaf Constraint involves Constraint, see Constraint#all_leaf_constraint_as_leaf_constraint
516
518
  end
517
-
519
+
518
520
  class LocalConstraint
519
521
  identified_by :composite, :local_constraint
520
522
  has_one :composite, mandatory: true # Local Constraint involves Composite, see Composite#all_local_constraint
521
523
  has_one :local_constraint, mandatory: true, class: Constraint # Local Constraint involves Constraint, see Constraint#all_local_constraint_as_local_constraint
522
524
  end
523
-
525
+
524
526
  class X < SignedInteger
525
527
  value_type length: 32
526
528
  end
527
-
529
+
528
530
  class Y < SignedInteger
529
531
  value_type length: 32
530
532
  end
531
-
533
+
532
534
  class Location
533
535
  identified_by :x, :y
534
536
  has_one :x, mandatory: true # Location is at X, see X#all_location
535
537
  has_one :y, mandatory: true # Location is at Y, see Y#all_location
536
538
  end
537
-
539
+
538
540
  class MirrorRole < Role
539
541
  one_to_one :base_role, class: Role # Mirror Role is for Base Role, see Role#mirror_role_as_base_role
540
542
  end
541
-
543
+
542
544
  class ModelNoteShape < Shape
543
545
  has_one :context_note, mandatory: true # Model Note Shape is for Context Note, see ContextNote#all_model_note_shape
544
546
  end
545
-
547
+
546
548
  class Nesting
547
549
  identified_by :absorption, :ordinal
548
550
  has_one :absorption, mandatory: true # Nesting involves Absorption, see Absorption#all_nesting
@@ -550,15 +552,15 @@ module ActiveFacts
550
552
  has_one :index_role, mandatory: true, class: Role # Nesting involves Role, see Role#all_nesting_as_index_role
551
553
  has_one :key_name, class: Name # Nesting has key-Name, see Name#all_nesting_as_key_name
552
554
  end
553
-
555
+
554
556
  class ORMDiagram < Diagram
555
557
  end
556
-
558
+
557
559
  class ObjectTypeShape < Shape
558
560
  maybe :has_expanded_reference_mode # Has Expanded Reference Mode
559
561
  has_one :object_type, mandatory: true # Object Type Shape is for Object Type, see ObjectType#all_object_type_shape
560
562
  end
561
-
563
+
562
564
  class RoleRef
563
565
  identified_by :role_sequence, :ordinal
564
566
  has_one :role_sequence, mandatory: true # Role Ref involves Role Sequence, see RoleSequence#all_role_ref
@@ -567,7 +569,7 @@ module ActiveFacts
567
569
  has_one :leading_adjective, class: Adjective # Role Ref has leading-Adjective, see Adjective#all_role_ref_as_leading_adjective
568
570
  has_one :trailing_adjective, class: Adjective # Role Ref has trailing-Adjective, see Adjective#all_role_ref_as_trailing_adjective
569
571
  end
570
-
572
+
571
573
  class Play
572
574
  identified_by :step, :role
573
575
  has_one :step, mandatory: true # Play involves Step, see Step#all_play
@@ -576,28 +578,28 @@ module ActiveFacts
576
578
  has_one :variable, mandatory: true # Play involves Variable, see Variable#all_play
577
579
  one_to_one :role_ref # Play projects Role Ref, see RoleRef#play
578
580
  end
579
-
581
+
580
582
  class RingType < String
581
583
  value_type
582
584
  end
583
-
585
+
584
586
  class RingConstraint < Constraint
585
587
  has_one :ring_type, mandatory: true # Ring Constraint is of Ring Type, see RingType#all_ring_constraint
586
588
  has_one :other_role, class: Role # Ring Constraint has other-Role, see Role#all_ring_constraint_as_other_role
587
589
  has_one :role # Ring Constraint has Role, see Role#all_ring_constraint
588
590
  end
589
-
591
+
590
592
  class RingConstraintShape < ConstraintShape
591
593
  has_one :fact_type_shape, mandatory: true # Ring Constraint Shape is attached to Fact Type Shape, see FactTypeShape#all_ring_constraint_shape
592
594
  end
593
-
595
+
594
596
  class RoleNameShape < Shape
595
597
  end
596
-
598
+
597
599
  class ValueConstraintShape < ConstraintShape
598
600
  has_one :object_type_shape # Value Constraint Shape is for Object Type Shape, see ObjectTypeShape#all_value_constraint_shape
599
601
  end
600
-
602
+
601
603
  class RoleDisplay
602
604
  identified_by :fact_type_shape, :ordinal
603
605
  has_one :fact_type_shape, mandatory: true # Role Display involves Fact Type Shape, see FactTypeShape#all_role_display
@@ -606,7 +608,7 @@ module ActiveFacts
606
608
  one_to_one :role_name_shape # Role Display has Role Name Shape, see RoleNameShape#role_display
607
609
  one_to_one :value_constraint_shape # Role Display has Value Constraint Shape, see ValueConstraintShape#role_display
608
610
  end
609
-
611
+
610
612
  class RoleValue
611
613
  identified_by :fact, :role
612
614
  has_one :fact, mandatory: true # Role Value fulfils Fact, see Fact#all_role_value
@@ -614,44 +616,48 @@ module ActiveFacts
614
616
  has_one :instance, mandatory: true # Role Value is of Instance, see Instance#all_role_value
615
617
  has_one :population, mandatory: true # Role Value belongs to Population, see Population#all_role_value
616
618
  end
617
-
619
+
618
620
  class Scoping < Mapping
619
621
  end
620
-
622
+
621
623
  class SetConstraint < Constraint
622
624
  end
623
-
625
+
624
626
  class SetComparisonConstraint < SetConstraint
625
627
  end
626
-
628
+
627
629
  class SetComparisonRoles
628
630
  identified_by :set_comparison_constraint, :ordinal
629
631
  has_one :set_comparison_constraint, mandatory: true # Set Comparison Roles involves Set Comparison Constraint, see SetComparisonConstraint#all_set_comparison_roles
630
632
  has_one :ordinal, mandatory: true # Set Comparison Roles involves Ordinal, see Ordinal#all_set_comparison_roles
631
633
  has_one :role_sequence, mandatory: true # Set Comparison Roles involves Role Sequence, see RoleSequence#all_set_comparison_roles
632
634
  end
633
-
635
+
634
636
  class SetEqualityConstraint < SetComparisonConstraint
635
637
  end
636
-
638
+
637
639
  class SetExclusionConstraint < SetComparisonConstraint
638
640
  maybe :is_mandatory # Is Mandatory
639
641
  end
640
-
642
+
641
643
  class SpanningConstraint
642
644
  identified_by :composite, :spanning_constraint
643
645
  has_one :composite, mandatory: true # Spanning Constraint involves Composite, see Composite#all_spanning_constraint
644
646
  has_one :spanning_constraint, mandatory: true, class: Constraint # Spanning Constraint involves Constraint, see Constraint#all_spanning_constraint_as_spanning_constraint
645
647
  end
646
-
648
+
647
649
  class SubsetConstraint < SetConstraint
648
650
  has_one :subset_role_sequence, mandatory: true, class: RoleSequence # Subset Constraint covers subset-Role Sequence, see RoleSequence#all_subset_constraint_as_subset_role_sequence
649
651
  has_one :superset_role_sequence, mandatory: true, class: RoleSequence # Subset Constraint covers superset-Role Sequence, see RoleSequence#all_subset_constraint_as_superset_role_sequence
650
652
  end
651
-
653
+
652
654
  class SurrogateKey < Injection
653
655
  end
654
-
656
+
657
+ class TemporalMapping < Mapping
658
+ has_one :value_type, mandatory: true # Temporal Mapping records time using Value Type, see ValueType#all_temporal_mapping
659
+ end
660
+
655
661
  class TypeInheritance < FactType
656
662
  identified_by :subtype, :supertype
657
663
  has_one :subtype, mandatory: true, class: EntityType # Type Inheritance involves Entity Type, see EntityType#all_type_inheritance_as_subtype
@@ -659,17 +665,20 @@ module ActiveFacts
659
665
  maybe :provides_identification # Provides Identification
660
666
  has_one :assimilation # Type Inheritance uses Assimilation, see Assimilation#all_type_inheritance
661
667
  end
662
-
668
+
669
+ class ValidFrom < Injection
670
+ end
671
+
663
672
  class ValueField < Injection
664
673
  end
665
-
674
+
666
675
  class ValueTypeParameter
667
676
  identified_by :value_type, :name
668
677
  has_one :value_type, mandatory: true # Value Type Parameter involves Value Type, see ValueType#all_value_type_parameter
669
678
  has_one :name, mandatory: true # Value Type Parameter involves Name, see Name#all_value_type_parameter
670
679
  has_one :parameter_value_type, mandatory: true, class: ValueType # Value Type Parameter requires value of parameter-Value Type, see ValueType#all_value_type_parameter_as_parameter_value_type
671
680
  end
672
-
681
+
673
682
  class ValueTypeParameterRestriction
674
683
  identified_by :value_type, :value_type_parameter
675
684
  has_one :value_type, mandatory: true # Value Type Parameter Restriction involves Value Type, see ValueType#all_value_type_parameter_restriction