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.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/activefacts-metamodel.gemspec +1 -1
- data/cql/Metamodel.cql +18 -8
- data/lib/activefacts/metamodel/extensions.rb +507 -473
- data/lib/activefacts/metamodel/metamodel.rb +131 -122
- data/lib/activefacts/metamodel/validate/composition.rb +146 -0
- data/lib/activefacts/metamodel/version.rb +1 -1
- data/lib/activefacts/support.rb +8 -8
- data/orm/Metamodel.cql.diffs +15 -21
- data/orm/Metamodel.orm +3669 -3341
- metadata +4 -9
@@ -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:
|
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
|