activefacts-metamodel 1.9.6 → 1.9.8

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.
@@ -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