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/Marriage.orm ADDED
@@ -0,0 +1,493 @@
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:oial="http://schemas.neumont.edu/ORM/Abstraction/2007-06/Core" xmlns:odt="http://schemas.neumont.edu/ORM/Abstraction/2007-06/DataTypes/Core" xmlns:rcd="http://schemas.neumont.edu/ORM/Relational/2007-06/ConceptualDatabase" xmlns:ddt="http://schemas.orm.net/DIL/DILDT" xmlns:ormtooial="http://schemas.neumont.edu/ORM/Bridge/2007-06/ORMToORMAbstraction" xmlns:oialtocdb="http://schemas.neumont.edu/ORM/Bridge/2007-06/ORMAbstractionToConceptualDatabase" xmlns:ormRoot="http://schemas.neumont.edu/ORM/2006-04/ORMRoot">
3
+ <orm:ORMModel id="_4CDCE579-1014-49A7-BCDA-2DFD86C106D6" Name="Marriage">
4
+ <orm:Objects>
5
+ <orm:ValueType id="_57B901A4-71E4-43A6-A7AE-20A42DDFD560" Name="Name">
6
+ <orm:PlayedRoles>
7
+ <orm:Role ref="_9D7AD869-E5C3-423D-84DE-6CEB38B0A197" />
8
+ <orm:Role ref="_D486CCB4-02D8-44DD-811E-D5A230FDFC4F" />
9
+ </orm:PlayedRoles>
10
+ <orm:ConceptualDataType id="_D8E7D2C9-FDD7-4031-A95F-7D783C713A83" ref="_37DCADAB-2137-4551-AB10-D71D575549D3" Scale="0" Length="0" />
11
+ </orm:ValueType>
12
+ <orm:EntityType id="_2FB4AF85-9189-474D-9EC9-B9C7CEEE6F1C" Name="Person" IsIndependent="true" _ReferenceMode="">
13
+ <orm:PlayedRoles>
14
+ <orm:Role ref="_1713ADE7-E89A-463C-96A5-C8F349961793" />
15
+ <orm:Role ref="_7E9366BA-3EFB-4697-B5BF-E627860B6013" />
16
+ <orm:Role ref="_69502774-6EEB-4785-8FC6-F4E93C9EC51B" />
17
+ <orm:Role ref="_28BC40EE-E19F-4EBE-B8CD-09FCC3FD7BE4" />
18
+ </orm:PlayedRoles>
19
+ <orm:PreferredIdentifier ref="_3BD4D80D-E83F-4B81-AC8B-3D73DCB5690E" />
20
+ </orm:EntityType>
21
+ <orm:EntityType id="_AF731F84-0F1D-499E-B1E3-FE74DD2C655C" Name="Marriage" _ReferenceMode="">
22
+ <orm:PlayedRoles>
23
+ <orm:Role ref="_0B16AAE8-355B-401F-8487-30CA128AB59C" />
24
+ <orm:Role ref="_D22B212E-5383-4934-8EC9-317D5FE2D58B" />
25
+ </orm:PlayedRoles>
26
+ <orm:PreferredIdentifier ref="_A11D16A3-5491-4D42-A2B6-917CBF4464A9" />
27
+ </orm:EntityType>
28
+ </orm:Objects>
29
+ <orm:Facts>
30
+ <orm:Fact id="_3BC82DC3-CC00-4241-8988-CED92E669827" _Name="MarriageIsByHusbandPerson">
31
+ <orm:FactRoles>
32
+ <orm:Role id="_69502774-6EEB-4785-8FC6-F4E93C9EC51B" _IsMandatory="false" _Multiplicity="ExactlyOne" Name="Husband">
33
+ <orm:RolePlayer ref="_2FB4AF85-9189-474D-9EC9-B9C7CEEE6F1C" />
34
+ </orm:Role>
35
+ <orm:Role id="_0B16AAE8-355B-401F-8487-30CA128AB59C" _IsMandatory="true" _Multiplicity="ZeroToMany" Name="">
36
+ <orm:RolePlayer ref="_AF731F84-0F1D-499E-B1E3-FE74DD2C655C" />
37
+ </orm:Role>
38
+ </orm:FactRoles>
39
+ <orm:ReadingOrders>
40
+ <orm:ReadingOrder id="_EA52BDC7-9254-454B-B376-D426B05D8C8F">
41
+ <orm:Readings>
42
+ <orm:Reading id="_D5C061FF-302A-49F6-9D3D-F16406C64423">
43
+ <orm:Data>{0} is by husband- {1}</orm:Data>
44
+ <orm:ExpandedData>
45
+ <orm:RoleText RoleIndex="0" FollowingText=" is by " />
46
+ <orm:RoleText RoleIndex="1" PreBoundText="husband " />
47
+ </orm:ExpandedData>
48
+ </orm:Reading>
49
+ </orm:Readings>
50
+ <orm:RoleSequence>
51
+ <orm:Role ref="_0B16AAE8-355B-401F-8487-30CA128AB59C" />
52
+ <orm:Role ref="_69502774-6EEB-4785-8FC6-F4E93C9EC51B" />
53
+ </orm:RoleSequence>
54
+ </orm:ReadingOrder>
55
+ </orm:ReadingOrders>
56
+ <orm:InternalConstraints>
57
+ <orm:UniquenessConstraint ref="_8162A004-CD48-422F-9441-646D2BCB5038" />
58
+ <orm:MandatoryConstraint ref="_2FAD4EAC-F609-4750-A981-7E5A95D1DD16" />
59
+ </orm:InternalConstraints>
60
+ </orm:Fact>
61
+ <orm:Fact id="_687501E1-DDD6-4E00-8EA0-6BE13A59DC46" _Name="MarriageIsOfWifePerson">
62
+ <orm:FactRoles>
63
+ <orm:Role id="_28BC40EE-E19F-4EBE-B8CD-09FCC3FD7BE4" _IsMandatory="false" _Multiplicity="ExactlyOne" Name="Wife">
64
+ <orm:RolePlayer ref="_2FB4AF85-9189-474D-9EC9-B9C7CEEE6F1C" />
65
+ </orm:Role>
66
+ <orm:Role id="_D22B212E-5383-4934-8EC9-317D5FE2D58B" _IsMandatory="true" _Multiplicity="ZeroToMany" Name="">
67
+ <orm:RolePlayer ref="_AF731F84-0F1D-499E-B1E3-FE74DD2C655C" />
68
+ </orm:Role>
69
+ </orm:FactRoles>
70
+ <orm:ReadingOrders>
71
+ <orm:ReadingOrder id="_AF1B4E6A-7DCF-48BD-8AB1-C524FAFB9662">
72
+ <orm:Readings>
73
+ <orm:Reading id="_EBA6673E-570F-44C8-B282-ADC1BBCB269B">
74
+ <orm:Data>{0} is of wife- {1}</orm:Data>
75
+ <orm:ExpandedData>
76
+ <orm:RoleText RoleIndex="0" FollowingText=" is of " />
77
+ <orm:RoleText RoleIndex="1" PreBoundText="wife " />
78
+ </orm:ExpandedData>
79
+ </orm:Reading>
80
+ </orm:Readings>
81
+ <orm:RoleSequence>
82
+ <orm:Role ref="_D22B212E-5383-4934-8EC9-317D5FE2D58B" />
83
+ <orm:Role ref="_28BC40EE-E19F-4EBE-B8CD-09FCC3FD7BE4" />
84
+ </orm:RoleSequence>
85
+ </orm:ReadingOrder>
86
+ </orm:ReadingOrders>
87
+ <orm:InternalConstraints>
88
+ <orm:UniquenessConstraint ref="_7DED78D6-7480-4474-BD8B-651AD17DE51E" />
89
+ <orm:MandatoryConstraint ref="_02C7A1D1-8329-49A2-BA64-9DC912BED135" />
90
+ </orm:InternalConstraints>
91
+ </orm:Fact>
92
+ <orm:Fact id="_CF5CA6DF-C378-42DD-B412-0509847318FC" _Name="PersonHasGivenName">
93
+ <orm:FactRoles>
94
+ <orm:Role id="_9D7AD869-E5C3-423D-84DE-6CEB38B0A197" _IsMandatory="false" _Multiplicity="ExactlyOne" Name="">
95
+ <orm:RolePlayer ref="_57B901A4-71E4-43A6-A7AE-20A42DDFD560" />
96
+ </orm:Role>
97
+ <orm:Role id="_7E9366BA-3EFB-4697-B5BF-E627860B6013" _IsMandatory="true" _Multiplicity="ZeroToMany" Name="">
98
+ <orm:RolePlayer ref="_2FB4AF85-9189-474D-9EC9-B9C7CEEE6F1C" />
99
+ </orm:Role>
100
+ </orm:FactRoles>
101
+ <orm:ReadingOrders>
102
+ <orm:ReadingOrder id="_228C8A3B-005C-4501-987E-0F033BF8BC2A">
103
+ <orm:Readings>
104
+ <orm:Reading id="_D727A535-CE54-4A5F-B77B-E4E8A1A3580D">
105
+ <orm:Data>{0} has given- {1}</orm:Data>
106
+ <orm:ExpandedData>
107
+ <orm:RoleText RoleIndex="0" FollowingText=" has " />
108
+ <orm:RoleText RoleIndex="1" PreBoundText="given " />
109
+ </orm:ExpandedData>
110
+ </orm:Reading>
111
+ </orm:Readings>
112
+ <orm:RoleSequence>
113
+ <orm:Role ref="_7E9366BA-3EFB-4697-B5BF-E627860B6013" />
114
+ <orm:Role ref="_9D7AD869-E5C3-423D-84DE-6CEB38B0A197" />
115
+ </orm:RoleSequence>
116
+ </orm:ReadingOrder>
117
+ </orm:ReadingOrders>
118
+ <orm:InternalConstraints>
119
+ <orm:UniquenessConstraint ref="_B18E0EBD-36A9-4EE6-9BEE-466ABCE05A87" />
120
+ <orm:MandatoryConstraint ref="_9D741977-2798-4717-B45C-7ACCA7BA996B" />
121
+ </orm:InternalConstraints>
122
+ </orm:Fact>
123
+ <orm:Fact id="_5100FF34-0808-4810-A3A1-CC0A951016A5" _Name="PersonHasFamilyName">
124
+ <orm:FactRoles>
125
+ <orm:Role id="_D486CCB4-02D8-44DD-811E-D5A230FDFC4F" _IsMandatory="false" _Multiplicity="ExactlyOne" Name="">
126
+ <orm:RolePlayer ref="_57B901A4-71E4-43A6-A7AE-20A42DDFD560" />
127
+ </orm:Role>
128
+ <orm:Role id="_1713ADE7-E89A-463C-96A5-C8F349961793" _IsMandatory="true" _Multiplicity="ZeroToMany" Name="">
129
+ <orm:RolePlayer ref="_2FB4AF85-9189-474D-9EC9-B9C7CEEE6F1C" />
130
+ </orm:Role>
131
+ </orm:FactRoles>
132
+ <orm:ReadingOrders>
133
+ <orm:ReadingOrder id="_60C76620-7231-4985-8836-49EDA80243C6">
134
+ <orm:Readings>
135
+ <orm:Reading id="_3CD9546F-D13D-41D3-A639-7F5B6B767120">
136
+ <orm:Data>{0} has family- {1}</orm:Data>
137
+ <orm:ExpandedData>
138
+ <orm:RoleText RoleIndex="0" FollowingText=" has " />
139
+ <orm:RoleText RoleIndex="1" PreBoundText="family " />
140
+ </orm:ExpandedData>
141
+ </orm:Reading>
142
+ </orm:Readings>
143
+ <orm:RoleSequence>
144
+ <orm:Role ref="_1713ADE7-E89A-463C-96A5-C8F349961793" />
145
+ <orm:Role ref="_D486CCB4-02D8-44DD-811E-D5A230FDFC4F" />
146
+ </orm:RoleSequence>
147
+ </orm:ReadingOrder>
148
+ </orm:ReadingOrders>
149
+ <orm:InternalConstraints>
150
+ <orm:UniquenessConstraint ref="_1AD53DF1-3072-4A4E-B959-134479D50423" />
151
+ <orm:MandatoryConstraint ref="_D9BE79E5-F2C0-4D70-BCD7-FABCFAF293DD" />
152
+ </orm:InternalConstraints>
153
+ </orm:Fact>
154
+ </orm:Facts>
155
+ <orm:Constraints>
156
+ <orm:MandatoryConstraint id="_CD638526-0A14-428B-8D47-1FE51B265C75" Name="ImpliedMandatoryConstraint1" IsImplied="true">
157
+ <orm:RoleSequence>
158
+ <orm:Role id="_88A0D8D7-F5F9-4ADF-A3B9-7D7F502E1F77" ref="_9D7AD869-E5C3-423D-84DE-6CEB38B0A197" />
159
+ <orm:Role id="_6E7038AE-8CFB-4648-9E20-886365BF3E82" ref="_D486CCB4-02D8-44DD-811E-D5A230FDFC4F" />
160
+ </orm:RoleSequence>
161
+ <orm:ImpliedByObjectType ref="_57B901A4-71E4-43A6-A7AE-20A42DDFD560" />
162
+ </orm:MandatoryConstraint>
163
+ <orm:UniquenessConstraint id="_1AD53DF1-3072-4A4E-B959-134479D50423" Name="InternalUniquenessConstraint1" IsInternal="true">
164
+ <orm:RoleSequence>
165
+ <orm:Role id="_BA88853D-E9B8-4685-90EB-7A3EA9A609DF" ref="_1713ADE7-E89A-463C-96A5-C8F349961793" />
166
+ </orm:RoleSequence>
167
+ </orm:UniquenessConstraint>
168
+ <orm:UniquenessConstraint id="_B18E0EBD-36A9-4EE6-9BEE-466ABCE05A87" Name="InternalUniquenessConstraint2" IsInternal="true">
169
+ <orm:RoleSequence>
170
+ <orm:Role id="_A45A542E-7A11-4D2F-86DB-86B16B2B2C33" ref="_7E9366BA-3EFB-4697-B5BF-E627860B6013" />
171
+ </orm:RoleSequence>
172
+ </orm:UniquenessConstraint>
173
+ <orm:UniquenessConstraint id="_8162A004-CD48-422F-9441-646D2BCB5038" Name="InternalUniquenessConstraint3" IsInternal="true">
174
+ <orm:RoleSequence>
175
+ <orm:Role id="_D9D99002-7723-47B4-A2B6-54BAE590BE88" ref="_0B16AAE8-355B-401F-8487-30CA128AB59C" />
176
+ </orm:RoleSequence>
177
+ </orm:UniquenessConstraint>
178
+ <orm:UniquenessConstraint id="_7DED78D6-7480-4474-BD8B-651AD17DE51E" Name="InternalUniquenessConstraint4" IsInternal="true">
179
+ <orm:RoleSequence>
180
+ <orm:Role id="_FB42DCFA-9CD4-4538-B8E8-4914FF8C0607" ref="_D22B212E-5383-4934-8EC9-317D5FE2D58B" />
181
+ </orm:RoleSequence>
182
+ </orm:UniquenessConstraint>
183
+ <orm:MandatoryConstraint id="_2FAD4EAC-F609-4750-A981-7E5A95D1DD16" Name="SimpleMandatoryConstraint1" IsSimple="true">
184
+ <orm:RoleSequence>
185
+ <orm:Role id="_D0BFEE5C-B0D2-4BE9-B461-D3D05DFA16E7" ref="_0B16AAE8-355B-401F-8487-30CA128AB59C" />
186
+ </orm:RoleSequence>
187
+ </orm:MandatoryConstraint>
188
+ <orm:MandatoryConstraint id="_02C7A1D1-8329-49A2-BA64-9DC912BED135" Name="SimpleMandatoryConstraint2" IsSimple="true">
189
+ <orm:RoleSequence>
190
+ <orm:Role id="_09A9C003-D6DB-40A5-8501-7FB1AF76B2BA" ref="_D22B212E-5383-4934-8EC9-317D5FE2D58B" />
191
+ </orm:RoleSequence>
192
+ </orm:MandatoryConstraint>
193
+ <orm:MandatoryConstraint id="_9D741977-2798-4717-B45C-7ACCA7BA996B" Name="SimpleMandatoryConstraint3" IsSimple="true">
194
+ <orm:RoleSequence>
195
+ <orm:Role id="_95B36598-44C9-46E6-8A3B-6751D9491D73" ref="_7E9366BA-3EFB-4697-B5BF-E627860B6013" />
196
+ </orm:RoleSequence>
197
+ </orm:MandatoryConstraint>
198
+ <orm:MandatoryConstraint id="_D9BE79E5-F2C0-4D70-BCD7-FABCFAF293DD" Name="SimpleMandatoryConstraint4" IsSimple="true">
199
+ <orm:RoleSequence>
200
+ <orm:Role id="_0362D698-AFBA-47CB-BF14-9FB16A5F1FD6" ref="_1713ADE7-E89A-463C-96A5-C8F349961793" />
201
+ </orm:RoleSequence>
202
+ </orm:MandatoryConstraint>
203
+ <orm:UniquenessConstraint id="_3BD4D80D-E83F-4B81-AC8B-3D73DCB5690E" Name="ExternalUniquenessConstraint1">
204
+ <orm:RoleSequence>
205
+ <orm:Role id="_A0C84247-D4FD-484A-B9BD-C26B601995ED" ref="_9D7AD869-E5C3-423D-84DE-6CEB38B0A197" />
206
+ <orm:Role id="_E973FD8B-F754-4B05-98A1-C4EED251F5AE" ref="_D486CCB4-02D8-44DD-811E-D5A230FDFC4F" />
207
+ <orm:JoinRule>
208
+ <orm:JoinPath id="_CCEADA57-5537-4F54-87C8-906C787A5BDB" IsAutomatic="true">
209
+ <orm:PathComponents>
210
+ <orm:RolePath id="_C5F08449-AE61-4E15-B7CF-9E795698DADD" SplitCombinationOperator="And">
211
+ <orm:RootObjectType id="_378A8B3C-EF24-4CFF-B715-FEB808FB399B" ref="_2FB4AF85-9189-474D-9EC9-B9C7CEEE6F1C" />
212
+ <orm:SubPaths>
213
+ <orm:SubPath id="_30126953-F35C-4C60-B8E4-74FA7D8F4BEA">
214
+ <orm:PathedRoles>
215
+ <orm:PathedRole id="_08C32A8C-4F2C-4844-97F8-E5C83EFB486B" ref="_7E9366BA-3EFB-4697-B5BF-E627860B6013" Purpose="PostInnerJoin" />
216
+ <orm:PathedRole id="_A6F66D49-80C2-4095-B419-0DF8141261F0" ref="_9D7AD869-E5C3-423D-84DE-6CEB38B0A197" Purpose="SameFactType" />
217
+ </orm:PathedRoles>
218
+ </orm:SubPath>
219
+ <orm:SubPath id="_D751852A-5B41-4AD2-9246-111CD3DE6CCE">
220
+ <orm:PathedRoles>
221
+ <orm:PathedRole id="_0B8EE817-0246-448F-A11A-84AA6849B3F8" ref="_1713ADE7-E89A-463C-96A5-C8F349961793" Purpose="PostInnerJoin" />
222
+ <orm:PathedRole id="_52FACDC7-7CC9-4EDE-BC37-D2053AC66D23" ref="_D486CCB4-02D8-44DD-811E-D5A230FDFC4F" Purpose="SameFactType" />
223
+ </orm:PathedRoles>
224
+ </orm:SubPath>
225
+ </orm:SubPaths>
226
+ </orm:RolePath>
227
+ </orm:PathComponents>
228
+ <orm:JoinPathProjections>
229
+ <orm:JoinPathProjection id="_E5FBFC5C-CCCD-4B11-91F8-E4F393AA6342" ref="_C5F08449-AE61-4E15-B7CF-9E795698DADD">
230
+ <orm:ConstraintRoleProjection id="_B1BDB549-F63E-484B-B541-F04427C55B9B" ref="_A0C84247-D4FD-484A-B9BD-C26B601995ED">
231
+ <orm:ProjectedFrom>
232
+ <orm:PathedRole ref="_A6F66D49-80C2-4095-B419-0DF8141261F0" />
233
+ </orm:ProjectedFrom>
234
+ </orm:ConstraintRoleProjection>
235
+ <orm:ConstraintRoleProjection id="_7137CCE6-2AA5-449D-8A19-B2FCE9C81017" ref="_E973FD8B-F754-4B05-98A1-C4EED251F5AE">
236
+ <orm:ProjectedFrom>
237
+ <orm:PathedRole ref="_52FACDC7-7CC9-4EDE-BC37-D2053AC66D23" />
238
+ </orm:ProjectedFrom>
239
+ </orm:ConstraintRoleProjection>
240
+ </orm:JoinPathProjection>
241
+ </orm:JoinPathProjections>
242
+ </orm:JoinPath>
243
+ </orm:JoinRule>
244
+ </orm:RoleSequence>
245
+ <orm:PreferredIdentifierFor ref="_2FB4AF85-9189-474D-9EC9-B9C7CEEE6F1C" />
246
+ </orm:UniquenessConstraint>
247
+ <orm:UniquenessConstraint id="_A11D16A3-5491-4D42-A2B6-917CBF4464A9" Name="ExternalUniquenessConstraint2">
248
+ <orm:RoleSequence>
249
+ <orm:Role id="_6E92A385-0113-41D9-A54F-C849161A166C" ref="_69502774-6EEB-4785-8FC6-F4E93C9EC51B" />
250
+ <orm:Role id="_F5C9CB13-6B5A-493A-9BDC-BBFD892C3DAB" ref="_28BC40EE-E19F-4EBE-B8CD-09FCC3FD7BE4" />
251
+ <orm:JoinRule>
252
+ <orm:JoinPath id="_C2C9CC59-FD21-4559-B5B8-753B412F34D5" IsAutomatic="true">
253
+ <orm:PathComponents>
254
+ <orm:RolePath id="_B66830D4-370C-4596-B2F3-535551F0391E" SplitCombinationOperator="And">
255
+ <orm:RootObjectType id="_2689551F-5A61-4965-A210-CCEFFBB15892" ref="_AF731F84-0F1D-499E-B1E3-FE74DD2C655C" />
256
+ <orm:SubPaths>
257
+ <orm:SubPath id="_EC60D1C7-88EC-4B1D-B3C2-6C6F010C8488">
258
+ <orm:PathedRoles>
259
+ <orm:PathedRole id="_AF4F3C99-D712-473A-91E5-C80885367D14" ref="_0B16AAE8-355B-401F-8487-30CA128AB59C" Purpose="PostInnerJoin" />
260
+ <orm:PathedRole id="_BA4802AE-BC76-4257-B7E1-993E2071B75C" ref="_69502774-6EEB-4785-8FC6-F4E93C9EC51B" Purpose="SameFactType" />
261
+ </orm:PathedRoles>
262
+ </orm:SubPath>
263
+ <orm:SubPath id="_3BFF00B2-934D-48FE-A60F-04C18A0F638C">
264
+ <orm:PathedRoles>
265
+ <orm:PathedRole id="_74849AC6-4980-41B0-99D6-FED860BA72DC" ref="_D22B212E-5383-4934-8EC9-317D5FE2D58B" Purpose="PostInnerJoin" />
266
+ <orm:PathedRole id="_1772E40C-CAFD-466D-BCE7-87363DFC1941" ref="_28BC40EE-E19F-4EBE-B8CD-09FCC3FD7BE4" Purpose="SameFactType" />
267
+ </orm:PathedRoles>
268
+ </orm:SubPath>
269
+ </orm:SubPaths>
270
+ </orm:RolePath>
271
+ </orm:PathComponents>
272
+ <orm:JoinPathProjections>
273
+ <orm:JoinPathProjection id="_7CC227FA-8E89-400F-B586-A6BD31847F63" ref="_B66830D4-370C-4596-B2F3-535551F0391E">
274
+ <orm:ConstraintRoleProjection id="_262888F0-22C5-4325-AA32-4D297FF7FC53" ref="_6E92A385-0113-41D9-A54F-C849161A166C">
275
+ <orm:ProjectedFrom>
276
+ <orm:PathedRole ref="_BA4802AE-BC76-4257-B7E1-993E2071B75C" />
277
+ </orm:ProjectedFrom>
278
+ </orm:ConstraintRoleProjection>
279
+ <orm:ConstraintRoleProjection id="_080D1302-6D5F-4529-BDCE-7865E500B772" ref="_F5C9CB13-6B5A-493A-9BDC-BBFD892C3DAB">
280
+ <orm:ProjectedFrom>
281
+ <orm:PathedRole ref="_1772E40C-CAFD-466D-BCE7-87363DFC1941" />
282
+ </orm:ProjectedFrom>
283
+ </orm:ConstraintRoleProjection>
284
+ </orm:JoinPathProjection>
285
+ </orm:JoinPathProjections>
286
+ </orm:JoinPath>
287
+ </orm:JoinRule>
288
+ </orm:RoleSequence>
289
+ <orm:PreferredIdentifierFor ref="_AF731F84-0F1D-499E-B1E3-FE74DD2C655C" />
290
+ </orm:UniquenessConstraint>
291
+ </orm:Constraints>
292
+ <orm:DataTypes>
293
+ <orm:VariableLengthTextDataType id="_37DCADAB-2137-4551-AB10-D71D575549D3" />
294
+ </orm:DataTypes>
295
+ <orm:ReferenceModeKinds>
296
+ <orm:ReferenceModeKind id="_05954074-61DF-400E-9CEB-2BC60065B1A2" FormatString="{1}" ReferenceModeType="General" />
297
+ <orm:ReferenceModeKind id="_DDF47176-9A6A-4945-8805-BAC48EC4B2E2" FormatString="{0}_{1}" ReferenceModeType="Popular" />
298
+ <orm:ReferenceModeKind id="_F62A6A93-DB73-4B6D-9EDD-88868D50A09F" FormatString="{1}Value" ReferenceModeType="UnitBased" />
299
+ </orm:ReferenceModeKinds>
300
+ </orm:ORMModel>
301
+ <orm:NameGenerator id="_389DD863-2CD0-4AAF-AD66-774DDE948B7E" AutomaticallyShortenNames="true" UseTargetDefaultMaximum="true" UserDefinedMaximum="128">
302
+ <orm:Refinements>
303
+ <oialtocdb:RelationalNameGenerator id="_B25DB4F7-67AB-4848-9DDE-1D420641B7D7" SpacingFormat="Remove" AutomaticallyShortenNames="true" UseTargetDefaultMaximum="true" UserDefinedMaximum="128">
304
+ <orm:Refinements>
305
+ <oialtocdb:RelationalNameGenerator id="_C34BB049-A28B-484D-BA8D-51DCFEED86C3" NameUsage="RelationalTable" CasingOption="Pascal" SpacingFormat="Remove" AutomaticallyShortenNames="true" UseTargetDefaultMaximum="true" UserDefinedMaximum="128" />
306
+ <oialtocdb:RelationalNameGenerator id="_899BE176-1B1E-48C4-A7B0-7F84E2EE2FDE" NameUsage="RelationalColumn" CasingOption="Camel" SpacingFormat="Remove" AutomaticallyShortenNames="true" UseTargetDefaultMaximum="true" UserDefinedMaximum="128" />
307
+ </orm:Refinements>
308
+ </oialtocdb:RelationalNameGenerator>
309
+ </orm:Refinements>
310
+ </orm:NameGenerator>
311
+ <orm:GenerationState id="_4AAB7156-7135-4783-8D64-3E0570F06BAF">
312
+ <orm:GenerationSettings>
313
+ <ormtooial:AbstractionModelGenerationSetting id="_F690FFC2-691E-447E-B55B-628BE4B7219B" AlgorithmVersion="1.009">
314
+ <ormtooial:AbstractionModel ref="_50FD60C6-630C-4ABE-AA8B-752EC8072734" />
315
+ </ormtooial:AbstractionModelGenerationSetting>
316
+ <oialtocdb:SchemaGenerationSetting id="_6E9E9033-D56E-4F36-B791-E7DF2D041ADA" CoreAlgorithmVersion="1.004" NameAlgorithmVersion="1.014">
317
+ <oialtocdb:Schema ref="_D4ECE5EF-0FE4-4DF9-8F74-E1348BFE7A81" />
318
+ </oialtocdb:SchemaGenerationSetting>
319
+ </orm:GenerationSettings>
320
+ </orm:GenerationState>
321
+ <ormDiagram:ORMDiagram id="_EEC85DE8-2EA8-47F3-86ED-8AE121C991AA" IsCompleteView="false" Name="Marriage" BaseFontName="Tahoma" BaseFontSize="0.0972222238779068">
322
+ <ormDiagram:Shapes>
323
+ <ormDiagram:ObjectTypeShape id="_886ACA55-F29D-429B-B19C-779E70D3A64F" IsExpanded="true" AbsoluteBounds="0.5, 0.88250000000000028, 0.44445383071899419, 0.22950302660465241">
324
+ <ormDiagram:Subject ref="_57B901A4-71E4-43A6-A7AE-20A42DDFD560" />
325
+ </ormDiagram:ObjectTypeShape>
326
+ <ormDiagram:ObjectTypeShape id="_71F72E3A-9008-47DE-833A-F9797244D1A0" IsExpanded="true" AbsoluteBounds="1.9270831743876138, 0.87208341280619317, 0.56218388199806213, 0.22950302660465241">
327
+ <ormDiagram:Subject ref="_2FB4AF85-9189-474D-9EC9-B9C7CEEE6F1C" />
328
+ </ormDiagram:ObjectTypeShape>
329
+ <ormDiagram:ObjectTypeShape id="_634180A9-8622-4EEC-A3E4-A1CD3C82148B" IsExpanded="true" AbsoluteBounds="3.4166664282480874, 0.87208341280619317, 0.60134809732437144, 0.22950302660465241">
330
+ <ormDiagram:Subject ref="_AF731F84-0F1D-499E-B1E3-FE74DD2C655C" />
331
+ </ormDiagram:ObjectTypeShape>
332
+ <ormDiagram:FactTypeShape id="_41830BF6-BDFB-455D-A136-1D709A3DCD8D" IsExpanded="true" AbsoluteBounds="2.6354167461395268, 0.5, 0.38388888899236917, 0.24388888899236916" DisplayRoleNames="Off">
333
+ <ormDiagram:RelativeShapes>
334
+ <ormDiagram:ReadingShape id="_F070C714-D1CE-40DC-BE69-A3507990970B" IsExpanded="true" AbsoluteBounds="2.6354167461395268, 0.80864040229469536, 0.7295427799224854, 0.12950302660465241">
335
+ <ormDiagram:Subject ref="_EA52BDC7-9254-454B-B376-D426B05D8C8F" />
336
+ </ormDiagram:ReadingShape>
337
+ </ormDiagram:RelativeShapes>
338
+ <ormDiagram:Subject ref="_3BC82DC3-CC00-4241-8988-CED92E669827" />
339
+ </ormDiagram:FactTypeShape>
340
+ <ormDiagram:FactTypeShape id="_7979D737-B7E3-47BF-A8CD-0371F1FA30EC" IsExpanded="true" AbsoluteBounds="2.6354167461395259, 1.2187500000000004, 0.38388888899236917, 0.24388888899236916" DisplayRoleNames="Off">
341
+ <ormDiagram:RelativeShapes>
342
+ <ormDiagram:ReadingShape id="_F433C11F-9C34-4C5F-AD78-FE63FF76059A" IsExpanded="true" AbsoluteBounds="2.6354167461395259, 1.5273904022946956, 0.51696415543556218, 0.12950302660465241">
343
+ <ormDiagram:Subject ref="_AF1B4E6A-7DCF-48BD-8AB1-C524FAFB9662" />
344
+ </ormDiagram:ReadingShape>
345
+ </ormDiagram:RelativeShapes>
346
+ <ormDiagram:Subject ref="_687501E1-DDD6-4E00-8EA0-6BE13A59DC46" />
347
+ </ormDiagram:FactTypeShape>
348
+ <ormDiagram:FactTypeShape id="_F6617734-BF76-4EB4-8DCA-CBAEB932553C" IsExpanded="true" AbsoluteBounds="1.2708332538604736, 0.5, 0.38388888899236917, 0.24388888899236916">
349
+ <ormDiagram:RelativeShapes>
350
+ <ormDiagram:ReadingShape id="_3622F411-1AF9-4D01-B09D-9D3A24C1F056" IsExpanded="true" AbsoluteBounds="1.2708332538604736, 0.80864040229469536, 0.53975059390068059, 0.12950302660465241">
351
+ <ormDiagram:Subject ref="_228C8A3B-005C-4501-987E-0F033BF8BC2A" />
352
+ </ormDiagram:ReadingShape>
353
+ </ormDiagram:RelativeShapes>
354
+ <ormDiagram:Subject ref="_CF5CA6DF-C378-42DD-B412-0509847318FC" />
355
+ </ormDiagram:FactTypeShape>
356
+ <ormDiagram:FactTypeShape id="_8C9CF874-312F-4642-AA6E-5C2D593200A3" IsExpanded="true" AbsoluteBounds="1.2708332538604736, 1.2187500000000002, 0.38388888899236917, 0.24388888899236916">
357
+ <ormDiagram:RelativeShapes>
358
+ <ormDiagram:ReadingShape id="_D66E4136-3D9A-42BE-A46C-1103E44FE247" IsExpanded="true" AbsoluteBounds="1.2708332538604736, 1.5273904022946958, 0.56733171939849858, 0.12950302660465241">
359
+ <ormDiagram:Subject ref="_60C76620-7231-4985-8836-49EDA80243C6" />
360
+ </ormDiagram:ReadingShape>
361
+ </ormDiagram:RelativeShapes>
362
+ <ormDiagram:Subject ref="_5100FF34-0808-4810-A3A1-CC0A951016A5" />
363
+ </ormDiagram:FactTypeShape>
364
+ <ormDiagram:ExternalConstraintShape id="_80C5AE3C-6968-4DF4-97D4-3FBE928905A5" IsExpanded="true" AbsoluteBounds="1.1354165077209473, 0.93458337306976325, 0.16, 0.16">
365
+ <ormDiagram:Subject ref="_3BD4D80D-E83F-4B81-AC8B-3D73DCB5690E" />
366
+ </ormDiagram:ExternalConstraintShape>
367
+ <ormDiagram:ExternalConstraintShape id="_6EBC5CDD-C16C-4EE3-BA7B-6E9319BC9B43" IsExpanded="true" AbsoluteBounds="2.62499992052714, 0.99708341280619317, 0.16, 0.16">
368
+ <ormDiagram:Subject ref="_A11D16A3-5491-4D42-A2B6-917CBF4464A9" />
369
+ </ormDiagram:ExternalConstraintShape>
370
+ </ormDiagram:Shapes>
371
+ <ormDiagram:Subject ref="_4CDCE579-1014-49A7-BCDA-2DFD86C106D6" />
372
+ </ormDiagram:ORMDiagram>
373
+ <oial:model id="_50FD60C6-630C-4ABE-AA8B-752EC8072734" name="Marriage">
374
+ <oial:informationTypeFormats>
375
+ <odt:dataType id="_C6056995-D1CC-48F1-88F7-8B0217D0E6F6" name="Name" />
376
+ </oial:informationTypeFormats>
377
+ <oial:conceptTypes>
378
+ <oial:conceptType id="_E63C74AB-DFAB-4EDE-933F-3BE10B60362D" name="Person">
379
+ <oial:children>
380
+ <oial:informationType id="_773BF250-5FA1-4291-A560-13B10E766D06" ref="_C6056995-D1CC-48F1-88F7-8B0217D0E6F6" isMandatory="true" name="family Name" />
381
+ <oial:informationType id="_8ED11402-4B5A-4B4D-A1AE-ED8EC428C572" ref="_C6056995-D1CC-48F1-88F7-8B0217D0E6F6" isMandatory="true" name="given Name" />
382
+ </oial:children>
383
+ <oial:uniquenessConstraints>
384
+ <oial:uniquenessConstraint id="_B259DAEA-4C36-4FF3-8062-BCF209066C9E" name="ExternalUniquenessConstraint1" isPreferred="true">
385
+ <oial:uniquenessChild ref="_8ED11402-4B5A-4B4D-A1AE-ED8EC428C572" />
386
+ <oial:uniquenessChild ref="_773BF250-5FA1-4291-A560-13B10E766D06" />
387
+ </oial:uniquenessConstraint>
388
+ </oial:uniquenessConstraints>
389
+ </oial:conceptType>
390
+ <oial:conceptType id="_2CB63B04-BAFE-4074-B7D2-DE6E7AD4265F" name="Marriage">
391
+ <oial:children>
392
+ <oial:relatedConceptType id="_C3C96E57-BEC4-44F4-8516-E2C919B63B04" ref="_E63C74AB-DFAB-4EDE-933F-3BE10B60362D" isMandatory="true" name="Marriage" oppositeName="Husband" />
393
+ <oial:relatedConceptType id="_F4315D9A-DA1B-4DA9-BEFF-6BFAD32CD0CC" ref="_E63C74AB-DFAB-4EDE-933F-3BE10B60362D" isMandatory="true" name="Marriage" oppositeName="Wife" />
394
+ </oial:children>
395
+ <oial:uniquenessConstraints>
396
+ <oial:uniquenessConstraint id="_E8E3684A-DF79-4158-B7D1-77318E4C9950" name="ExternalUniquenessConstraint2" isPreferred="true">
397
+ <oial:uniquenessChild ref="_C3C96E57-BEC4-44F4-8516-E2C919B63B04" />
398
+ <oial:uniquenessChild ref="_F4315D9A-DA1B-4DA9-BEFF-6BFAD32CD0CC" />
399
+ </oial:uniquenessConstraint>
400
+ </oial:uniquenessConstraints>
401
+ </oial:conceptType>
402
+ </oial:conceptTypes>
403
+ </oial:model>
404
+ <rcd:Catalog id="_EF35736F-1369-4D23-BB71-145F226BE2C9">
405
+ <rcd:Schemas>
406
+ <rcd:Schema id="_D4ECE5EF-0FE4-4DF9-8F74-E1348BFE7A81" Name="Marriage">
407
+ <rcd:Tables>
408
+ <rcd:Table id="_9FE0A981-3B01-452D-9A2D-0B090DD8C8FF" Name="Person">
409
+ <rcd:Columns>
410
+ <rcd:Column id="_B4B07B3B-D877-4E96-A28D-FA369CC03882" Name="familyName" />
411
+ <rcd:Column id="_1E4B77D5-E3B9-4DD6-8974-EB1BAF9EBC44" Name="givenName" />
412
+ </rcd:Columns>
413
+ <rcd:Constraints>
414
+ <rcd:UniquenessConstraint id="_7C7D603A-C6D6-4D75-921F-C2B12715BBFD" Name="Person_PK" IsPrimary="true">
415
+ <rcd:Columns>
416
+ <rcd:Column ref="_1E4B77D5-E3B9-4DD6-8974-EB1BAF9EBC44" />
417
+ <rcd:Column ref="_B4B07B3B-D877-4E96-A28D-FA369CC03882" />
418
+ </rcd:Columns>
419
+ </rcd:UniquenessConstraint>
420
+ </rcd:Constraints>
421
+ </rcd:Table>
422
+ <rcd:Table id="_BAA9AAD0-A59F-4FC4-931A-3C2BDD6F9BD7" Name="Marriage">
423
+ <rcd:Columns>
424
+ <rcd:Column id="_A21F6020-2F9F-4BA2-A9EE-BA91E55FD98A" Name="husbandFamilyName" />
425
+ <rcd:Column id="_4DD7DC35-CC15-4324-AA5D-9FF65325C638" Name="husbandGivenName" />
426
+ <rcd:Column id="_47C051EC-0C0E-4BB5-BE40-203FAC2BCEAE" Name="wifeFamilyName" />
427
+ <rcd:Column id="_8E3779A2-6719-4DFA-9860-F6CF2DA14445" Name="wifeGivenName" />
428
+ </rcd:Columns>
429
+ <rcd:Constraints>
430
+ <rcd:UniquenessConstraint id="_723BCBC5-7F87-46E8-893B-6CF50C4497C1" Name="Marriage_PK" IsPrimary="true">
431
+ <rcd:Columns>
432
+ <rcd:Column ref="_4DD7DC35-CC15-4324-AA5D-9FF65325C638" />
433
+ <rcd:Column ref="_A21F6020-2F9F-4BA2-A9EE-BA91E55FD98A" />
434
+ <rcd:Column ref="_8E3779A2-6719-4DFA-9860-F6CF2DA14445" />
435
+ <rcd:Column ref="_47C051EC-0C0E-4BB5-BE40-203FAC2BCEAE" />
436
+ </rcd:Columns>
437
+ </rcd:UniquenessConstraint>
438
+ <rcd:ReferenceConstraint id="_2D4B3D8C-E7ED-4DC0-A271-638F8DCEF188" Name="Marriage_FK1">
439
+ <rcd:TargetTable ref="_9FE0A981-3B01-452D-9A2D-0B090DD8C8FF" />
440
+ <rcd:TargetUniquenessConstraint ref="_7C7D603A-C6D6-4D75-921F-C2B12715BBFD" />
441
+ <rcd:ColumnReferences>
442
+ <rcd:ColumnReference TargetColumn="_1E4B77D5-E3B9-4DD6-8974-EB1BAF9EBC44" SourceColumn="_4DD7DC35-CC15-4324-AA5D-9FF65325C638" />
443
+ <rcd:ColumnReference TargetColumn="_B4B07B3B-D877-4E96-A28D-FA369CC03882" SourceColumn="_A21F6020-2F9F-4BA2-A9EE-BA91E55FD98A" />
444
+ </rcd:ColumnReferences>
445
+ </rcd:ReferenceConstraint>
446
+ <rcd:ReferenceConstraint id="_ED0D7FD4-850A-4158-851C-B7705A0A727E" Name="Marriage_FK2">
447
+ <rcd:TargetTable ref="_9FE0A981-3B01-452D-9A2D-0B090DD8C8FF" />
448
+ <rcd:TargetUniquenessConstraint ref="_7C7D603A-C6D6-4D75-921F-C2B12715BBFD" />
449
+ <rcd:ColumnReferences>
450
+ <rcd:ColumnReference TargetColumn="_1E4B77D5-E3B9-4DD6-8974-EB1BAF9EBC44" SourceColumn="_8E3779A2-6719-4DFA-9860-F6CF2DA14445" />
451
+ <rcd:ColumnReference TargetColumn="_B4B07B3B-D877-4E96-A28D-FA369CC03882" SourceColumn="_47C051EC-0C0E-4BB5-BE40-203FAC2BCEAE" />
452
+ </rcd:ColumnReferences>
453
+ </rcd:ReferenceConstraint>
454
+ </rcd:Constraints>
455
+ </rcd:Table>
456
+ </rcd:Tables>
457
+ </rcd:Schema>
458
+ </rcd:Schemas>
459
+ </rcd:Catalog>
460
+ <ormtooial:Bridge>
461
+ <ormtooial:AbstractionModelIsForORMModel id="_EB3BE825-E580-4E4A-9FBC-48B3C95FD384" AbstractionModel="_50FD60C6-630C-4ABE-AA8B-752EC8072734" ORMModel="_4CDCE579-1014-49A7-BCDA-2DFD86C106D6" />
462
+ <ormtooial:FactTypeMapsTowardsRole id="_618D0D58-4035-4AD9-BE7F-99422DCB1DEA" FactType="_3BC82DC3-CC00-4241-8988-CED92E669827" TowardsRole="_0B16AAE8-355B-401F-8487-30CA128AB59C" Depth="Shallow" UniquenessPattern="OneToMany" MandatoryPattern="TowardsRoleMandatory" />
463
+ <ormtooial:FactTypeMapsTowardsRole id="_0735FB90-B741-4D94-8DD2-4C82B947D60A" FactType="_687501E1-DDD6-4E00-8EA0-6BE13A59DC46" TowardsRole="_D22B212E-5383-4934-8EC9-317D5FE2D58B" Depth="Shallow" UniquenessPattern="OneToMany" MandatoryPattern="TowardsRoleMandatory" />
464
+ <ormtooial:FactTypeMapsTowardsRole id="_EAE1ADFD-AC4D-4D41-A119-8673CFA20B55" FactType="_5100FF34-0808-4810-A3A1-CC0A951016A5" TowardsRole="_1713ADE7-E89A-463C-96A5-C8F349961793" Depth="Shallow" UniquenessPattern="OneToMany" MandatoryPattern="TowardsRoleMandatory" />
465
+ <ormtooial:FactTypeMapsTowardsRole id="_862FC8BB-5810-4C35-8398-EC5C1E0FEDD5" FactType="_CF5CA6DF-C378-42DD-B412-0509847318FC" TowardsRole="_7E9366BA-3EFB-4697-B5BF-E627860B6013" Depth="Shallow" UniquenessPattern="OneToMany" MandatoryPattern="TowardsRoleMandatory" />
466
+ <ormtooial:ConceptTypeIsForObjectType id="_D396754D-95F7-4353-94EB-5B4C54D10CA7" ConceptType="_2CB63B04-BAFE-4074-B7D2-DE6E7AD4265F" ObjectType="_AF731F84-0F1D-499E-B1E3-FE74DD2C655C" />
467
+ <ormtooial:ConceptTypeIsForObjectType id="_8FB8AC9F-1517-4FBC-B17F-7B8590FD2EC0" ConceptType="_E63C74AB-DFAB-4EDE-933F-3BE10B60362D" ObjectType="_2FB4AF85-9189-474D-9EC9-B9C7CEEE6F1C" />
468
+ <ormtooial:ConceptTypeChildHasPathFactType id="_20196931-908E-44C8-8870-7A0114FC533D" ConceptTypeChild="_F4315D9A-DA1B-4DA9-BEFF-6BFAD32CD0CC" PathFactType="_687501E1-DDD6-4E00-8EA0-6BE13A59DC46" />
469
+ <ormtooial:ConceptTypeChildHasPathFactType id="_2A50903E-4CFC-44BE-9761-0B5F5FD7CBF8" ConceptTypeChild="_C3C96E57-BEC4-44F4-8516-E2C919B63B04" PathFactType="_3BC82DC3-CC00-4241-8988-CED92E669827" />
470
+ <ormtooial:ConceptTypeChildHasPathFactType id="_6AEC64DF-07DD-44F1-B3DF-A29166157B19" ConceptTypeChild="_773BF250-5FA1-4291-A560-13B10E766D06" PathFactType="_5100FF34-0808-4810-A3A1-CC0A951016A5" />
471
+ <ormtooial:ConceptTypeChildHasPathFactType id="_D3EDBAC1-5999-4006-B51D-ADCAF459EEB6" ConceptTypeChild="_8ED11402-4B5A-4B4D-A1AE-ED8EC428C572" PathFactType="_CF5CA6DF-C378-42DD-B412-0509847318FC" />
472
+ <ormtooial:InformationTypeFormatIsForValueType id="_F05EEBB0-538E-481C-B49D-44584039E8CD" InformationTypeFormat="_C6056995-D1CC-48F1-88F7-8B0217D0E6F6" ValueType="_57B901A4-71E4-43A6-A7AE-20A42DDFD560" />
473
+ <ormtooial:UniquenessIsForUniquenessConstraint id="_BEEDA124-EA1E-4D33-B8A5-9F70DE14E776" AbstractionUniquenessConstraint="_B259DAEA-4C36-4FF3-8062-BCF209066C9E" ORMUniquenessConstraint="_3BD4D80D-E83F-4B81-AC8B-3D73DCB5690E" />
474
+ <ormtooial:UniquenessIsForUniquenessConstraint id="_EB3D7211-320E-42FC-B7A8-47BD134F5EE5" AbstractionUniquenessConstraint="_E8E3684A-DF79-4158-B7D1-77318E4C9950" ORMUniquenessConstraint="_A11D16A3-5491-4D42-A2B6-917CBF4464A9" />
475
+ </ormtooial:Bridge>
476
+ <oialtocdb:Bridge>
477
+ <oialtocdb:SchemaIsForAbstractionModel id="_576CB826-8C64-4642-B95D-85F81457A209" Schema="_D4ECE5EF-0FE4-4DF9-8F74-E1348BFE7A81" AbstractionModel="_50FD60C6-630C-4ABE-AA8B-752EC8072734" />
478
+ <oialtocdb:ColumnHasConceptTypeChild id="_BF0B54BA-D085-4215-87E4-E31D4C3072D0" Column="_B4B07B3B-D877-4E96-A28D-FA369CC03882" ConceptTypeChild="_773BF250-5FA1-4291-A560-13B10E766D06" />
479
+ <oialtocdb:ColumnHasConceptTypeChild id="_643BB5E6-8B58-47FF-8234-567E5C59ECC6" Column="_1E4B77D5-E3B9-4DD6-8974-EB1BAF9EBC44" ConceptTypeChild="_8ED11402-4B5A-4B4D-A1AE-ED8EC428C572" />
480
+ <oialtocdb:ColumnHasConceptTypeChild id="_638C56D3-2F2D-479B-B6D8-4504C4323B38" Column="_A21F6020-2F9F-4BA2-A9EE-BA91E55FD98A" ConceptTypeChild="_C3C96E57-BEC4-44F4-8516-E2C919B63B04" />
481
+ <oialtocdb:ColumnHasConceptTypeChild id="_BD716EC8-E0A2-4F1C-9D02-1E34CC6A1289" Column="_A21F6020-2F9F-4BA2-A9EE-BA91E55FD98A" ConceptTypeChild="_773BF250-5FA1-4291-A560-13B10E766D06" />
482
+ <oialtocdb:ColumnHasConceptTypeChild id="_F0DD2899-C45B-4505-BFD0-2F1CD11642BE" Column="_4DD7DC35-CC15-4324-AA5D-9FF65325C638" ConceptTypeChild="_C3C96E57-BEC4-44F4-8516-E2C919B63B04" />
483
+ <oialtocdb:ColumnHasConceptTypeChild id="_75B4B0ED-8092-417B-8FEB-C4EADBBB511F" Column="_4DD7DC35-CC15-4324-AA5D-9FF65325C638" ConceptTypeChild="_8ED11402-4B5A-4B4D-A1AE-ED8EC428C572" />
484
+ <oialtocdb:ColumnHasConceptTypeChild id="_AE770B61-33D5-4931-A485-3BC6E92156D1" Column="_47C051EC-0C0E-4BB5-BE40-203FAC2BCEAE" ConceptTypeChild="_F4315D9A-DA1B-4DA9-BEFF-6BFAD32CD0CC" />
485
+ <oialtocdb:ColumnHasConceptTypeChild id="_CFD05B66-4AB0-4A64-9909-4660142348E3" Column="_47C051EC-0C0E-4BB5-BE40-203FAC2BCEAE" ConceptTypeChild="_773BF250-5FA1-4291-A560-13B10E766D06" />
486
+ <oialtocdb:ColumnHasConceptTypeChild id="_FB211D65-8D17-4704-8DA0-43A4CC148AA1" Column="_8E3779A2-6719-4DFA-9860-F6CF2DA14445" ConceptTypeChild="_F4315D9A-DA1B-4DA9-BEFF-6BFAD32CD0CC" />
487
+ <oialtocdb:ColumnHasConceptTypeChild id="_19B97C4D-82D4-4B04-B1D5-187071FFA4B7" Column="_8E3779A2-6719-4DFA-9860-F6CF2DA14445" ConceptTypeChild="_8ED11402-4B5A-4B4D-A1AE-ED8EC428C572" />
488
+ <oialtocdb:TableIsPrimarilyForConceptType id="_4B253F6A-C028-4D69-B440-7AC15E500F1F" Table="_BAA9AAD0-A59F-4FC4-931A-3C2BDD6F9BD7" ConceptType="_2CB63B04-BAFE-4074-B7D2-DE6E7AD4265F" />
489
+ <oialtocdb:TableIsPrimarilyForConceptType id="_BADB3748-99E3-4E0F-9D7B-3B870516C7DF" Table="_9FE0A981-3B01-452D-9A2D-0B090DD8C8FF" ConceptType="_E63C74AB-DFAB-4EDE-933F-3BE10B60362D" />
490
+ <oialtocdb:UniquenessConstraintIsForUniqueness id="_50F335F3-4D83-4354-8113-5CC2D2EC3DA1" UniquenessConstraint="_723BCBC5-7F87-46E8-893B-6CF50C4497C1" Uniqueness="_E8E3684A-DF79-4158-B7D1-77318E4C9950" />
491
+ <oialtocdb:UniquenessConstraintIsForUniqueness id="_D1AD11ED-250B-440E-A3CB-7EFF314BDB78" UniquenessConstraint="_7C7D603A-C6D6-4D75-921F-C2B12715BBFD" Uniqueness="_B259DAEA-4C36-4FF3-8062-BCF209066C9E" />
492
+ </oialtocdb:Bridge>
493
+ </ormRoot:ORM2>