activefacts 1.6.0 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
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