activefacts 1.6.0 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +14 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +60 -0
  8. data/Rakefile +3 -80
  9. data/activefacts.gemspec +36 -0
  10. data/bin/afgen +4 -2
  11. data/bin/cql +5 -1
  12. data/lib/activefacts.rb +3 -12
  13. data/lib/activefacts/{vocabulary/query_evaluator.rb → query/evaluator.rb} +0 -0
  14. data/lib/activefacts/version.rb +2 -2
  15. metadata +48 -296
  16. data/History.txt +0 -4
  17. data/LICENSE +0 -19
  18. data/Manifest.txt +0 -165
  19. data/README.rdoc +0 -81
  20. data/css/offline.css +0 -3
  21. data/css/orm2.css +0 -124
  22. data/css/print.css +0 -8
  23. data/css/style-print.css +0 -357
  24. data/css/style.css +0 -387
  25. data/download.html +0 -110
  26. data/examples/CQL/Address.cql +0 -44
  27. data/examples/CQL/Blog.cql +0 -54
  28. data/examples/CQL/CompanyDirectorEmployee.cql +0 -56
  29. data/examples/CQL/Death.cql +0 -17
  30. data/examples/CQL/Diplomacy.cql +0 -48
  31. data/examples/CQL/Genealogy.cql +0 -98
  32. data/examples/CQL/Insurance.cql +0 -320
  33. data/examples/CQL/Marriage.cql +0 -18
  34. data/examples/CQL/Metamodel.cql +0 -493
  35. data/examples/CQL/Monogamy.cql +0 -24
  36. data/examples/CQL/MultiInheritance.cql +0 -22
  37. data/examples/CQL/NonRoleId.cql +0 -14
  38. data/examples/CQL/OddIdentifier.cql +0 -18
  39. data/examples/CQL/OilSupply.cql +0 -53
  40. data/examples/CQL/OneToOnes.cql +0 -17
  41. data/examples/CQL/Orienteering.cql +0 -111
  42. data/examples/CQL/PersonPlaysGame.cql +0 -18
  43. data/examples/CQL/RedundantDependency.cql +0 -34
  44. data/examples/CQL/SchoolActivities.cql +0 -33
  45. data/examples/CQL/SeparateSubtype.cql +0 -30
  46. data/examples/CQL/ServiceDirector.cql +0 -276
  47. data/examples/CQL/SimplestUnary.cql +0 -12
  48. data/examples/CQL/Supervision.cql +0 -34
  49. data/examples/CQL/WaiterTips.cql +0 -33
  50. data/examples/CQL/Warehousing.cql +0 -101
  51. data/examples/CQL/WindowInRoomInBldg.cql +0 -28
  52. data/examples/CQL/unit.cql +0 -474
  53. data/examples/index.html +0 -420
  54. data/examples/intro.html +0 -327
  55. data/examples/local.css +0 -24
  56. data/index.html +0 -111
  57. data/lib/activefacts/cql.rb +0 -35
  58. data/lib/activefacts/cql/CQLParser.treetop +0 -158
  59. data/lib/activefacts/cql/Context.treetop +0 -48
  60. data/lib/activefacts/cql/Expressions.treetop +0 -67
  61. data/lib/activefacts/cql/FactTypes.treetop +0 -358
  62. data/lib/activefacts/cql/Language/English.treetop +0 -315
  63. data/lib/activefacts/cql/LexicalRules.treetop +0 -253
  64. data/lib/activefacts/cql/ObjectTypes.treetop +0 -210
  65. data/lib/activefacts/cql/Rakefile +0 -14
  66. data/lib/activefacts/cql/Terms.treetop +0 -183
  67. data/lib/activefacts/cql/ValueTypes.treetop +0 -202
  68. data/lib/activefacts/cql/compiler.rb +0 -156
  69. data/lib/activefacts/cql/compiler/clause.rb +0 -1137
  70. data/lib/activefacts/cql/compiler/constraint.rb +0 -581
  71. data/lib/activefacts/cql/compiler/entity_type.rb +0 -457
  72. data/lib/activefacts/cql/compiler/expression.rb +0 -443
  73. data/lib/activefacts/cql/compiler/fact.rb +0 -390
  74. data/lib/activefacts/cql/compiler/fact_type.rb +0 -421
  75. data/lib/activefacts/cql/compiler/query.rb +0 -106
  76. data/lib/activefacts/cql/compiler/shared.rb +0 -161
  77. data/lib/activefacts/cql/compiler/value_type.rb +0 -174
  78. data/lib/activefacts/cql/nodes.rb +0 -49
  79. data/lib/activefacts/cql/parser.rb +0 -241
  80. data/lib/activefacts/dependency_analyser.rb +0 -182
  81. data/lib/activefacts/generate/absorption.rb +0 -70
  82. data/lib/activefacts/generate/composition.rb +0 -118
  83. data/lib/activefacts/generate/cql.rb +0 -714
  84. data/lib/activefacts/generate/dm.rb +0 -279
  85. data/lib/activefacts/generate/help.rb +0 -64
  86. data/lib/activefacts/generate/helpers/inject.rb +0 -16
  87. data/lib/activefacts/generate/helpers/oo.rb +0 -162
  88. data/lib/activefacts/generate/helpers/ordered.rb +0 -605
  89. data/lib/activefacts/generate/helpers/rails.rb +0 -57
  90. data/lib/activefacts/generate/html/glossary.rb +0 -461
  91. data/lib/activefacts/generate/json.rb +0 -337
  92. data/lib/activefacts/generate/null.rb +0 -32
  93. data/lib/activefacts/generate/rails/models.rb +0 -246
  94. data/lib/activefacts/generate/rails/schema.rb +0 -216
  95. data/lib/activefacts/generate/records.rb +0 -46
  96. data/lib/activefacts/generate/ruby.rb +0 -133
  97. data/lib/activefacts/generate/sql/mysql.rb +0 -280
  98. data/lib/activefacts/generate/sql/server.rb +0 -273
  99. data/lib/activefacts/generate/stats.rb +0 -69
  100. data/lib/activefacts/generate/text.rb +0 -27
  101. data/lib/activefacts/generate/topics.rb +0 -265
  102. data/lib/activefacts/generate/traits/datavault.rb +0 -241
  103. data/lib/activefacts/generate/traits/oo.rb +0 -73
  104. data/lib/activefacts/generate/traits/ordered.rb +0 -33
  105. data/lib/activefacts/generate/traits/ruby.rb +0 -210
  106. data/lib/activefacts/generate/transform/datavault.rb +0 -266
  107. data/lib/activefacts/generate/transform/surrogate.rb +0 -214
  108. data/lib/activefacts/generate/version.rb +0 -26
  109. data/lib/activefacts/input/cql.rb +0 -43
  110. data/lib/activefacts/input/orm.rb +0 -1636
  111. data/lib/activefacts/mapping/rails.rb +0 -132
  112. data/lib/activefacts/persistence.rb +0 -15
  113. data/lib/activefacts/persistence/columns.rb +0 -446
  114. data/lib/activefacts/persistence/foreignkey.rb +0 -187
  115. data/lib/activefacts/persistence/index.rb +0 -240
  116. data/lib/activefacts/persistence/object_type.rb +0 -198
  117. data/lib/activefacts/persistence/reference.rb +0 -434
  118. data/lib/activefacts/persistence/tables.rb +0 -380
  119. data/lib/activefacts/registry.rb +0 -11
  120. data/lib/activefacts/support.rb +0 -132
  121. data/lib/activefacts/vocabulary.rb +0 -9
  122. data/lib/activefacts/vocabulary/extensions.rb +0 -1348
  123. data/lib/activefacts/vocabulary/metamodel.rb +0 -570
  124. data/lib/activefacts/vocabulary/verbaliser.rb +0 -804
  125. data/script/txt2html +0 -71
  126. data/spec/absorption_spec.rb +0 -95
  127. data/spec/cql/comparison_spec.rb +0 -89
  128. data/spec/cql/context_spec.rb +0 -94
  129. data/spec/cql/contractions_spec.rb +0 -224
  130. data/spec/cql/deontic_spec.rb +0 -88
  131. data/spec/cql/entity_type_spec.rb +0 -320
  132. data/spec/cql/expressions_spec.rb +0 -66
  133. data/spec/cql/fact_type_matching_spec.rb +0 -338
  134. data/spec/cql/french_spec.rb +0 -21
  135. data/spec/cql/parser/bad_literals_spec.rb +0 -86
  136. data/spec/cql/parser/constraints_spec.rb +0 -19
  137. data/spec/cql/parser/entity_types_spec.rb +0 -106
  138. data/spec/cql/parser/expressions_spec.rb +0 -199
  139. data/spec/cql/parser/fact_types_spec.rb +0 -44
  140. data/spec/cql/parser/literals_spec.rb +0 -312
  141. data/spec/cql/parser/pragmas_spec.rb +0 -89
  142. data/spec/cql/parser/value_types_spec.rb +0 -42
  143. data/spec/cql/role_matching_spec.rb +0 -148
  144. data/spec/cql/samples_spec.rb +0 -244
  145. data/spec/cql_cql_spec.rb +0 -73
  146. data/spec/cql_dm_spec.rb +0 -136
  147. data/spec/cql_mysql_spec.rb +0 -69
  148. data/spec/cql_parse_spec.rb +0 -34
  149. data/spec/cql_ruby_spec.rb +0 -73
  150. data/spec/cql_sql_spec.rb +0 -72
  151. data/spec/cql_symbol_tables_spec.rb +0 -261
  152. data/spec/cqldump_spec.rb +0 -170
  153. data/spec/helpers/array_matcher.rb +0 -23
  154. data/spec/helpers/ctrl_c_support.rb +0 -52
  155. data/spec/helpers/diff_matcher.rb +0 -39
  156. data/spec/helpers/file_matcher.rb +0 -34
  157. data/spec/helpers/parse_to_ast_matcher.rb +0 -80
  158. data/spec/helpers/string_matcher.rb +0 -30
  159. data/spec/helpers/test_parser.rb +0 -15
  160. data/spec/norma_cql_spec.rb +0 -66
  161. data/spec/norma_ruby_spec.rb +0 -62
  162. data/spec/norma_ruby_sql_spec.rb +0 -107
  163. data/spec/norma_sql_spec.rb +0 -57
  164. data/spec/norma_tables_spec.rb +0 -95
  165. data/spec/ruby_api_spec.rb +0 -23
  166. data/spec/spec_helper.rb +0 -35
  167. data/spec/transform_surrogate_spec.rb +0 -59
  168. data/status.html +0 -138
  169. data/why.html +0 -60
