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
data/orm/Monogamy.orm ADDED
@@ -0,0 +1,328 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <ormRoot:ORM2 xmlns:orm="http://schemas.neumont.edu/ORM/2006-04/ORMCore" xmlns:ormDiagram="http://schemas.neumont.edu/ORM/2006-04/ORMDiagram" xmlns:ormRoot="http://schemas.neumont.edu/ORM/2006-04/ORMRoot">
3
+ <orm:ORMModel id="_8C5DF249-954C-4887-9D3E-1AFE146D4D30" Name="Monogamy">
4
+ <orm:Objects>
5
+ <orm:EntityType id="_0FA79033-4A53-4AEB-8801-17BC8C34B36E" Name="Person" _ReferenceMode="ID">
6
+ <orm:PlayedRoles>
7
+ <orm:Role ref="_69AB4B7E-7534-45B1-89C7-7A14D3C967B9" />
8
+ <orm:SupertypeMetaRole ref="_A6F7652B-3D5A-40FF-BBEC-ACAD43D799FB" />
9
+ <orm:SupertypeMetaRole ref="_895A94D2-47AD-4E53-AA41-7D48CD1985DC" />
10
+ <orm:Role ref="_7A345438-30F5-4533-88BF-18F90B5A9DEF" />
11
+ </orm:PlayedRoles>
12
+ <orm:PreferredIdentifier ref="_5AC376C4-19E1-4149-A17B-B1CB2A637583" />
13
+ </orm:EntityType>
14
+ <orm:ValueType id="_7C8EF084-3199-41F8-9D7D-DDFE2A64EEB0" Name="Person ID">
15
+ <orm:PlayedRoles>
16
+ <orm:Role ref="_F533AE24-02FF-457E-83FA-359497F4AD14" />
17
+ </orm:PlayedRoles>
18
+ <orm:ConceptualDataType id="_9EB4927D-4596-4CE9-82CC-66B6C63A1291" ref="_D5E815B9-1D39-42AF-8151-C2A7EFC135A3" Scale="0" Length="0" />
19
+ </orm:ValueType>
20
+ <orm:EntityType id="_FEE37CF9-9EFF-4B4C-A4D6-1B976223D9E9" Name="Girl" _ReferenceMode="">
21
+ <orm:PlayedRoles>
22
+ <orm:SubtypeMetaRole ref="_7E817136-C7B5-46A0-9814-6902AA41C21E" />
23
+ <orm:Role ref="_426EA11A-051E-4308-89E9-20A78B8624C7" />
24
+ </orm:PlayedRoles>
25
+ </orm:EntityType>
26
+ <orm:EntityType id="_C8CE0565-CDAA-4DDB-BCED-7310195F83BB" Name="Boy" _ReferenceMode="">
27
+ <orm:PlayedRoles>
28
+ <orm:SubtypeMetaRole ref="_8CC7A273-DC07-4249-A36A-3AB13C141436" />
29
+ <orm:Role ref="_1B3F3B43-3C94-4F56-ABD1-501CCEC0DB74" />
30
+ </orm:PlayedRoles>
31
+ </orm:EntityType>
32
+ <orm:ValueType id="_D78ACB87-DBD8-4DBA-8CEE-428B0B4BA935" Name="Name">
33
+ <orm:PlayedRoles>
34
+ <orm:Role ref="_057C457F-6385-469A-A253-E9E4D25D7165" />
35
+ </orm:PlayedRoles>
36
+ <orm:ConceptualDataType id="_108FD6D8-1F46-450E-8FB2-8FCB6B48953A" ref="_3552F515-FEF6-463D-B030-E13AD4B010C2" Scale="0" Length="0" />
37
+ </orm:ValueType>
38
+ </orm:Objects>
39
+ <orm:Facts>
40
+ <orm:Fact id="_5ACE9292-BE54-4B22-B78C-B6A891FBB9FC" _Name="PersonHasPersonID">
41
+ <orm:FactRoles>
42
+ <orm:Role id="_69AB4B7E-7534-45B1-89C7-7A14D3C967B9" _IsMandatory="true" _Multiplicity="ZeroToOne" Name="">
43
+ <orm:RolePlayer ref="_0FA79033-4A53-4AEB-8801-17BC8C34B36E" />
44
+ </orm:Role>
45
+ <orm:Role id="_F533AE24-02FF-457E-83FA-359497F4AD14" _IsMandatory="false" _Multiplicity="ExactlyOne" Name="">
46
+ <orm:RolePlayer ref="_7C8EF084-3199-41F8-9D7D-DDFE2A64EEB0" />
47
+ </orm:Role>
48
+ </orm:FactRoles>
49
+ <orm:ReadingOrders>
50
+ <orm:ReadingOrder id="_C5F0CEA9-E73C-410D-BBD8-9B0D994A3713">
51
+ <orm:Readings>
52
+ <orm:Reading id="_09F472AB-B278-4620-A652-EBB9A6171B1A">
53
+ <orm:Data>{0} has {1}</orm:Data>
54
+ </orm:Reading>
55
+ </orm:Readings>
56
+ <orm:RoleSequence>
57
+ <orm:Role ref="_69AB4B7E-7534-45B1-89C7-7A14D3C967B9" />
58
+ <orm:Role ref="_F533AE24-02FF-457E-83FA-359497F4AD14" />
59
+ </orm:RoleSequence>
60
+ </orm:ReadingOrder>
61
+ <orm:ReadingOrder id="_84426791-22F2-42F8-A5B0-AB331499907A">
62
+ <orm:Readings>
63
+ <orm:Reading id="_4410AEF6-BF02-4306-83FD-103EEAFB02A5">
64
+ <orm:Data>{0} is of {1}</orm:Data>
65
+ </orm:Reading>
66
+ </orm:Readings>
67
+ <orm:RoleSequence>
68
+ <orm:Role ref="_F533AE24-02FF-457E-83FA-359497F4AD14" />
69
+ <orm:Role ref="_69AB4B7E-7534-45B1-89C7-7A14D3C967B9" />
70
+ </orm:RoleSequence>
71
+ </orm:ReadingOrder>
72
+ </orm:ReadingOrders>
73
+ <orm:InternalConstraints>
74
+ <orm:UniquenessConstraint ref="_5AC376C4-19E1-4149-A17B-B1CB2A637583" />
75
+ <orm:UniquenessConstraint ref="_789773EC-5EF7-4071-AE2F-562AF81E3DA7" />
76
+ <orm:MandatoryConstraint ref="_AD38E9B3-5311-4B17-8A94-39D15CA99D80" />
77
+ </orm:InternalConstraints>
78
+ </orm:Fact>
79
+ <orm:SubtypeFact id="_66BFA823-10A5-44B7-BC1E-CE4B0B691A32" _Name="GirlIsASubtypeOfPerson" PreferredIdentificationPath="true">
80
+ <orm:FactRoles>
81
+ <orm:SubtypeMetaRole id="_7E817136-C7B5-46A0-9814-6902AA41C21E" _IsMandatory="true" _Multiplicity="ZeroToOne" Name="">
82
+ <orm:RolePlayer ref="_FEE37CF9-9EFF-4B4C-A4D6-1B976223D9E9" />
83
+ </orm:SubtypeMetaRole>
84
+ <orm:SupertypeMetaRole id="_A6F7652B-3D5A-40FF-BBEC-ACAD43D799FB" _IsMandatory="false" _Multiplicity="ExactlyOne" Name="">
85
+ <orm:RolePlayer ref="_0FA79033-4A53-4AEB-8801-17BC8C34B36E" />
86
+ </orm:SupertypeMetaRole>
87
+ </orm:FactRoles>
88
+ <orm:InternalConstraints>
89
+ <orm:MandatoryConstraint ref="_64153C5D-2B39-42B6-B8B6-F5021614358F" />
90
+ <orm:UniquenessConstraint ref="_BEB55D16-CEAA-4AB1-815F-5F799FB99A0F" />
91
+ <orm:UniquenessConstraint ref="_738E6CF8-902C-4910-B0BF-A3BE74B16DC1" />
92
+ </orm:InternalConstraints>
93
+ </orm:SubtypeFact>
94
+ <orm:SubtypeFact id="_CBBFE52B-7BB0-44A2-BDD1-69686EAE7E80" _Name="BoyIsASubtypeOfPerson" PreferredIdentificationPath="true">
95
+ <orm:FactRoles>
96
+ <orm:SubtypeMetaRole id="_8CC7A273-DC07-4249-A36A-3AB13C141436" _IsMandatory="true" _Multiplicity="ZeroToOne" Name="">
97
+ <orm:RolePlayer ref="_C8CE0565-CDAA-4DDB-BCED-7310195F83BB" />
98
+ </orm:SubtypeMetaRole>
99
+ <orm:SupertypeMetaRole id="_895A94D2-47AD-4E53-AA41-7D48CD1985DC" _IsMandatory="false" _Multiplicity="ExactlyOne" Name="">
100
+ <orm:RolePlayer ref="_0FA79033-4A53-4AEB-8801-17BC8C34B36E" />
101
+ </orm:SupertypeMetaRole>
102
+ </orm:FactRoles>
103
+ <orm:InternalConstraints>
104
+ <orm:MandatoryConstraint ref="_7FC9A50E-BE7D-4912-BB77-3CA2F7D55BF7" />
105
+ <orm:UniquenessConstraint ref="_5C5DB98D-2ED5-4675-873D-AC97C7E89044" />
106
+ <orm:UniquenessConstraint ref="_8CD64756-BB36-432E-B792-4F4FC282AA43" />
107
+ </orm:InternalConstraints>
108
+ </orm:SubtypeFact>
109
+ <orm:Fact id="_32032DC8-F073-43C0-8AA9-799A290189F6" _Name="GirlIsGoingOutWithBoy">
110
+ <orm:FactRoles>
111
+ <orm:Role id="_426EA11A-051E-4308-89E9-20A78B8624C7" _IsMandatory="false" _Multiplicity="ZeroToOne" Name="Girlfriend">
112
+ <orm:RolePlayer ref="_FEE37CF9-9EFF-4B4C-A4D6-1B976223D9E9" />
113
+ </orm:Role>
114
+ <orm:Role id="_1B3F3B43-3C94-4F56-ABD1-501CCEC0DB74" _IsMandatory="false" _Multiplicity="ZeroToOne" Name="Boyfriend">
115
+ <orm:RolePlayer ref="_C8CE0565-CDAA-4DDB-BCED-7310195F83BB" />
116
+ </orm:Role>
117
+ </orm:FactRoles>
118
+ <orm:ReadingOrders>
119
+ <orm:ReadingOrder id="_8D8B9954-FEB7-486E-8468-38E6DBD63CF7">
120
+ <orm:Readings>
121
+ <orm:Reading id="_23778E78-027D-4CF8-AA24-7C61E8F6ADD9">
122
+ <orm:Data>{0} is going out with {1}</orm:Data>
123
+ </orm:Reading>
124
+ </orm:Readings>
125
+ <orm:RoleSequence>
126
+ <orm:Role ref="_426EA11A-051E-4308-89E9-20A78B8624C7" />
127
+ <orm:Role ref="_1B3F3B43-3C94-4F56-ABD1-501CCEC0DB74" />
128
+ </orm:RoleSequence>
129
+ </orm:ReadingOrder>
130
+ <orm:ReadingOrder id="_A9324F29-A389-4BA8-96EC-730123BE1750">
131
+ <orm:Readings>
132
+ <orm:Reading id="_95B87098-4DA2-4C03-95B3-3FDD27A8616E">
133
+ <orm:Data>{0} is going out with {1}</orm:Data>
134
+ </orm:Reading>
135
+ </orm:Readings>
136
+ <orm:RoleSequence>
137
+ <orm:Role ref="_1B3F3B43-3C94-4F56-ABD1-501CCEC0DB74" />
138
+ <orm:Role ref="_426EA11A-051E-4308-89E9-20A78B8624C7" />
139
+ </orm:RoleSequence>
140
+ </orm:ReadingOrder>
141
+ </orm:ReadingOrders>
142
+ <orm:InternalConstraints>
143
+ <orm:UniquenessConstraint ref="_19C73F7E-8059-4C57-B787-0BE66A6261EC" />
144
+ <orm:UniquenessConstraint ref="_9411982D-1B56-4354-81D2-95929E0CCE93" />
145
+ </orm:InternalConstraints>
146
+ </orm:Fact>
147
+ <orm:Fact id="_EB70C4F5-5483-478C-B9F0-F3F157AC6138" _Name="PersonIsCalledName">
148
+ <orm:FactRoles>
149
+ <orm:Role id="_7A345438-30F5-4533-88BF-18F90B5A9DEF" _IsMandatory="true" _Multiplicity="ZeroToMany" Name="">
150
+ <orm:RolePlayer ref="_0FA79033-4A53-4AEB-8801-17BC8C34B36E" />
151
+ </orm:Role>
152
+ <orm:Role id="_057C457F-6385-469A-A253-E9E4D25D7165" _IsMandatory="false" _Multiplicity="ExactlyOne" Name="">
153
+ <orm:RolePlayer ref="_D78ACB87-DBD8-4DBA-8CEE-428B0B4BA935" />
154
+ </orm:Role>
155
+ </orm:FactRoles>
156
+ <orm:ReadingOrders>
157
+ <orm:ReadingOrder id="_71FA717D-1ABD-4151-9F12-02C44FA7B416">
158
+ <orm:Readings>
159
+ <orm:Reading id="_8D520F9C-75D0-465F-8A1C-F9C3C66A4917">
160
+ <orm:Data>{0} is called {1}</orm:Data>
161
+ </orm:Reading>
162
+ </orm:Readings>
163
+ <orm:RoleSequence>
164
+ <orm:Role ref="_7A345438-30F5-4533-88BF-18F90B5A9DEF" />
165
+ <orm:Role ref="_057C457F-6385-469A-A253-E9E4D25D7165" />
166
+ </orm:RoleSequence>
167
+ </orm:ReadingOrder>
168
+ </orm:ReadingOrders>
169
+ <orm:InternalConstraints>
170
+ <orm:MandatoryConstraint ref="_0B1028BE-2880-4B8D-A12D-0CB7241A48FB" />
171
+ <orm:UniquenessConstraint ref="_B9F540A2-507D-4AFB-AD36-FBBE67D63508" />
172
+ </orm:InternalConstraints>
173
+ </orm:Fact>
174
+ </orm:Facts>
175
+ <orm:Constraints>
176
+ <orm:UniquenessConstraint id="_5AC376C4-19E1-4149-A17B-B1CB2A637583" Name="InternalUniquenessConstraint1" IsInternal="true">
177
+ <orm:RoleSequence>
178
+ <orm:Role id="_F1A95A06-7BAE-460C-A5D1-F2C1DE909E7C" ref="_F533AE24-02FF-457E-83FA-359497F4AD14" />
179
+ </orm:RoleSequence>
180
+ <orm:PreferredIdentifierFor ref="_0FA79033-4A53-4AEB-8801-17BC8C34B36E" />
181
+ </orm:UniquenessConstraint>
182
+ <orm:UniquenessConstraint id="_789773EC-5EF7-4071-AE2F-562AF81E3DA7" Name="InternalUniquenessConstraint2" IsInternal="true">
183
+ <orm:RoleSequence>
184
+ <orm:Role id="_767832C5-C13A-4DDB-805D-1CA5172C86E2" ref="_69AB4B7E-7534-45B1-89C7-7A14D3C967B9" />
185
+ </orm:RoleSequence>
186
+ </orm:UniquenessConstraint>
187
+ <orm:MandatoryConstraint id="_AD38E9B3-5311-4B17-8A94-39D15CA99D80" Name="SimpleMandatoryConstraint1" IsSimple="true">
188
+ <orm:RoleSequence>
189
+ <orm:Role id="_DB609F72-AB84-4CED-A045-5F04664EBE67" ref="_69AB4B7E-7534-45B1-89C7-7A14D3C967B9" />
190
+ </orm:RoleSequence>
191
+ </orm:MandatoryConstraint>
192
+ <orm:MandatoryConstraint id="_30146BFD-6512-40C6-8449-3AEE6B37AB4A" Name="ImpliedMandatoryConstraint1" IsImplied="true">
193
+ <orm:RoleSequence>
194
+ <orm:Role id="_77C4D18C-4A7D-4918-BD2B-3E0CDF57B8C2" ref="_F533AE24-02FF-457E-83FA-359497F4AD14" />
195
+ </orm:RoleSequence>
196
+ <orm:ImpliedByObjectType ref="_7C8EF084-3199-41F8-9D7D-DDFE2A64EEB0" />
197
+ </orm:MandatoryConstraint>
198
+ <orm:MandatoryConstraint id="_64153C5D-2B39-42B6-B8B6-F5021614358F" Name="SimpleMandatoryConstraint2" IsSimple="true">
199
+ <orm:RoleSequence>
200
+ <orm:Role id="_A7B08888-BCE8-45C7-8F0B-88470AEBD86F" ref="_7E817136-C7B5-46A0-9814-6902AA41C21E" />
201
+ </orm:RoleSequence>
202
+ </orm:MandatoryConstraint>
203
+ <orm:UniquenessConstraint id="_BEB55D16-CEAA-4AB1-815F-5F799FB99A0F" Name="InternalUniquenessConstraint3" IsInternal="true">
204
+ <orm:RoleSequence>
205
+ <orm:Role id="_7D8D0470-462A-40E4-8BEE-B00ABD540423" ref="_7E817136-C7B5-46A0-9814-6902AA41C21E" />
206
+ </orm:RoleSequence>
207
+ </orm:UniquenessConstraint>
208
+ <orm:UniquenessConstraint id="_738E6CF8-902C-4910-B0BF-A3BE74B16DC1" Name="InternalUniquenessConstraint4" IsInternal="true">
209
+ <orm:RoleSequence>
210
+ <orm:Role id="_C2A94615-ADAC-446F-A93D-6CAE8E7E9C5F" ref="_A6F7652B-3D5A-40FF-BBEC-ACAD43D799FB" />
211
+ </orm:RoleSequence>
212
+ </orm:UniquenessConstraint>
213
+ <orm:MandatoryConstraint id="_7FC9A50E-BE7D-4912-BB77-3CA2F7D55BF7" Name="SimpleMandatoryConstraint3" IsSimple="true">
214
+ <orm:RoleSequence>
215
+ <orm:Role id="_A2099A43-036B-4F7A-BE2A-9ACC48751EE7" ref="_8CC7A273-DC07-4249-A36A-3AB13C141436" />
216
+ </orm:RoleSequence>
217
+ </orm:MandatoryConstraint>
218
+ <orm:UniquenessConstraint id="_5C5DB98D-2ED5-4675-873D-AC97C7E89044" Name="InternalUniquenessConstraint5" IsInternal="true">
219
+ <orm:RoleSequence>
220
+ <orm:Role id="_72C17999-FFA3-4EE0-BF23-0AF18C973BA5" ref="_8CC7A273-DC07-4249-A36A-3AB13C141436" />
221
+ </orm:RoleSequence>
222
+ </orm:UniquenessConstraint>
223
+ <orm:UniquenessConstraint id="_8CD64756-BB36-432E-B792-4F4FC282AA43" Name="InternalUniquenessConstraint6" IsInternal="true">
224
+ <orm:RoleSequence>
225
+ <orm:Role id="_521AAD35-BB0E-41D9-8DBB-371F1B7CD7E3" ref="_895A94D2-47AD-4E53-AA41-7D48CD1985DC" />
226
+ </orm:RoleSequence>
227
+ </orm:UniquenessConstraint>
228
+ <orm:MandatoryConstraint id="_121FA9F6-02AE-4202-8964-0E5743D1D65A" Name="InclusiveOrConstraint1">
229
+ <orm:RoleSequence>
230
+ <orm:Role id="_8AFEE928-87A0-49A7-AF0D-0802D15825EE" ref="_A6F7652B-3D5A-40FF-BBEC-ACAD43D799FB" />
231
+ <orm:Role id="_F372BEF6-046C-4444-BF69-4A0F4D97A25E" ref="_895A94D2-47AD-4E53-AA41-7D48CD1985DC" />
232
+ </orm:RoleSequence>
233
+ <orm:ExclusiveOrExclusionConstraint ref="_B6B72D3A-96D9-42DF-9EC9-85C93C87EE22" />
234
+ </orm:MandatoryConstraint>
235
+ <orm:UniquenessConstraint id="_19C73F7E-8059-4C57-B787-0BE66A6261EC" Name="InternalUniquenessConstraint7" IsInternal="true">
236
+ <orm:RoleSequence>
237
+ <orm:Role id="_B1DB7320-5FDE-406F-846E-395FFD2130F7" ref="_1B3F3B43-3C94-4F56-ABD1-501CCEC0DB74" />
238
+ </orm:RoleSequence>
239
+ </orm:UniquenessConstraint>
240
+ <orm:UniquenessConstraint id="_9411982D-1B56-4354-81D2-95929E0CCE93" Name="InternalUniquenessConstraint8" IsInternal="true">
241
+ <orm:RoleSequence>
242
+ <orm:Role id="_B4E4D02A-A50E-4E5D-8340-6A0F36606912" ref="_426EA11A-051E-4308-89E9-20A78B8624C7" />
243
+ </orm:RoleSequence>
244
+ </orm:UniquenessConstraint>
245
+ <orm:RingConstraint id="_8E386086-610D-4226-B7BB-F1E5D6D1E789" Name="RingConstraint1" Type="Symmetric">
246
+ <orm:RoleSequence>
247
+ <orm:Role id="_62AB70DF-1FB5-4D0C-9494-67256BD88EC8" ref="_426EA11A-051E-4308-89E9-20A78B8624C7" />
248
+ <orm:Role id="_B2369081-4D79-42C5-9788-B977215D595D" ref="_1B3F3B43-3C94-4F56-ABD1-501CCEC0DB74" />
249
+ </orm:RoleSequence>
250
+ </orm:RingConstraint>
251
+ <orm:MandatoryConstraint id="_152DB4C6-5F0A-43F8-92A3-0C51EEB98C56" Name="ImpliedMandatoryConstraint2" IsImplied="true">
252
+ <orm:RoleSequence>
253
+ <orm:Role id="_9277DAC4-880B-4015-985F-D4B6B1290D34" ref="_057C457F-6385-469A-A253-E9E4D25D7165" />
254
+ </orm:RoleSequence>
255
+ <orm:ImpliedByObjectType ref="_D78ACB87-DBD8-4DBA-8CEE-428B0B4BA935" />
256
+ </orm:MandatoryConstraint>
257
+ <orm:MandatoryConstraint id="_0B1028BE-2880-4B8D-A12D-0CB7241A48FB" Name="SimpleMandatoryConstraint4" IsSimple="true">
258
+ <orm:RoleSequence>
259
+ <orm:Role id="_6C821ED0-911B-4502-A6B8-AD7CA5DA9EFB" ref="_7A345438-30F5-4533-88BF-18F90B5A9DEF" />
260
+ </orm:RoleSequence>
261
+ </orm:MandatoryConstraint>
262
+ <orm:UniquenessConstraint id="_B9F540A2-507D-4AFB-AD36-FBBE67D63508" Name="InternalUniquenessConstraint9" IsInternal="true">
263
+ <orm:RoleSequence>
264
+ <orm:Role id="_EE7378EC-F516-4039-9574-8C17592A4D95" ref="_7A345438-30F5-4533-88BF-18F90B5A9DEF" />
265
+ </orm:RoleSequence>
266
+ </orm:UniquenessConstraint>
267
+ <orm:ExclusionConstraint id="_B6B72D3A-96D9-42DF-9EC9-85C93C87EE22" Name="ExclusiveOrConstraint1">
268
+ <orm:RoleSequences>
269
+ <orm:RoleSequence id="_BC7B82E7-8289-4CCB-A9F5-E89E60966DFC">
270
+ <orm:Role id="_4CA3474F-8180-4073-971F-0D80832F3F30" ref="_A6F7652B-3D5A-40FF-BBEC-ACAD43D799FB" />
271
+ </orm:RoleSequence>
272
+ <orm:RoleSequence id="_52B77465-46E9-4D04-B6EE-1A73793A0C19">
273
+ <orm:Role id="_1A97AE57-5022-4D3E-94F3-7F1D56BA5670" ref="_895A94D2-47AD-4E53-AA41-7D48CD1985DC" />
274
+ </orm:RoleSequence>
275
+ </orm:RoleSequences>
276
+ <orm:ExclusiveOrMandatoryConstraint ref="_121FA9F6-02AE-4202-8964-0E5743D1D65A" />
277
+ </orm:ExclusionConstraint>
278
+ </orm:Constraints>
279
+ <orm:DataTypes>
280
+ <orm:VariableLengthTextDataType id="_3552F515-FEF6-463D-B030-E13AD4B010C2" />
281
+ <orm:AutoCounterNumericDataType id="_D5E815B9-1D39-42AF-8151-C2A7EFC135A3" />
282
+ </orm:DataTypes>
283
+ <orm:ReferenceModeKinds>
284
+ <orm:ReferenceModeKind id="_21430AB1-0566-4503-87F9-BD0081F61C0B" FormatString="{1}" ReferenceModeType="General" />
285
+ <orm:ReferenceModeKind id="_3D60A98E-643D-4A34-80F3-9EFDD1FCD0D4" FormatString="{0} {1}" ReferenceModeType="Popular" />
286
+ <orm:ReferenceModeKind id="_AFAB8D8F-1744-47C2-8274-C70C14DB3F3D" FormatString="{1}Value" ReferenceModeType="UnitBased" />
287
+ </orm:ReferenceModeKinds>
288
+ </orm:ORMModel>
289
+ <ormDiagram:ORMDiagram id="_BEB563CA-0801-4962-8BE9-3F92ABE746D0" IsCompleteView="false" Name="Monogamy" BaseFontName="Tahoma" BaseFontSize="0.0972222238779068">
290
+ <ormDiagram:Shapes>
291
+ <ormDiagram:ObjectTypeShape id="_F7DE5C74-93D8-453D-A841-3E191532BCDB" IsExpanded="true" AbsoluteBounds="0.99740471859773017, 0.50119143775974728, 0.49852421402931213, 0.35900605320930479">
292
+ <ormDiagram:Subject ref="_0FA79033-4A53-4AEB-8801-17BC8C34B36E" />
293
+ </ormDiagram:ObjectTypeShape>
294
+ <ormDiagram:ObjectTypeShape id="_FD23C959-B951-463F-8FA1-00EF0A7DA56A" IsExpanded="true" AbsoluteBounds="0.5, 1.5034428318527842, 0.33094879508018493, 0.22950302660465241">
295
+ <ormDiagram:Subject ref="_FEE37CF9-9EFF-4B4C-A4D6-1B976223D9E9" />
296
+ </ormDiagram:ObjectTypeShape>
297
+ <ormDiagram:ObjectTypeShape id="_2B068CBB-F777-4873-9F56-A5343704B07E" IsExpanded="true" AbsoluteBounds="1.6145833333333335, 1.5034428318527842, 0.34053809463977813, 0.22950302660465241">
298
+ <ormDiagram:Subject ref="_C8CE0565-CDAA-4DDB-BCED-7310195F83BB" />
299
+ </ormDiagram:ObjectTypeShape>
300
+ <ormDiagram:ExternalConstraintShape id="_C4BADA25-2194-442F-AEE6-66075BEDC0CC" IsExpanded="true" AbsoluteBounds="1.1666668256123858, 1.1979166865348818, 0.16, 0.16">
301
+ <ormDiagram:Subject ref="_121FA9F6-02AE-4202-8964-0E5743D1D65A" />
302
+ </ormDiagram:ExternalConstraintShape>
303
+ <ormDiagram:FactTypeShape id="_A0A42A6D-496C-456F-ACEE-B0014B8C8DAA" IsExpanded="true" AbsoluteBounds="1.0547223811162017, 1.4612499006589257, 0.38388888899236917, 0.24388888899236916" DisplayRoleNames="Off">
304
+ <ormDiagram:RelativeShapes>
305
+ <ormDiagram:ReadingShape id="_27560C27-DA7F-4AF6-8115-3C229F99776D" IsExpanded="true" AbsoluteBounds="1.0547223811162017, 1.769890302953621, 1.6041033267974854, 0.12950302660465241">
306
+ <ormDiagram:Subject ref="_8D8B9954-FEB7-486E-8468-38E6DBD63CF7" />
307
+ </ormDiagram:ReadingShape>
308
+ </ormDiagram:RelativeShapes>
309
+ <ormDiagram:Subject ref="_32032DC8-F073-43C0-8AA9-799A290189F6" />
310
+ </ormDiagram:FactTypeShape>
311
+ <ormDiagram:RingConstraintShape id="_BC7C4E07-FFEC-452A-BC92-30F07252F07A" IsExpanded="true" AbsoluteBounds="1.0866668256123861, 2.0833333929379787, 0.32, 0.21280000000000002">
312
+ <ormDiagram:Subject ref="_8E386086-610D-4226-B7BB-F1E5D6D1E789" />
313
+ </ormDiagram:RingConstraintShape>
314
+ <ormDiagram:ObjectTypeShape id="_3DBD85EB-356B-47BC-9178-4845B9A0C5E7" IsExpanded="true" AbsoluteBounds="2.3333334128061929, 0.56594295106207337, 0.44445383071899419, 0.22950302660465241">
315
+ <ormDiagram:Subject ref="_D78ACB87-DBD8-4DBA-8CEE-428B0B4BA935" />
316
+ </ormDiagram:ObjectTypeShape>
317
+ <ormDiagram:FactTypeShape id="_A6EA39F7-9F4F-4067-B5B2-91E9217D235D" IsExpanded="true" AbsoluteBounds="1.7187499602635703, 0.523750019868215, 0.38388888899236917, 0.24388888899236916">
318
+ <ormDiagram:RelativeShapes>
319
+ <ormDiagram:ReadingShape id="_E117BA94-22F4-42FC-B98F-68C70FEEA66D" IsExpanded="true" AbsoluteBounds="1.7187499602635703, 0.83239042216291037, 0.38379356265068054, 0.12950302660465241">
320
+ <ormDiagram:Subject ref="_71FA717D-1ABD-4151-9F12-02C44FA7B416" />
321
+ </ormDiagram:ReadingShape>
322
+ </ormDiagram:RelativeShapes>
323
+ <ormDiagram:Subject ref="_EB70C4F5-5483-478C-B9F0-F3F157AC6138" />
324
+ </ormDiagram:FactTypeShape>
325
+ </ormDiagram:Shapes>
326
+ <ormDiagram:Subject ref="_8C5DF249-954C-4887-9D3E-1AFE146D4D30" />
327
+ </ormDiagram:ORMDiagram>
328
+ </ormRoot:ORM2>