activefacts-examples 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 (262) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +10 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +22 -0
  8. data/Rakefile +6 -0
  9. data/activefacts-examples.gemspec +26 -0
  10. data/cql/Address.cql +44 -0
  11. data/cql/Astronomy.cql +35 -0
  12. data/cql/Blog.cql +54 -0
  13. data/cql/CinemaBookings.cql +64 -0
  14. data/cql/CinemaTickets.cql +127 -0
  15. data/cql/CompanyDirectorEmployee.cql +56 -0
  16. data/cql/Death.cql +17 -0
  17. data/cql/Diplomacy.cql +48 -0
  18. data/cql/Genealogy.cql +98 -0
  19. data/cql/Health.cql +78 -0
  20. data/cql/Insurance.cql +320 -0
  21. data/cql/Marriage.cql +18 -0
  22. data/cql/Metamodel.cql +567 -0
  23. data/cql/Monogamy.cql +24 -0
  24. data/cql/MultiInheritance.cql +22 -0
  25. data/cql/MultipleSubtyping.cql +30 -0
  26. data/cql/NonRoleId.cql +14 -0
  27. data/cql/OddIdentifier.cql +18 -0
  28. data/cql/OilSupply.cql +53 -0
  29. data/cql/OneRoleNesting.cql +38 -0
  30. data/cql/OneToOnes.cql +17 -0
  31. data/cql/Orienteering.cql +111 -0
  32. data/cql/PartyModel.cql +38 -0
  33. data/cql/PersonPlaysGame.cql +18 -0
  34. data/cql/RedundantDependency.cql +34 -0
  35. data/cql/SchoolActivities.cql +33 -0
  36. data/cql/SeparateSubtype.cql +30 -0
  37. data/cql/ServiceDirector.cql +276 -0
  38. data/cql/SimplestUnary.cql +12 -0
  39. data/cql/Supervision.cql +34 -0
  40. data/cql/VenueSeating.cql +45 -0
  41. data/cql/WaiterTips.cql +33 -0
  42. data/cql/Warehousing.cql +101 -0
  43. data/cql/WindowInRoomInBldg.cql +28 -0
  44. data/cql/unit.cql +474 -0
  45. data/diagrams/json/Address.json +41 -0
  46. data/diagrams/json/Astronomy.json +31 -0
  47. data/diagrams/json/Blog.json +46 -0
  48. data/diagrams/json/CinemaBookings.json +53 -0
  49. data/diagrams/json/CinemaTickets.json +101 -0
  50. data/diagrams/json/CompanyDirectorEmployee.json +44 -0
  51. data/diagrams/json/Death.json +20 -0
  52. data/diagrams/json/Diplomacy.json +34 -0
  53. data/diagrams/json/Genealogy.json +78 -0
  54. data/diagrams/json/Insurance.json +259 -0
  55. data/diagrams/json/Marriage.json +21 -0
  56. data/diagrams/json/Metamodel.json +318 -0
  57. data/diagrams/json/Monogamy.json +22 -0
  58. data/diagrams/json/MultiInheritance.json +25 -0
  59. data/diagrams/json/MultipleSubtyping.json +22 -0
  60. data/diagrams/json/OilSupply.json +49 -0
  61. data/diagrams/json/OneRoleNesting.json +37 -0
  62. data/diagrams/json/Orienteering.json +94 -0
  63. data/diagrams/json/PersonPlaysGame.json +22 -0
  64. data/diagrams/json/RedundantDependency.json +33 -0
  65. data/diagrams/json/SchoolActivities.json +28 -0
  66. data/diagrams/json/SeparateSubtype.json +29 -0
  67. data/diagrams/json/SimplestUnary.json +15 -0
  68. data/diagrams/json/Supervision.json +27 -0
  69. data/diagrams/json/VenueSeating.json +40 -0
  70. data/diagrams/json/WaiterTips.json +29 -0
  71. data/diagrams/json/Warehousing.json +86 -0
  72. data/diagrams/json/WindowInRoomInBldg.json +31 -0
  73. data/images/Address.SQL.png +0 -0
  74. data/images/Address.png +0 -0
  75. data/images/Blog.png +0 -0
  76. data/images/CinemaBookings.png +0 -0
  77. data/images/CinemaTickets.png +0 -0
  78. data/images/CompanyDirectorEmployee.png +0 -0
  79. data/images/Death.png +0 -0
  80. data/images/Diplomacy.png +0 -0
  81. data/images/DumpMetamodel.bat +2 -0
  82. data/images/Genealogy.png +0 -0
  83. data/images/Insurance/Claim.png +0 -0
  84. data/images/Insurance/Insurance.png +0 -0
  85. data/images/Insurance/Person.png +0 -0
  86. data/images/Insurance/Policy.png +0 -0
  87. data/images/Insurance/Related.png +0 -0
  88. data/images/Insurance/VehicleIncident.png +0 -0
  89. data/images/Marriage.png +0 -0
  90. data/images/Metamodel/Concepts.png +0 -0
  91. data/images/Metamodel/Constraints.png +0 -0
  92. data/images/Metamodel/ContextNote.png +0 -0
  93. data/images/Metamodel/Diagrams.png +0 -0
  94. data/images/Metamodel/Language.png +0 -0
  95. data/images/Metamodel/Legacy.png +0 -0
  96. data/images/Metamodel/Objects.png +0 -0
  97. data/images/Metamodel/Populations.png +0 -0
  98. data/images/Metamodel/Query.png +0 -0
  99. data/images/Metamodel/Units.png +0 -0
  100. data/images/Metamodel/ValueConstraints.png +0 -0
  101. data/images/Metamodel/ValueTypes.png +0 -0
  102. data/images/MetamodelER.bcp +1 -0
  103. data/images/MetamodelER.pdf +0 -0
  104. data/images/MultiInheritance.png +0 -0
  105. data/images/NorthwindER.png +0 -0
  106. data/images/OilSupply.png +0 -0
  107. data/images/Orienteering/Administration.png +0 -0
  108. data/images/Orienteering/Registration.png +0 -0
  109. data/images/Orienteering/Scoring.png +0 -0
  110. data/images/PersonPlaysGame.png +0 -0
  111. data/images/RedundantDependency.png +0 -0
  112. data/images/SchoolActivities.png +0 -0
  113. data/images/SeparateSubtype.png +0 -0
  114. data/images/SimplestUnary.png +0 -0
  115. data/images/Supervision.png +0 -0
  116. data/images/VenueSeating.png +0 -0
  117. data/images/WaiterTips.png +0 -0
  118. data/images/Warehousing.png +0 -0
  119. data/images/WindowInRoomInBldg.png +0 -0
  120. data/metadata/json/Astronomy.json +175 -0
  121. data/metadata/json/CinemaBookings.json +354 -0
  122. data/metadata/json/CinemaTickets.json +768 -0
  123. data/metadata/json/CompanyDirectorEmployee.json +270 -0
  124. data/metadata/json/Diplomacy.json +186 -0
  125. data/metadata/json/Metamodel.json +3214 -0
  126. data/metadata/json/OilSupply.json +411 -0
  127. data/metadata/json/SeparateSubtype.json +157 -0
  128. data/metadata/json/Supervision.json +128 -0
  129. data/metadata/json/VenueSeating.json +209 -0
  130. data/orm/.gitignore +11 -0
  131. data/orm/Address.orm +1268 -0
  132. data/orm/Astronomy.orm +925 -0
  133. data/orm/Blog.orm +1711 -0
  134. data/orm/CinemaBookings.orm +1998 -0
  135. data/orm/CinemaTickets.orm +5060 -0
  136. data/orm/CompanyDirectorEmployee.orm +2094 -0
  137. data/orm/Death.orm +386 -0
  138. data/orm/Diplomacy.orm +1478 -0
  139. data/orm/ExampleModels2010.csproj +764 -0
  140. data/orm/ExampleModels2010.sln +16 -0
  141. data/orm/Genealogy.orm +3209 -0
  142. data/orm/Health.orm +2407 -0
  143. data/orm/Insurance.orm +12727 -0
  144. data/orm/Marriage.orm +493 -0
  145. data/orm/Metamodel.orm +20998 -0
  146. data/orm/Monogamy.orm +328 -0
  147. data/orm/MultiInheritance.orm +537 -0
  148. data/orm/MultipleSubtyping.orm +347 -0
  149. data/orm/OilSupply.orm +2533 -0
  150. data/orm/OneRoleNesting.orm +1237 -0
  151. data/orm/Orienteering.orm +3976 -0
  152. data/orm/PersonPlaysGame.orm +426 -0
  153. data/orm/RedundantDependency.orm +844 -0
  154. data/orm/SchoolActivities.orm +961 -0
  155. data/orm/SeparateSubtype.orm +821 -0
  156. data/orm/SimplestUnary.orm +172 -0
  157. data/orm/Supervision.orm +734 -0
  158. data/orm/VenueSeating.orm +1289 -0
  159. data/orm/WaiterTips.orm +789 -0
  160. data/orm/Warehousing.orm +3792 -0
  161. data/orm/WindowInRoomInBldg.orm +772 -0
  162. data/rails/models/Astronomy.models +17 -0
  163. data/rails/models/CinemaBookings.models +123 -0
  164. data/rails/models/CinemaTickets.models +192 -0
  165. data/rails/models/Diplomacy.models +126 -0
  166. data/rails/models/Metamodel.models +894 -0
  167. data/rails/models/OneRoleNesting.models +18 -0
  168. data/rails/models/SeparateSubtype.models +49 -0
  169. data/rails/models/VenueSeating.models +70 -0
  170. data/rails/schema/Astronomy.schema.rb +25 -0
  171. data/rails/schema/CinemaBookings.schema.rb +78 -0
  172. data/rails/schema/CinemaTickets.schema.rb +132 -0
  173. data/rails/schema/Diplomacy.schema.rb +74 -0
  174. data/rails/schema/Metamodel.schema.rb +538 -0
  175. data/rails/schema/OneRoleNesting.rb +20 -0
  176. data/rails/schema/SeparateSubtype.schema.rb +35 -0
  177. data/rails/schema/VenueSeating.schema.rb +46 -0
  178. data/rails/schema/Warehousing.schema.rb +145 -0
  179. data/ruby/Address.rb +68 -0
  180. data/ruby/Astronomy.rb +55 -0
  181. data/ruby/Blog.rb +84 -0
  182. data/ruby/CinemaBookings.rb +109 -0
  183. data/ruby/CinemaTickets.rb +218 -0
  184. data/ruby/CompanyDirectorEmployee.rb +73 -0
  185. data/ruby/Death.rb +26 -0
  186. data/ruby/Diplomacy.rb +59 -0
  187. data/ruby/Genealogy.rb +173 -0
  188. data/ruby/Insurance.rb +562 -0
  189. data/ruby/Marriage.rb +21 -0
  190. data/ruby/Metamodel.rb +621 -0
  191. data/ruby/Monogamy.rb +27 -0
  192. data/ruby/MultiInheritance.rb +38 -0
  193. data/ruby/OilSupply.rb +112 -0
  194. data/ruby/OneRoleNesting.rb +66 -0
  195. data/ruby/Orienteering.rb +216 -0
  196. data/ruby/PersonPlaysGame.rb +31 -0
  197. data/ruby/RedundantDependency.rb +53 -0
  198. data/ruby/SchoolActivities.rb +49 -0
  199. data/ruby/SeparateSubtype.rb +46 -0
  200. data/ruby/SimplestUnary.rb +10 -0
  201. data/ruby/Supervision.rb +33 -0
  202. data/ruby/TwoValues.rb +14 -0
  203. data/ruby/VenueSeating.rb +64 -0
  204. data/ruby/WaiterTips.rb +49 -0
  205. data/ruby/Warehousing.rb +167 -0
  206. data/ruby/WindowInRoomInBldg.rb +45 -0
  207. data/sql/server/Address.sql +40 -0
  208. data/sql/server/Astronomy.sql +36 -0
  209. data/sql/server/Blog.sql +78 -0
  210. data/sql/server/CinemaBookings.sql +95 -0
  211. data/sql/server/CinemaTickets.sql +191 -0
  212. data/sql/server/CompanyDirectorEmployee.sql +104 -0
  213. data/sql/server/Death.sql +11 -0
  214. data/sql/server/Diplomacy.sql +66 -0
  215. data/sql/server/Genealogy.sql +138 -0
  216. data/sql/server/Health.sql +169 -0
  217. data/sql/server/Insurance.sql +484 -0
  218. data/sql/server/Marriage.sql +30 -0
  219. data/sql/server/Metamodel.sql +1000 -0
  220. data/sql/server/Monogamy.sql +20 -0
  221. data/sql/server/MultiInheritance.sql +27 -0
  222. data/sql/server/OilSupply.sql +105 -0
  223. data/sql/server/OneRoleNesting.sql +29 -0
  224. data/sql/server/Orienteering.sql +186 -0
  225. data/sql/server/PersonPlaysGame.sql +9 -0
  226. data/sql/server/RedundantDependency.sql +54 -0
  227. data/sql/server/SchoolActivities.sql +30 -0
  228. data/sql/server/SeparateSubtype.sql +33 -0
  229. data/sql/server/SimplestUnary.sql +9 -0
  230. data/sql/server/Supervision.sql +30 -0
  231. data/sql/server/VenueSeating.sql +54 -0
  232. data/sql/server/WaiterTips.sql +31 -0
  233. data/sql/server/Warehousing.sql +203 -0
  234. data/sql/server/WindowInRoomInBldg.sql +13 -0
  235. data/transform/surrogate/Address.absorption +2 -0
  236. data/transform/surrogate/Blog.absorption +5 -0
  237. data/transform/surrogate/CinemaBookings.absorption +7 -0
  238. data/transform/surrogate/CompanyDirectorEmployee.absorption +7 -0
  239. data/transform/surrogate/Death.absorption +1 -0
  240. data/transform/surrogate/Diplomacy-revised.absorption +6 -0
  241. data/transform/surrogate/Diplomacy.absorption +6 -0
  242. data/transform/surrogate/Genealogy.absorption +8 -0
  243. data/transform/surrogate/Insurance.absorption +18 -0
  244. data/transform/surrogate/Marriage.absorption +2 -0
  245. data/transform/surrogate/Metamodel.absorption +25 -0
  246. data/transform/surrogate/Monogamy.absorption +1 -0
  247. data/transform/surrogate/MultiInheritance.absorption +1 -0
  248. data/transform/surrogate/MultipleSubtyping.absorption +1 -0
  249. data/transform/surrogate/OilSupply.absorption +8 -0
  250. data/transform/surrogate/OneRoleNesting.absorption +1 -0
  251. data/transform/surrogate/Orienteering.absorption +11 -0
  252. data/transform/surrogate/PersonPlaysGame.absorption +1 -0
  253. data/transform/surrogate/RedundantDependency.absorption +3 -0
  254. data/transform/surrogate/SchoolActivities.absorption +3 -0
  255. data/transform/surrogate/SeparateSubtype.absorption +3 -0
  256. data/transform/surrogate/SimplestUnary.absorption +1 -0
  257. data/transform/surrogate/Supervision.absorption +2 -0
  258. data/transform/surrogate/WaiterTips.absorption +3 -0
  259. data/transform/surrogate/Warehousing.absorption +12 -0
  260. data/transform/surrogate/WindowInRoomInBldg.absorption +1 -0
  261. data/transform/surrogate/unit.absorption +0 -0
  262. metadata +374 -0