@@ -1,570 +0,0 @@
1
- require 'activefacts/api'
2
-
3
- module ActiveFacts
4
- module Metamodel
5
-
6
- class Adjective < String
7
- value_type :length => 64
8
- end
9
-
10
- class AgentName < String
11
- value_type
12
- one_to_one :agent # See Agent.agent_name
13
- end
14
-
15
- class AggregateCode < String
16
- value_type :length => 32
17
- one_to_one :aggregate # See Aggregate.aggregate_code
18
- end
19
-
20
- class Annotation < String
21
- value_type
22
- end
23
-
24
- class Assimilation < String
25
- value_type
26
- restrict 'absorbed', 'partitioned', 'separate'
27
- end
28
-
29
- class ContextNoteKind < String
30
- value_type
31
- restrict 'as_opposed_to', 'because', 'so_that', 'to_avoid'
32
- end
33
-
34
- class Date < ::Date
35
- value_type
36
- end
37
-
38
- class Denominator < UnsignedInteger
39
- value_type :length => 32
40
- end
41
-
42
- class Discussion < String
43
- value_type
44
- end
45
-
46
- class DisplayRoleNamesSetting < String
47
- value_type
48
- restrict 'false', 'true'
49
- end
50
-
51
- class EnforcementCode < String
52
- value_type :length => 16
53
- end
54
-
55
- class EphemeraURL < String
56
- value_type
57
- end
58
-
59
- class Exponent < SignedInteger
60
- value_type :length => 16
61
- end
62
-
63
- class Frequency < UnsignedInteger
64
- value_type :length => 32
65
- end
66
-
67
- class Guid < ::Guid
68
- value_type
69
- one_to_one :alternative_set # See AlternativeSet.guid
70
- one_to_one :concept # See Concept.guid
71
- one_to_one :role_sequence # See RoleSequence.guid
72
- one_to_one :shape # See Shape.guid
73
- one_to_one :step # See Step.guid
74
- end
75
-
76
- class ImplicationRuleName < String
77
- value_type
78
- one_to_one :implication_rule # See ImplicationRule.implication_rule_name
79
- end
80
-
81
- class Length < UnsignedInteger
82
- value_type :length => 32
83
- end
84
-
85
- class Literal < String
86
- value_type
87
- end
88
-
89
- class Name < String
90
- value_type :length => 64
91
- one_to_one :plural_named_unit, :class => "Unit", :counterpart => :plural_name # See Unit.plural_name
92
- one_to_one :topic, :counterpart => :topic_name # See Topic.topic_name
93
- one_to_one :unit # See Unit.name
94
- one_to_one :vocabulary # See Vocabulary.name
95
- end
96
-
97
- class Numerator < Decimal
98
- value_type
99
- end
100
-
101
- class Offset < Decimal
102
- value_type
103
- end
104
-
105
- class Ordinal < UnsignedInteger
106
- value_type :length => 16
107
- end
108
-
109
- class Pronoun < String
110
- value_type :length => 20
111
- restrict 'feminine', 'masculine', 'neuter', 'personal'
112
- end
113
-
114
- class RegularExpression < String
115
- value_type
116
- end
117
-
118
- class RingType < String
119
- value_type
120
- end
121
-
122
- class RotationSetting < String
123
- value_type
124
- restrict 'left', 'right'
125
- end
126
-
127
- class Scale < UnsignedInteger
128
- value_type :length => 32
129
- end
130
-
131
- class Subscript < UnsignedInteger
132
- value_type :length => 16
133
- end
134
-
135
- class Text < String
136
- value_type :length => 256
137
- end
138
-
139
- class TransactionPhase < String
140
- value_type
141
- restrict 'assert', 'commit'
142
- end
143
-
144
- class X < SignedInteger
145
- value_type :length => 32
146
- end
147
-
148
- class Y < SignedInteger
149
- value_type :length => 32
150
- end
151
-
152
- class Agent
153
- identified_by :agent_name
154
- one_to_one :agent_name, :mandatory => true # See AgentName.agent
155
- end
156
-
157
- class Aggregate
158
- identified_by :aggregate_code
159
- one_to_one :aggregate_code, :mandatory => true # See AggregateCode.aggregate
160
- end
161
-
162
- class AlternativeSet
163
- identified_by :guid
164
- one_to_one :guid, :mandatory => true # See Guid.alternative_set
165
- maybe :members_are_exclusive
166
- end
167
-
168
- class Coefficient
169
- identified_by :numerator, :denominator, :is_precise
170
- has_one :denominator, :mandatory => true # See Denominator.all_coefficient
171
- maybe :is_precise
172
- has_one :numerator, :mandatory => true # See Numerator.all_coefficient
173
- end
174
-
175
- class Concept
176
- identified_by :guid
177
- one_to_one :guid, :mandatory => true # See Guid.concept
178
- has_one :implication_rule # See ImplicationRule.all_concept
179
- has_one :topic # See Topic.all_concept
180
- end
181
-
182
- class ConceptAnnotation
183
- identified_by :concept, :mapping_annotation
184
- has_one :concept, :mandatory => true # See Concept.all_concept_annotation
185
- has_one :mapping_annotation, :class => Annotation, :mandatory => true # See Annotation.all_concept_annotation_as_mapping_annotation
186
- end
187
-
188
- class Constraint
189
- identified_by :concept
190
- one_to_one :concept, :mandatory => true # See Concept.constraint
191
- has_one :name # See Name.all_constraint
192
- has_one :vocabulary # See Vocabulary.all_constraint
193
- end
194
-
195
- class ContextNote
196
- identified_by :concept
197
- one_to_one :concept, :mandatory => true # See Concept.context_note
198
- has_one :context_note_kind, :mandatory => true # See ContextNoteKind.all_context_note
199
- has_one :discussion, :mandatory => true # See Discussion.all_context_note
200
- has_one :relevant_concept, :class => Concept # See Concept.all_context_note_as_relevant_concept
201
- end
202
-
203
- class Enforcement
204
- identified_by :constraint
205
- has_one :agent # See Agent.all_enforcement
206
- one_to_one :constraint, :mandatory => true # See Constraint.enforcement
207
- has_one :enforcement_code, :mandatory => true # See EnforcementCode.all_enforcement
208
- end
209
-
210
- class Fact
211
- identified_by :concept
212
- one_to_one :concept, :mandatory => true # See Concept.fact
213
- has_one :fact_type, :mandatory => true # See FactType.all_fact
214
- has_one :population, :mandatory => true # See Population.all_fact
215
- end
216
-
217
- class FactType
218
- identified_by :concept
219
- one_to_one :concept, :mandatory => true # See Concept.fact_type
220
- end
221
-
222
- class ImplicationRule
223
- identified_by :implication_rule_name
224
- one_to_one :implication_rule_name, :mandatory => true # See ImplicationRuleName.implication_rule
225
- end
226
-
227
- class Instance
228
- identified_by :concept
229
- one_to_one :concept, :mandatory => true # See Concept.instance
230
- one_to_one :fact # See Fact.instance
231
- has_one :object_type, :mandatory => true # See ObjectType.all_instance
232
- has_one :population, :mandatory => true # See Population.all_instance
233
- has_one :value # See Value.all_instance
234
- end
235
-
236
- class LinkFactType < FactType
237
- end
238
-
239
- class Location
240
- identified_by :x, :y
241
- has_one :x, :mandatory => true # See X.all_location
242
- has_one :y, :mandatory => true # See Y.all_location
243
- end
244
-
245
- class PresenceConstraint < Constraint
246
- maybe :is_mandatory
247
- maybe :is_preferred_identifier
248
- has_one :max_frequency, :class => Frequency # See Frequency.all_presence_constraint_as_max_frequency
249
- has_one :min_frequency, :class => Frequency # See Frequency.all_presence_constraint_as_min_frequency
250
- has_one :role_sequence, :mandatory => true # See RoleSequence.all_presence_constraint
251
- end
252
-
253
- class Query
254
- identified_by :concept
255
- one_to_one :concept, :mandatory => true # See Concept.query
256
- end
257
-
258
- class Reading
259
- identified_by :fact_type, :ordinal
260
- has_one :fact_type, :mandatory => true # See FactType.all_reading
261
- maybe :is_negative
262
- has_one :ordinal, :mandatory => true # See Ordinal.all_reading
263
- has_one :role_sequence, :mandatory => true # See RoleSequence.all_reading
264
- has_one :text, :mandatory => true # See Text.all_reading
265
- end
266
-
267
- class RingConstraint < Constraint
268
- has_one :other_role, :class => "Role" # See Role.all_ring_constraint_as_other_role
269
- has_one :ring_type, :mandatory => true # See RingType.all_ring_constraint
270
- has_one :role # See Role.all_ring_constraint
271
- end
272
-
273
- class Role
274
- identified_by :fact_type, :ordinal
275
- one_to_one :concept, :mandatory => true # See Concept.role
276
- has_one :fact_type, :mandatory => true # See FactType.all_role
277
- one_to_one :link_fact_type, :counterpart => :implying_role # See LinkFactType.implying_role
278
- has_one :object_type, :mandatory => true # See ObjectType.all_role
279
- has_one :ordinal, :mandatory => true # See Ordinal.all_role
280
- has_one :role_name, :class => Name # See Name.all_role_as_role_name
281
- end
282
-
283
- class RoleSequence
284
- identified_by :guid
285
- one_to_one :guid, :mandatory => true # See Guid.role_sequence
286
- maybe :has_unused_dependency_to_force_table_in_norma
287
- end
288
-
289
- class RoleValue
290
- identified_by :fact, :role
291
- has_one :fact, :mandatory => true # See Fact.all_role_value
292
- has_one :instance, :mandatory => true # See Instance.all_role_value
293
- has_one :population, :mandatory => true # See Population.all_role_value
294
- has_one :role, :mandatory => true # See Role.all_role_value
295
- end
296
-
297
- class SetConstraint < Constraint
298
- end
299
-
300
- class Shape
301
- identified_by :guid
302
- one_to_one :guid, :mandatory => true # See Guid.shape
303
- maybe :is_expanded
304
- has_one :location # See Location.all_shape
305
- has_one :orm_diagram, :class => "ORMDiagram", :mandatory => true # See ORMDiagram.all_shape
306
- end
307
-
308
- class Step
309
- identified_by :guid
310
- has_one :alternative_set # See AlternativeSet.all_step
311
- has_one :fact_type, :mandatory => true # See FactType.all_step
312
- one_to_one :guid, :mandatory => true # See Guid.step
313
- maybe :is_disallowed
314
- maybe :is_optional
315
- end
316
-
317
- class SubsetConstraint < SetConstraint
318
- has_one :subset_role_sequence, :class => RoleSequence, :mandatory => true # See RoleSequence.all_subset_constraint_as_subset_role_sequence
319
- has_one :superset_role_sequence, :class => RoleSequence, :mandatory => true # See RoleSequence.all_subset_constraint_as_superset_role_sequence
320
- end
321
-
322
- class Topic
323
- identified_by :topic_name
324
- one_to_one :topic_name, :class => Name, :mandatory => true # See Name.topic_as_topic_name
325
- end
326
-
327
- class Unit
328
- identified_by :concept
329
- has_one :coefficient # See Coefficient.all_unit
330
- one_to_one :concept, :mandatory => true # See Concept.unit
331
- has_one :ephemera_url, :class => EphemeraURL # See EphemeraURL.all_unit
332
- maybe :is_fundamental
333
- one_to_one :name, :mandatory => true # See Name.unit
334
- has_one :offset # See Offset.all_unit
335
- one_to_one :plural_name, :class => Name, :counterpart => :plural_named_unit # See Name.plural_named_unit
336
- has_one :vocabulary, :mandatory => true # See Vocabulary.all_unit
337
- end
338
-
339
- class Value
340
- identified_by :literal, :is_literal_string, :unit
341
- maybe :is_literal_string
342
- has_one :literal, :mandatory => true # See Literal.all_value
343
- has_one :unit # See Unit.all_value
344
- has_one :value_type, :mandatory => true # See ValueType.all_value
345
- end
346
-
347
- class ValueConstraint < Constraint
348
- has_one :regular_expression # See RegularExpression.all_value_constraint
349
- one_to_one :role, :counterpart => :role_value_constraint # See Role.role_value_constraint
350
- end
351
-
352
- class Variable
353
- identified_by :query, :ordinal
354
- has_one :object_type, :mandatory => true # See ObjectType.all_variable
355
- has_one :ordinal, :mandatory => true # See Ordinal.all_variable
356
- one_to_one :projection, :class => Role # See Role.variable_as_projection
357
- has_one :query, :mandatory => true # See Query.all_variable
358
- has_one :role_name, :class => Name # See Name.all_variable_as_role_name
359
- one_to_one :step, :counterpart => :objectification_variable # See Step.objectification_variable
360
- has_one :subscript # See Subscript.all_variable
361
- has_one :value # See Value.all_variable
362
- end
363
-
364
- class Vocabulary
365
- identified_by :name
366
- one_to_one :name, :mandatory => true # See Name.vocabulary
367
- end
368
-
369
- class Aggregation
370
- identified_by :aggregate, :aggregated_variable
371
- has_one :aggregate, :mandatory => true # See Aggregate.all_aggregation
372
- has_one :aggregated_variable, :class => Variable, :mandatory => true # See Variable.all_aggregation_as_aggregated_variable
373
- has_one :variable, :mandatory => true # See Variable.all_aggregation
374
- end
375
-
376
- class Agreement
377
- identified_by :context_note
378
- one_to_one :context_note, :mandatory => true # See ContextNote.agreement
379
- has_one :date # See Date.all_agreement
380
- end
381
-
382
- class Bound
383
- identified_by :value, :is_inclusive
384
- maybe :is_inclusive
385
- has_one :value, :mandatory => true # See Value.all_bound
386
- end
387
-
388
- class ConstraintShape < Shape
389
- has_one :constraint, :mandatory => true # See Constraint.all_constraint_shape
390
- end
391
-
392
- class ContextAccordingTo
393
- identified_by :context_note, :agent
394
- has_one :agent, :mandatory => true # See Agent.all_context_according_to
395
- has_one :context_note, :mandatory => true # See ContextNote.all_context_according_to
396
- has_one :date # See Date.all_context_according_to
397
- end
398
-
399
- class ContextAgreedBy
400
- identified_by :agreement, :agent
401
- has_one :agent, :mandatory => true # See Agent.all_context_agreed_by
402
- has_one :agreement, :mandatory => true # See Agreement.all_context_agreed_by
403
- end
404
-
405
- class Derivation
406
- identified_by :derived_unit, :base_unit
407
- has_one :base_unit, :class => Unit, :mandatory => true # See Unit.all_derivation_as_base_unit
408
- has_one :derived_unit, :class => Unit, :mandatory => true # See Unit.all_derivation_as_derived_unit
409
- has_one :exponent # See Exponent.all_derivation
410
- end
411
-
412
- class Diagram
413
- identified_by :vocabulary, :name
414
- has_one :name, :mandatory => true # See Name.all_diagram
415
- has_one :vocabulary, :mandatory => true # See Vocabulary.all_diagram
416
- end
417
-
418
- class FactTypeShape < Shape
419
- has_one :display_role_names_setting # See DisplayRoleNamesSetting.all_fact_type_shape
420
- has_one :fact_type, :mandatory => true # See FactType.all_fact_type_shape
421
- has_one :rotation_setting # See RotationSetting.all_fact_type_shape
422
- end
423
-
424
- class ModelNoteShape < Shape
425
- has_one :context_note, :mandatory => true # See ContextNote.all_model_note_shape
426
- end
427
-
428
- class ORMDiagram < Diagram
429
- end
430
-
431
- class ObjectType
432
- identified_by :vocabulary, :name
433
- one_to_one :concept, :mandatory => true # See Concept.object_type
434
- maybe :is_independent
435
- has_one :name, :mandatory => true # See Name.all_object_type
436
- has_one :pronoun # See Pronoun.all_object_type
437
- has_one :vocabulary, :mandatory => true # See Vocabulary.all_object_type
438
- end
439
-
440
- class ObjectTypeShape < Shape
441
- maybe :has_expanded_reference_mode
442
- has_one :object_type, :mandatory => true # See ObjectType.all_object_type_shape
443
- end
444
-
445
- class ObjectifiedFactTypeNameShape < Shape
446
- one_to_one :fact_type_shape, :mandatory => true # See FactTypeShape.objectified_fact_type_name_shape
447
- end
448
-
449
- class Play
450
- identified_by :step, :role
451
- has_one :role, :mandatory => true # See Role.all_play
452
- has_one :step, :mandatory => true # See Step.all_play
453
- has_one :variable, :mandatory => true # See Variable.all_play
454
- maybe :is_input
455
- end
456
-
457
- class Population
458
- identified_by :vocabulary, :name
459
- one_to_one :concept, :mandatory => true # See Concept.population
460
- has_one :name, :mandatory => true # See Name.all_population
461
- has_one :vocabulary # See Vocabulary.all_population
462
- end
463
-
464
- class ReadingShape < Shape
465
- one_to_one :fact_type_shape, :mandatory => true # See FactTypeShape.reading_shape
466
- has_one :reading, :mandatory => true # See Reading.all_reading_shape
467
- end
468
-
469
- class RingConstraintShape < ConstraintShape
470
- has_one :fact_type_shape, :mandatory => true # See FactTypeShape.all_ring_constraint_shape
471
- end
472
-
473
- class RoleDisplay
474
- identified_by :fact_type_shape, :ordinal
475
- has_one :fact_type_shape, :mandatory => true # See FactTypeShape.all_role_display
476
- has_one :ordinal, :mandatory => true # See Ordinal.all_role_display
477
- has_one :role, :mandatory => true # See Role.all_role_display
478
- end
479
-
480
- class RoleNameShape < Shape
481
- one_to_one :role_display, :mandatory => true # See RoleDisplay.role_name_shape
482
- end
483
-
484
- class RoleRef
485
- identified_by :role_sequence, :ordinal
486
- has_one :ordinal, :mandatory => true # See Ordinal.all_role_ref
487
- has_one :role, :mandatory => true # See Role.all_role_ref
488
- has_one :role_sequence, :mandatory => true # See RoleSequence.all_role_ref
489
- has_one :leading_adjective, :class => Adjective # See Adjective.all_role_ref_as_leading_adjective
490
- one_to_one :play # See Play.role_ref
491
- has_one :trailing_adjective, :class => Adjective # See Adjective.all_role_ref_as_trailing_adjective
492
- end
493
-
494
- class SetComparisonConstraint < SetConstraint
495
- end
496
-
497
- class SetComparisonRoles
498
- identified_by :set_comparison_constraint, :ordinal
499
- has_one :ordinal, :mandatory => true # See Ordinal.all_set_comparison_roles
500
- has_one :role_sequence, :mandatory => true # See RoleSequence.all_set_comparison_roles
501
- has_one :set_comparison_constraint, :mandatory => true # See SetComparisonConstraint.all_set_comparison_roles
502
- end
503
-
504
- class SetEqualityConstraint < SetComparisonConstraint
505
- end
506
-
507
- class SetExclusionConstraint < SetComparisonConstraint
508
- maybe :is_mandatory
509
- end
510
-
511
- class ValueConstraintShape < ConstraintShape
512
- has_one :object_type_shape # See ObjectTypeShape.all_value_constraint_shape
513
- one_to_one :role_display # See RoleDisplay.value_constraint_shape
514
- end
515
-
516
- class ValueRange
517
- identified_by :minimum_bound, :maximum_bound
518
- has_one :maximum_bound, :class => Bound # See Bound.all_value_range_as_maximum_bound
519
- has_one :minimum_bound, :class => Bound # See Bound.all_value_range_as_minimum_bound
520
- end
521
-
522
- class AllowedRange
523
- identified_by :value_constraint, :value_range
524
- has_one :value_constraint, :mandatory => true # See ValueConstraint.all_allowed_range
525
- has_one :value_range, :mandatory => true # See ValueRange.all_allowed_range
526
- end
527
-
528
- class DomainObjectType < ObjectType
529
- end
530
-
531
- class EntityType < DomainObjectType
532
- one_to_one :fact_type # See FactType.entity_type
533
- end
534
-
535
- class TypeInheritance < FactType
536
- identified_by :subtype, :supertype
537
- has_one :subtype, :class => EntityType, :mandatory => true # See EntityType.all_type_inheritance_as_subtype
538
- has_one :supertype, :class => EntityType, :mandatory => true # See EntityType.all_type_inheritance_as_supertype
539
- has_one :assimilation # See Assimilation.all_type_inheritance
540
- maybe :provides_identification
541
- end
542
-
543
- class ValueType < DomainObjectType
544
- has_one :length # See Length.all_value_type
545
- has_one :scale # See Scale.all_value_type
546
- has_one :supertype, :class => ValueType # See ValueType.all_value_type_as_supertype
547
- has_one :transaction_phase # See TransactionPhase.all_value_type
548
- has_one :unit # See Unit.all_value_type
549
- one_to_one :value_constraint # See ValueConstraint.value_type
550
- end
551
-
552
- class ValueTypeParameter
553
- identified_by :value_type, :name
554
- has_one :name, :mandatory => true # See Name.all_value_type_parameter
555
- has_one :value_type, :mandatory => true # See ValueType.all_value_type_parameter
556
- has_one :facet_value_type, :class => ValueType, :mandatory => true # See ValueType.all_value_type_parameter_as_facet_value_type
557
- end
558
-
559
- class ValueTypeParameterRestriction
560
- identified_by :value_type, :value_type_parameter
561
- has_one :value_type, :mandatory => true # See ValueType.all_value_type_parameter_restriction
562
- has_one :value_type_parameter, :mandatory => true # See ValueTypeParameter.all_value_type_parameter_restriction
563
- has_one :value, :mandatory => true # See Value.all_value_type_parameter_restriction
564
- end
565
-
566
- class ImplicitBooleanValueType < ValueType
567
- end
568
-
569
- end
570
- end