@@ -0,0 +1,768 @@
1
+ {
2
+ "types": {
3
+ "Address": {
4
+ "is_main": false,
5
+ "id": "79bed20a-dcc0-4220-ac8c-1ccaee2df3f9",
6
+ "functions": [
7
+ {
8
+ "title": "Address Text",
9
+ "type": "Address Text",
10
+ "where": "this Address has one Address Text",
11
+ "role_id": "88002aff-2cdc-4c31-9de8-a35c2d6e2171"
12
+ },
13
+ {
14
+ "title": "all Booking",
15
+ "type": "Booking",
16
+ "where": "tickets for some Booking are being mailed to this Address",
17
+ "role_id": "880fc697-835a-4032-b30b-a1615c564a8e",
18
+ "is_list": true
19
+ }
20
+ ]
21
+ },
22
+ "Address Text": {
23
+ "is_main": false,
24
+ "id": "0dfbe1ce-30f4-46ef-8400-59aba954569f",
25
+ "functions": [
26
+ {
27
+ "title": "Address",
28
+ "type": "Address",
29
+ "where": "this Address Text is of one Address",
30
+ "role_id": "9329045a-b0b9-4e37-8069-3c3c35d59d11"
31
+ }
32
+ ]
33
+ },
34
+ "Booking": {
35
+ "is_main": true,
36
+ "id": "805cf066-2ccf-40d1-80c8-0444871cd88b",
37
+ "functions": [
38
+ {
39
+ "title": "involving Person",
40
+ "type": "Person",
41
+ "where": "this Person booked some Session for some Number of places"
42
+ },
43
+ {
44
+ "title": "involving Session",
45
+ "type": "Session",
46
+ "where": "some Person booked this Session for some Number of places"
47
+ },
48
+ {
49
+ "title": "involving Number",
50
+ "type": "Number",
51
+ "where": "some Person booked some Session for this Number of places"
52
+ },
53
+ {
54
+ "title": "Booking Nr",
55
+ "type": "Booking Nr",
56
+ "where": "this Booking has one Booking Nr",
57
+ "role_id": "bcd7f14b-aeed-4325-96b8-29d619948efc"
58
+ },
59
+ {
60
+ "title": "Collection Code",
61
+ "type": "Collection Code",
62
+ "where": "this Booking has one Collection Code",
63
+ "role_id": "161bf2a5-99c3-49c8-803b-fd0532a4e559"
64
+ },
65
+ {
66
+ "title": "all Allocated Seat",
67
+ "type": "Seat",
68
+ "where": "this Booking has some allocated-Seat",
69
+ "role_id": "dfc48463-c64c-42c2-8d74-ae625f190e20",
70
+ "is_list": true
71
+ },
72
+ {
73
+ "title": "Section",
74
+ "type": "Section",
75
+ "where": "this Booking is for seats in one Section",
76
+ "role_id": "42bed52f-ac02-4f56-b54d-63d9e0e0c3b3"
77
+ },
78
+ {
79
+ "title": "all Places Paid",
80
+ "type": "Places Paid",
81
+ "where": "this Booking applied some Payment Method for some Number of places",
82
+ "role_id": "51be9fb3-22d5-4a7b-8fd5-6c2728f67136",
83
+ "is_list": true
84
+ },
85
+ {
86
+ "title": "Address",
87
+ "type": "Address",
88
+ "where": "tickets for this Booking are being mailed to one Address",
89
+ "role_id": "3f800b8f-991d-45c9-ada7-22ef43be02c3"
90
+ },
91
+ {
92
+ "title": "tickets for Booking have been issued",
93
+ "type": "boolean",
94
+ "where": "tickets for this Booking have been issued",
95
+ "role_id": "4cecc192-8ea3-4e04-a2f8-5ed3f08842bc"
96
+ }
97
+ ]
98
+ },
99
+ "Booking Nr": {
100
+ "is_main": false,
101
+ "id": "152f2dfc-7204-45c2-a201-4f823c26abe1",
102
+ "functions": [
103
+ {
104
+ "title": "Booking",
105
+ "type": "Booking",
106
+ "where": "this Booking Nr is of one Booking",
107
+ "role_id": "4828d13a-2603-4b87-8e60-8e7267c245a7"
108
+ }
109
+ ]
110
+ },
111
+ "Cinema": {
112
+ "is_main": true,
113
+ "id": "c789eb0b-ba55-47c7-8a6b-fba0d89f7384",
114
+ "functions": [
115
+ {
116
+ "title": "Cinema ID",
117
+ "type": "Cinema ID",
118
+ "where": "this Cinema has one Cinema ID",
119
+ "role_id": "13db8f97-bbab-4c58-bd53-30754568c2c1"
120
+ },
121
+ {
122
+ "title": "Name",
123
+ "type": "Name",
124
+ "where": "this Cinema has one Name",
125
+ "role_id": "12488143-780a-4a4a-abb6-2acdfb724e51"
126
+ },
127
+ {
128
+ "title": "all Section",
129
+ "type": "Section",
130
+ "where": "this Cinema provides allocated seating in some Section",
131
+ "role_id": "f56353df-7863-4015-a811-43e984d88688",
132
+ "is_list": true
133
+ },
134
+ {
135
+ "title": "all Session",
136
+ "type": "Session",
137
+ "where": "this Cinema shows some Film on some Session Time",
138
+ "role_id": "ace48257-965a-4c83-8c85-bef912add9d1",
139
+ "is_list": true
140
+ },
141
+ {
142
+ "title": "all Row",
143
+ "type": "Row",
144
+ "where": "this Cinema contains some Row",
145
+ "role_id": "511523c8-fcee-4380-a3dd-8fdec5f81f7b",
146
+ "is_list": true
147
+ },
148
+ {
149
+ "title": "all Ticket Pricing",
150
+ "type": "Ticket Pricing",
151
+ "where": "tickets on some Session Time at this Cinema in some Section for some High Demand have some Price",
152
+ "role_id": "ca280f7e-f459-4ff9-86c2-62802995f762",
153
+ "is_list": true
154
+ }
155
+ ]
156
+ },
157
+ "Cinema ID": {
158
+ "is_main": false,
159
+ "id": "46bfae4b-be0f-4178-b129-705723c0bd37",
160
+ "functions": [
161
+ {
162
+ "title": "Cinema",
163
+ "type": "Cinema",
164
+ "where": "this Cinema ID is of one Cinema",
165
+ "role_id": "39a51260-c9d6-4d9d-86f7-6de0614e9311"
166
+ }
167
+ ]
168
+ },
169
+ "Collection Code": {
170
+ "is_main": false,
171
+ "id": "2afd5405-738d-4833-b5a5-4594aef2f787",
172
+ "functions": [
173
+ {
174
+ "title": "all Booking",
175
+ "type": "Booking",
176
+ "where": "some Booking has this Collection Code",
177
+ "role_id": "cb6a393c-f2d4-4dc2-8f70-122171648d5d",
178
+ "is_list": true
179
+ }
180
+ ]
181
+ },
182
+ "Day": {
183
+ "is_main": false,
184
+ "id": "3a708535-4407-4c7d-b3c0-61b7bed9f6b0",
185
+ "functions": [
186
+ {
187
+ "title": "all Session Time",
188
+ "type": "Session Time",
189
+ "where": "some Session Time is on this Day",
190
+ "role_id": "2319cc45-752a-42d7-ba40-4fb06f2d9b5e",
191
+ "is_list": true
192
+ }
193
+ ]
194
+ },
195
+ "Encrypted Password": {
196
+ "is_main": false,
197
+ "id": "ff46e828-4d6b-4cf8-be60-ba6269c3c7aa",
198
+ "functions": [
199
+ {
200
+ "title": "all Person",
201
+ "type": "Person",
202
+ "where": "some Person has this Encrypted Password",
203
+ "role_id": "f65505b6-5d0c-4bda-a956-980311e8d213",
204
+ "is_list": true
205
+ }
206
+ ]
207
+ },
208
+ "Film": {
209
+ "is_main": true,
210
+ "id": "d380bb16-c460-4830-8bd5-40b9269d2277",
211
+ "functions": [
212
+ {
213
+ "title": "all Session",
214
+ "type": "Session",
215
+ "where": "this Film is showing on some Session Time at some Cinema",
216
+ "role_id": "5c7e1283-dd16-498b-8d85-03263bfa8954",
217
+ "is_list": true
218
+ },
219
+ {
220
+ "title": "Film ID",
221
+ "type": "Film ID",
222
+ "where": "this Film has one Film ID",
223
+ "role_id": "da8024a2-9007-4b10-82d9-519798ab67b5"
224
+ },
225
+ {
226
+ "title": "Name",
227
+ "type": "Name",
228
+ "where": "this Film has one Name",
229
+ "role_id": "aae0ed12-89c7-43cd-9707-52488e030552"
230
+ },
231
+ {
232
+ "title": "Year",
233
+ "type": "Year",
234
+ "where": "this Film was made in one Year",
235
+ "role_id": "07cff9e8-8ed8-4db5-bb2a-545e3c6e8145"
236
+ }
237
+ ]
238
+ },
239
+ "Film ID": {
240
+ "is_main": false,
241
+ "id": "64833cb2-11c3-4f17-8c77-851bea49afe7",
242
+ "functions": [
243
+ {
244
+ "title": "Film",
245
+ "type": "Film",
246
+ "where": "this Film ID is of one Film",
247
+ "role_id": "70b56042-6a6b-4c36-b242-8f795207925b"
248
+ }
249
+ ]
250
+ },
251
+ "High Demand": {
252
+ "is_main": false,
253
+ "id": "90cb9dbe-d4a5-41ce-bff0-37a6cc15321a",
254
+ "functions": [
255
+ {
256
+ "title": "all Ticket Pricing",
257
+ "type": "Ticket Pricing",
258
+ "where": "tickets on some Session Time at some Cinema in some Section for this High Demand have some Price",
259
+ "role_id": "04d8962a-2f11-48dc-a362-4a358254b672",
260
+ "is_list": true
261
+ }
262
+ ]
263
+ },
264
+ "Hour": {
265
+ "is_main": false,
266
+ "id": "179e9694-0b4b-4b01-a507-a99aaab1f837",
267
+ "functions": [
268
+ {
269
+ "title": "all Session Time",
270
+ "type": "Session Time",
271
+ "where": "some Session Time is at this Hour",
272
+ "role_id": "7db969e4-7ee5-49d8-96da-d83fe1956d99",
273
+ "is_list": true
274
+ }
275
+ ]
276
+ },
277
+ "Minute": {
278
+ "is_main": false,
279
+ "id": "4d11c849-e48c-4ae1-837a-8293b0d900cf",
280
+ "functions": [
281
+ {
282
+ "title": "all Session Time",
283
+ "type": "Session Time",
284
+ "where": "some Session Time is at this Minute",
285
+ "role_id": "d880838d-04ab-470b-9d7c-16da10d7178f",
286
+ "is_list": true
287
+ }
288
+ ]
289
+ },
290
+ "Month": {
291
+ "is_main": false,
292
+ "id": "b12f5702-1fee-49e2-803b-189f9e4e39e4",
293
+ "functions": [
294
+ {
295
+ "title": "Month Nr",
296
+ "type": "Month Nr",
297
+ "where": "this Month has one Month Nr",
298
+ "role_id": "9c1f49c2-480c-4833-b537-57a6243484c9"
299
+ },
300
+ {
301
+ "title": "all Session Time",
302
+ "type": "Session Time",
303
+ "where": "some Session Time is in this Month",
304
+ "role_id": "b304af3b-48f2-4d26-a5fe-c817a4d80f61",
305
+ "is_list": true
306
+ }
307
+ ]
308
+ },
309
+ "Month Nr": {
310
+ "is_main": false,
311
+ "id": "93849031-c190-4873-aa2b-26eabe0c5753",
312
+ "functions": [
313
+ {
314
+ "title": "Month",
315
+ "type": "Month",
316
+ "where": "this Month Nr is of one Month",
317
+ "role_id": "a2411673-6646-4ccb-b839-ec25f34e051f"
318
+ }
319
+ ]
320
+ },
321
+ "Name": {
322
+ "is_main": false,
323
+ "id": "b93d67f4-1456-45fc-b0a3-119801fd33c6",
324
+ "functions": [
325
+ {
326
+ "title": "Cinema",
327
+ "type": "Cinema",
328
+ "where": "this Name is of one Cinema",
329
+ "role_id": "728f6929-95eb-4209-8b67-4bd7011673b9"
330
+ },
331
+ {
332
+ "title": "all Film",
333
+ "type": "Film",
334
+ "where": "some Film has this Name",
335
+ "role_id": "b5dadae8-131d-4879-9dc6-b49f10e565fc",
336
+ "is_list": true
337
+ },
338
+ {
339
+ "title": "Person",
340
+ "type": "Person",
341
+ "where": "this Name is of one Person",
342
+ "role_id": "718386a3-2188-4eb1-821e-2f68da978eba"
343
+ }
344
+ ]
345
+ },
346
+ "Number": {
347
+ "is_main": false,
348
+ "id": "b6f4a4cf-008e-4701-88f0-607d9a67e827",
349
+ "functions": [
350
+ {
351
+ "title": "all Places Paid",
352
+ "type": "Places Paid",
353
+ "where": "this Number of places for some Booking have been paid for by some Payment Method",
354
+ "role_id": "7290ceef-c1bf-4c62-82e8-44b791e1fce9",
355
+ "is_list": true
356
+ },
357
+ {
358
+ "title": "all Booking",
359
+ "type": "Booking",
360
+ "where": "some Person booked some Session for this Number of places",
361
+ "role_id": "ff573479-1d89-43b9-bf2f-8d216a2f2427",
362
+ "is_list": true
363
+ }
364
+ ]
365
+ },
366
+ "Payment Method": {
367
+ "is_main": false,
368
+ "id": "4b47d949-d8ee-4a52-b90e-c7d874dc3607",
369
+ "functions": [
370
+ {
371
+ "title": "all Places Paid",
372
+ "type": "Places Paid",
373
+ "where": "some Number of places for some Booking have been paid for by this Payment Method",
374
+ "role_id": "b1e46b2c-a009-44ee-9878-0e50e7ff3b00",
375
+ "is_list": true
376
+ },
377
+ {
378
+ "title": "Payment Method Code",
379
+ "type": "Payment Method Code",
380
+ "where": "this Payment Method has one Payment Method Code",
381
+ "role_id": "6a90d5c3-a558-431e-841b-9c0f8e3f90cd"
382
+ }
383
+ ]
384
+ },
385
+ "Payment Method Code": {
386
+ "is_main": false,
387
+ "id": "e603fcce-15c1-417b-abb8-83fc2ee7b9b8",
388
+ "functions": [
389
+ {
390
+ "title": "Payment Method",
391
+ "type": "Payment Method",
392
+ "where": "this Payment Method Code is of one Payment Method",
393
+ "role_id": "7a325060-edd1-4d79-a340-9445f3a0b371"
394
+ }
395
+ ]
396
+ },
397
+ "Person": {
398
+ "is_main": true,
399
+ "id": "671c68c6-37ed-4b68-a13f-185c707d2723",
400
+ "functions": [
401
+ {
402
+ "title": "all Booking",
403
+ "type": "Booking",
404
+ "where": "this Person booked some Session for some Number of places",
405
+ "role_id": "b667dc7a-c502-4daa-880b-cc478cf7889e",
406
+ "is_list": true
407
+ },
408
+ {
409
+ "title": "Encrypted Password",
410
+ "type": "Encrypted Password",
411
+ "where": "this Person has one Encrypted Password",
412
+ "role_id": "76130fdb-b155-4395-bbbc-25b8e88f97bd"
413
+ },
414
+ {
415
+ "title": "Person ID",
416
+ "type": "Person ID",
417
+ "where": "this Person has one Person ID",
418
+ "role_id": "22f57f64-bdbd-4ec0-a6e1-ee530e97420f"
419
+ },
420
+ {
421
+ "title": "Login Name",
422
+ "type": "Name",
423
+ "where": "this Person has one login-Name",
424
+ "role_id": "4fd2d692-f7d9-46c6-8591-70a8ff04be48"
425
+ }
426
+ ]
427
+ },
428
+ "Person ID": {
429
+ "is_main": false,
430
+ "id": "f3948d0a-e28b-4bc7-ab76-3cbea11fc691",
431
+ "functions": [
432
+ {
433
+ "title": "Person",
434
+ "type": "Person",
435
+ "where": "this Person ID is of one Person",
436
+ "role_id": "2d53d562-c21c-46fc-9f92-b952660f7276"
437
+ }
438
+ ]
439
+ },
440
+ "Places Paid": {
441
+ "is_main": true,
442
+ "id": "a01df44f-a2f3-47de-b30e-efab4b0f2329",
443
+ "functions": [
444
+ {
445
+ "title": "involving Number",
446
+ "type": "Number",
447
+ "where": "this Number of places for some Booking have been paid for by some Payment Method"
448
+ },
449
+ {
450
+ "title": "involving Booking",
451
+ "type": "Booking",
452
+ "where": "this Booking applied some Payment Method for some Number of places"
453
+ },
454
+ {
455
+ "title": "involving Payment Method",
456
+ "type": "Payment Method",
457
+ "where": "some Number of places for some Booking have been paid for by this Payment Method"
458
+ }
459
+ ]
460
+ },
461
+ "Price": {
462
+ "is_main": false,
463
+ "id": "28a2475c-abb5-49f5-acfa-d2e1139402db",
464
+ "functions": [
465
+ {
466
+ "title": "all Ticket Pricing",
467
+ "type": "Ticket Pricing",
468
+ "where": "tickets on some Session Time at some Cinema in some Section for some High Demand have this Price",
469
+ "role_id": "583317d7-efe2-47e7-b4b4-e88c28c27cae",
470
+ "is_list": true
471
+ }
472
+ ]
473
+ },
474
+ "Row": {
475
+ "is_main": false,
476
+ "id": "c9ed4a1f-7f0c-48ae-84ba-4965996f44ab",
477
+ "functions": [
478
+ {
479
+ "title": "Row Nr",
480
+ "type": "Row Nr",
481
+ "where": "this Row has one Row Nr",
482
+ "role_id": "dcb84d91-c3b4-43b8-b7c4-835e8c436fb6"
483
+ },
484
+ {
485
+ "title": "Cinema",
486
+ "type": "Cinema",
487
+ "where": "this Row is in one Cinema",
488
+ "role_id": "55adc89d-4e60-4985-ac7b-2472edbd19ee"
489
+ },
490
+ {
491
+ "title": "all Seat",
492
+ "type": "Seat",
493
+ "where": "this Row contains some Seat",
494
+ "role_id": "25b88796-5efc-4e13-bab0-7e054b5e99c7",
495
+ "is_list": true
496
+ }
497
+ ]
498
+ },
499
+ "Row Nr": {
500
+ "is_main": false,
501
+ "id": "3ba0e6b1-9bd9-4036-be56-8adf8847b9ed",
502
+ "functions": [
503
+ {
504
+ "title": "all Row",
505
+ "type": "Row",
506
+ "where": "this Row Nr is of some Row",
507
+ "role_id": "c6a899b0-9555-48fe-b612-2d43b333b89b",
508
+ "is_list": true
509
+ }
510
+ ]
511
+ },
512
+ "Seat": {
513
+ "is_main": true,
514
+ "id": "931fd695-2b08-4443-b884-c2d7c7f77a7b",
515
+ "functions": [
516
+ {
517
+ "title": "all Booking",
518
+ "type": "Booking",
519
+ "where": "this Seat is allocated to some Booking",
520
+ "role_id": "e91fe05a-fe74-4ac3-8419-e981dddd4e01",
521
+ "is_list": true
522
+ },
523
+ {
524
+ "title": "Seat Number",
525
+ "type": "Seat Number",
526
+ "where": "this Seat has one Seat Number",
527
+ "role_id": "34d4691a-5939-46a8-a3dd-4935e86ca61b"
528
+ },
529
+ {
530
+ "title": "Row",
531
+ "type": "Row",
532
+ "where": "this Seat is in one Row",
533
+ "role_id": "e91d3765-3200-440a-a669-126cffc91a5d"
534
+ },
535
+ {
536
+ "title": "Section",
537
+ "type": "Section",
538
+ "where": "this Seat is in one Section",
539
+ "role_id": "c4ea54d2-228a-40b1-89b9-dace498e246c"
540
+ }
541
+ ]
542
+ },
543
+ "Seat Number": {
544
+ "is_main": false,
545
+ "id": "033e04da-febb-4bc1-b311-a4901d5fce8d",
546
+ "functions": [
547
+ {
548
+ "title": "all Seat",
549
+ "type": "Seat",
550
+ "where": "this Seat Number is of some Seat",
551
+ "role_id": "5f98a46d-b4f1-4f35-b601-3cea5b4157c5",
552
+ "is_list": true
553
+ }
554
+ ]
555
+ },
556
+ "Section": {
557
+ "is_main": false,
558
+ "id": "726a012a-baad-496d-8745-6cd081b9fcec",
559
+ "functions": [
560
+ {
561
+ "title": "all Booking",
562
+ "type": "Booking",
563
+ "where": "some Booking is for seats in this Section",
564
+ "role_id": "5862426d-e222-43c5-a5e7-3c11db5fe03e",
565
+ "is_list": true
566
+ },
567
+ {
568
+ "title": "all Cinema",
569
+ "type": "Cinema",
570
+ "where": "this Section of some Cinema uses allocated seating",
571
+ "role_id": "b6b973d0-29a4-41da-b0f1-27a408d4c8a2",
572
+ "is_list": true
573
+ },
574
+ {
575
+ "title": "all Seat",
576
+ "type": "Seat",
577
+ "where": "this Section contains some Seat",
578
+ "role_id": "96199371-ffc2-45fc-b7ee-33e797983d70",
579
+ "is_list": true
580
+ },
581
+ {
582
+ "title": "Section Name",
583
+ "type": "Section Name",
584
+ "where": "this Section has one Section Name",
585
+ "role_id": "3199f1a2-6618-4861-9b9e-5cb6e5e20921"
586
+ },
587
+ {
588
+ "title": "all Ticket Pricing",
589
+ "type": "Ticket Pricing",
590
+ "where": "tickets on some Session Time at some Cinema in this Section for some High Demand have some Price",
591
+ "role_id": "c64a5122-d929-4428-bd86-e8423cb3643d",
592
+ "is_list": true
593
+ }
594
+ ]
595
+ },
596
+ "Section Name": {
597
+ "is_main": false,
598
+ "id": "fd4e9f78-2368-4241-bb3b-da1d022ef3d8",
599
+ "functions": [
600
+ {
601
+ "title": "Section",
602
+ "type": "Section",
603
+ "where": "this Section Name is of one Section",
604
+ "role_id": "456fb742-109c-4a66-92e4-b49c8aac8f0d"
605
+ }
606
+ ]
607
+ },
608
+ "Session": {
609
+ "is_main": true,
610
+ "id": "c2011033-2587-4008-ab3a-58b6a64ba437",
611
+ "functions": [
612
+ {
613
+ "title": "involving Cinema",
614
+ "type": "Cinema",
615
+ "where": "this Cinema shows some Film on some Session Time"
616
+ },
617
+ {
618
+ "title": "involving Film",
619
+ "type": "Film",
620
+ "where": "this Film is showing on some Session Time at some Cinema"
621
+ },
622
+ {
623
+ "title": "involving Session Time",
624
+ "type": "Session Time",
625
+ "where": "some Cinema shows some Film on this Session Time"
626
+ },
627
+ {
628
+ "title": "all Booking",
629
+ "type": "Booking",
630
+ "where": "some Person booked this Session for some Number of places",
631
+ "role_id": "2c0b410a-4267-4d87-be3f-7419463d4e73",
632
+ "is_list": true
633
+ },
634
+ {
635
+ "title": "Session is high-demand",
636
+ "type": "boolean",
637
+ "where": "this Session is high-demand",
638
+ "role_id": "f70a1899-fe35-43c8-b63f-dd78ec5cf276"
639
+ },
640
+ {
641
+ "title": "Session uses allocated seating",
642
+ "type": "boolean",
643
+ "where": "this Session uses allocated seating",
644
+ "role_id": "1be3e1fb-b4f9-4759-9416-03a7f23558b2"
645
+ }
646
+ ]
647
+ },
648
+ "Session Time": {
649
+ "is_main": false,
650
+ "id": "9ffd4176-df3d-42c8-a575-21a29d542fec",
651
+ "functions": [
652
+ {
653
+ "title": "all Session",
654
+ "type": "Session",
655
+ "where": "some Cinema shows some Film on this Session Time",
656
+ "role_id": "a9e36c81-49fb-40df-ae29-711b4bada13c",
657
+ "is_list": true
658
+ },
659
+ {
660
+ "title": "Hour",
661
+ "type": "Hour",
662
+ "where": "this Session Time is at one Hour",
663
+ "role_id": "fecb3350-0d22-44f2-960f-8bcb1ee07d93"
664
+ },
665
+ {
666
+ "title": "Minute",
667
+ "type": "Minute",
668
+ "where": "this Session Time is at one Minute",
669
+ "role_id": "521d25ed-8382-4ab9-bb8f-b0017e08892d"
670
+ },
671
+ {
672
+ "title": "Month",
673
+ "type": "Month",
674
+ "where": "this Session Time is in one Month",
675
+ "role_id": "b9307922-9864-45ea-b569-28d4ebef6b25"
676
+ },
677
+ {
678
+ "title": "Year",
679
+ "type": "Year",
680
+ "where": "this Session Time is in one Year",
681
+ "role_id": "72e517bb-8920-43f9-8923-e1aab8b57549"
682
+ },
683
+ {
684
+ "title": "Day",
685
+ "type": "Day",
686
+ "where": "this Session Time is on one Day",
687
+ "role_id": "f707dafb-46fd-4b57-a043-4ccfd1e38fca"
688
+ },
689
+ {
690
+ "title": "all Ticket Pricing",
691
+ "type": "Ticket Pricing",
692
+ "where": "tickets on this Session Time at some Cinema in some Section for some High Demand have some Price",
693
+ "role_id": "00e984a1-2712-48aa-8d54-e6a5529cfb91",
694
+ "is_list": true
695
+ }
696
+ ]
697
+ },
698
+ "Ticket Pricing": {
699
+ "is_main": true,
700
+ "id": "2d29e9f8-8c2d-4c68-8aa5-341eb7afaa9a",
701
+ "functions": [
702
+ {
703
+ "title": "involving Session Time",
704
+ "type": "Session Time",
705
+ "where": "tickets on this Session Time at some Cinema in some Section for some High Demand have some Price"
706
+ },
707
+ {
708
+ "title": "involving Cinema",
709
+ "type": "Cinema",
710
+ "where": "tickets on some Session Time at this Cinema in some Section for some High Demand have some Price"
711
+ },
712
+ {
713
+ "title": "involving Section",
714
+ "type": "Section",
715
+ "where": "tickets on some Session Time at some Cinema in this Section for some High Demand have some Price"
716
+ },
717
+ {
718
+ "title": "involving High Demand",
719
+ "type": "High Demand",
720
+ "where": "tickets on some Session Time at some Cinema in some Section for this High Demand have some Price"
721
+ },
722
+ {
723
+ "title": "involving Price",
724
+ "type": "Price",
725
+ "where": "tickets on some Session Time at some Cinema in some Section for some High Demand have this Price"
726
+ }
727
+ ]
728
+ },
729
+ "Year": {
730
+ "is_main": false,
731
+ "id": "58f5e53f-85ad-49ae-9793-b4788badae10",
732
+ "functions": [
733
+ {
734
+ "title": "all Film",
735
+ "type": "Film",
736
+ "where": "some Film was made in this Year",
737
+ "role_id": "fab3ccbd-99d5-4b40-ac80-3688cda9c16d",
738
+ "is_list": true
739
+ },
740
+ {
741
+ "title": "all Session Time",
742
+ "type": "Session Time",
743
+ "where": "some Session Time is in this Year",
744
+ "role_id": "291e361c-1f5a-436e-a495-363dd1b5210f",
745
+ "is_list": true
746
+ },
747
+ {
748
+ "title": "Year Nr",
749
+ "type": "Year Nr",
750
+ "where": "this Year has one Year Nr",
751
+ "role_id": "a1ed2457-b659-4cc5-9860-ae850474ee3b"
752
+ }
753
+ ]
754
+ },
755
+ "Year Nr": {
756
+ "is_main": false,
757
+ "id": "cbad7e71-989e-4226-8ce2-606cb197288b",
758
+ "functions": [
759
+ {
760
+ "title": "Year",
761
+ "type": "Year",
762
+ "where": "this Year Nr is of one Year",
763
+ "role_id": "91faff78-c224-456e-87f5-1f5f7d74bfdc"
764
+ }
765
+ ]
766
+ }
767
+ }
768
+ }