activefacts-examples 1.7.2 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +5 -1
- data/activefacts-examples.gemspec +5 -7
- data/cql/Metamodel.cql +79 -69
- data/cql/SeparateSubtype.cql +1 -1
- data/diagrams/json/Metamodel.json +9 -7
- data/metadata/json/Metamodel.json +515 -504
- data/metadata/json/OilSupply.json +54 -54
- data/orm/Health.orm +257 -0
- data/orm/Metamodel.orm +3471 -3154
- data/rails/models/Metamodel.models +42 -11
- data/rails/schema/Metamodel.schema.rb +24 -12
- data/ruby/Metamodel.rb +17 -8
- data/sql/server/CinemaBookings.sql +1 -1
- data/sql/server/CinemaTickets.sql +3 -3
- data/sql/server/CompanyDirectorEmployee.sql +2 -2
- data/sql/server/Genealogy.sql +1 -1
- data/sql/server/Insurance.sql +6 -6
- data/sql/server/Metamodel.sql +64 -29
- data/sql/server/OilSupply.sql +20 -4
- data/sql/server/SimplestUnary.sql +1 -1
- metadata +22 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f93f35c1d7ac88faac09133a9553a32b9d4703c
|
4
|
+
data.tar.gz: e8dfdc6c577ed8bcb6b32bf66a4a57c0946f7187
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bdfb1294b59b39e9ca14df1d434e117ae1d3880088b3f208f826ce19c7aff46d09031e33c70dac76a3d417f04f3ab339751c2c37b68a54bd52ff7d9b8797766c
|
7
|
+
data.tar.gz: ba58358aa52fceeec9aaf3099c8cc99a6461bd9af6649ea127e927d96a9d5f58117f037f1b980b790fde67874841994c140c1963d77390615bf372c7f55ceecf
|
data/Gemfile
CHANGED
@@ -2,7 +2,11 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
if ENV['PWD'] =~ %r{\A/
|
5
|
+
if ENV['PWD'] =~ %r{\A#{ENV['HOME']}/work}
|
6
|
+
$stderr.puts "Using work area gems for #{File.basename(File.dirname(__FILE__))} from activefacts-examples"
|
7
|
+
gem 'activefacts-api', path: '/Users/cjh/work/activefacts/api'
|
8
|
+
gem 'activefacts-metamodel', path: '/Users/cjh/work/activefacts/metamodel'
|
9
|
+
gem 'activefacts-rmap', path: '/Users/cjh/work/activefacts/rmap'
|
6
10
|
gem 'activefacts-cql', path: '/Users/cjh/work/activefacts/cql'
|
7
11
|
gem 'activefacts-orm', path: '/Users/cjh/work/activefacts/orm'
|
8
12
|
gem 'activefacts-generators', path: '/Users/cjh/work/activefacts/generators'
|
@@ -4,11 +4,11 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "activefacts-examples"
|
7
|
-
spec.version = "1.
|
7
|
+
spec.version = "1.8.0"
|
8
8
|
spec.authors = ["Clifford Heath"]
|
9
9
|
spec.email = ["clifford.heath@gmail.com"]
|
10
10
|
|
11
|
-
spec.summary = %q{Example models
|
11
|
+
spec.summary = %q{Example models for use with ActiveFacts}
|
12
12
|
spec.description = %q{Example models in the Constellation Query Language for use with ActiveFacts}
|
13
13
|
spec.homepage = "http://github.com/cjheath/activefacts-examples"
|
14
14
|
spec.license = "MIT"
|
@@ -16,11 +16,9 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
17
|
spec.require_paths = ["lib"]
|
18
18
|
|
19
|
-
spec.add_development_dependency "bundler", "~> 1.10.
|
19
|
+
spec.add_development_dependency "bundler", ">= 1.10", "~> 1.10.6"
|
20
20
|
spec.add_development_dependency "rake", "~> 10.0"
|
21
|
-
spec.add_development_dependency "rspec"
|
21
|
+
spec.add_development_dependency "rspec", "~> 3.3"
|
22
22
|
|
23
|
-
spec.add_runtime_dependency "activefacts
|
24
|
-
spec.add_runtime_dependency "activefacts-orm"
|
25
|
-
spec.add_runtime_dependency "activefacts-generators"
|
23
|
+
spec.add_runtime_dependency "activefacts", ">= 1.8", "~> 1.8.0"
|
26
24
|
end
|
data/cql/Metamodel.cql
CHANGED
@@ -53,6 +53,17 @@ Coefficient is identified by Numerator and Denominator and Coefficient is precis
|
|
53
53
|
Coefficient has one Denominator,
|
54
54
|
Coefficient is precise;
|
55
55
|
|
56
|
+
Component is identified by Guid where
|
57
|
+
Component has one Guid,
|
58
|
+
Guid is of at most one Component;
|
59
|
+
Component projects at most one Name;
|
60
|
+
|
61
|
+
Composition is identified by Guid where
|
62
|
+
Composition has one Guid,
|
63
|
+
Guid is of at most one Composition;
|
64
|
+
Composition is called one Name,
|
65
|
+
Name is of at most one Composition;
|
66
|
+
|
56
67
|
Concept is identified by Guid where
|
57
68
|
Concept has one Guid,
|
58
69
|
Guid is of at most one Concept;
|
@@ -75,6 +86,8 @@ Context Note has one Discussion,
|
|
75
86
|
Context Note applies to at most one relevant-Concept,
|
76
87
|
Concept has Context Note;
|
77
88
|
|
89
|
+
Discriminator is a kind of Component;
|
90
|
+
|
78
91
|
Enforcement is identified by Constraint where
|
79
92
|
Constraint requires at most one Enforcement,
|
80
93
|
Enforcement applies to one Constraint;
|
@@ -92,6 +105,8 @@ Fact is of one Fact Type;
|
|
92
105
|
Implication Rule is identified by its Name;
|
93
106
|
Concept is implied by at most one Implication Rule;
|
94
107
|
|
108
|
+
Indicator is a kind of Component;
|
109
|
+
|
95
110
|
Instance is identified by Concept where
|
96
111
|
Instance is an instance of one Concept;
|
97
112
|
Instance objectifies at most one Fact,
|
@@ -103,6 +118,10 @@ Location is identified by X and Y where
|
|
103
118
|
Location is at one X,
|
104
119
|
Location is at one Y;
|
105
120
|
|
121
|
+
Mapping is a kind of Component;
|
122
|
+
Mapping (as Parent) contains Component (as Member) [acyclic, stronglyintransitive],
|
123
|
+
Member belongs to at most one Parent;
|
124
|
+
|
106
125
|
Presence Constraint is a kind of Constraint;
|
107
126
|
Presence Constraint has at most one max-Frequency restricted to {1..};
|
108
127
|
Presence Constraint has at most one min-Frequency restricted to {2..};
|
@@ -128,6 +147,7 @@ Role is identified by Fact Type and Ordinal where
|
|
128
147
|
Fact Type contains Role,
|
129
148
|
Role fills one Ordinal,
|
130
149
|
Ordinal applies to Role;
|
150
|
+
Indicator indicates one Role played;
|
131
151
|
Link Fact Type has one implying-Role,
|
132
152
|
implying-Role implies at most one Link Fact Type;
|
133
153
|
Ring Constraint has at most one other-Role,
|
@@ -154,6 +174,8 @@ Role Value is identified by Fact and Role where
|
|
154
174
|
Instance plays Role Value,
|
155
175
|
Role Value is of one Instance;
|
156
176
|
|
177
|
+
Scoping is a kind of Mapping;
|
178
|
+
|
157
179
|
Set Constraint is a kind of Constraint;
|
158
180
|
|
159
181
|
Shape is identified by Guid where
|
@@ -229,6 +251,12 @@ Vocabulary contains Constraint,
|
|
229
251
|
Vocabulary includes Unit,
|
230
252
|
Unit is in one Vocabulary;
|
231
253
|
|
254
|
+
Absorption is a kind of Mapping;
|
255
|
+
Absorption traverses to one child-Role;
|
256
|
+
Absorption traverses from one parent-Role;
|
257
|
+
Absorption is matched by at most one reverse-Absorption;
|
258
|
+
Absorption flattens;
|
259
|
+
|
232
260
|
Aggregation is where
|
233
261
|
Variable is bound to Aggregate over aggregated-Variable,
|
234
262
|
Aggregate of aggregated-Variable is bound as one Variable;
|
@@ -244,6 +272,12 @@ Bound is identified by Value and Bound is inclusive where
|
|
244
272
|
Value is of at least one Bound,
|
245
273
|
Bound is inclusive;
|
246
274
|
|
275
|
+
Composite is identified by Mapping where
|
276
|
+
Mapping projects at most one Composite,
|
277
|
+
Composite consists of one Mapping;
|
278
|
+
Composition contains Composite,
|
279
|
+
Composite belongs to one Composition;
|
280
|
+
|
247
281
|
Constraint Shape is a kind of Shape;
|
248
282
|
Constraint Shape is for one Constraint;
|
249
283
|
|
@@ -266,15 +300,30 @@ Diagram is identified by Vocabulary and Name where
|
|
266
300
|
Diagram is called one Name,
|
267
301
|
Name is of Diagram;
|
268
302
|
|
303
|
+
Discriminated Role is where
|
304
|
+
Discriminator distinguishes Role using one Value,
|
305
|
+
Role is indicated by Value for Discriminator;
|
306
|
+
|
269
307
|
Fact Type Shape is a kind of Shape;
|
270
308
|
Fact Type Shape has at most one Display Role Names Setting;
|
271
309
|
Fact Type Shape is for one Fact Type,
|
272
310
|
Fact Type has Fact Type Shape;
|
273
311
|
Fact Type Shape has at most one Rotation Setting;
|
274
312
|
|
313
|
+
Injection is a kind of Mapping;
|
314
|
+
|
315
|
+
Mirror Role is a kind of Role;
|
316
|
+
Mirror Role is for at most one Role (as Base Role),
|
317
|
+
Base Role implies at most one Mirror Role;
|
318
|
+
|
275
319
|
Model Note Shape is a kind of Shape;
|
276
320
|
Model Note Shape is for one Context Note;
|
277
321
|
|
322
|
+
Nesting is where
|
323
|
+
Absorption is nested under index-Role in Ordinal position,
|
324
|
+
Absorption in Ordinal position is nested under one Role,
|
325
|
+
Role keys nesting of Absorption at Ordinal priority;
|
326
|
+
|
278
327
|
ORM Diagram is a kind of Diagram;
|
279
328
|
Shape is in one ORM Diagram,
|
280
329
|
ORM Diagram includes Shape;
|
@@ -283,6 +332,7 @@ Object Type is identified by Vocabulary and Name where
|
|
283
332
|
Object Type belongs to one Vocabulary,
|
284
333
|
Object Type is called one Name;
|
285
334
|
Instance is of one Object Type;
|
335
|
+
Mapping represents one Object Type;
|
286
336
|
Object Type is an instance of one Concept;
|
287
337
|
Object Type uses at most one Pronoun;
|
288
338
|
Object Type plays Role,
|
@@ -374,8 +424,8 @@ Allowed Range is where
|
|
374
424
|
Domain Object Type is a kind of Object Type;
|
375
425
|
|
376
426
|
Entity Type is a kind of Domain Object Type;
|
377
|
-
Entity Type
|
378
|
-
Fact Type is
|
427
|
+
Entity Type objectifies at most one Fact Type,
|
428
|
+
Fact Type is objectified as at most one Entity Type;
|
379
429
|
|
380
430
|
Type Inheritance is a kind of Fact Type identified by Subtype and Supertype where
|
381
431
|
Entity Type (as Subtype) is subtype of super-Entity Type (as Supertype) [acyclic, intransitive],
|
@@ -408,11 +458,14 @@ Value Type Parameter Restriction is where
|
|
408
458
|
Value Type Parameter applies to Value Type;
|
409
459
|
Value Type Parameter Restriction has one Value;
|
410
460
|
|
411
|
-
Implicit Boolean Value Type is a kind of Value Type;
|
412
|
-
|
413
461
|
/*
|
414
462
|
* Constraints:
|
415
463
|
*/
|
464
|
+
either Component belongs to Mapping(1) or Component is a Mapping(2) that projects Composite but not both;
|
465
|
+
for each Component exactly one of these holds:
|
466
|
+
Component is a Mapping,
|
467
|
+
Component is an Indicator,
|
468
|
+
Component is a Discriminator;
|
416
469
|
for each Concept exactly one of these holds:
|
417
470
|
Object Type is an instance of Concept,
|
418
471
|
Fact Type is an instance of Concept,
|
@@ -424,12 +477,18 @@ for each Concept exactly one of these holds:
|
|
424
477
|
Fact is an instance of Concept,
|
425
478
|
Population is an instance of Concept,
|
426
479
|
Query is an instance of Concept;
|
480
|
+
either Constraint Shape is a Ring Constraint Shape or Constraint Shape is a Value Constraint Shape but not both;
|
427
481
|
for each Constraint exactly one of these holds:
|
428
482
|
Constraint is a Set Constraint,
|
429
483
|
Constraint is a Presence Constraint,
|
430
484
|
Constraint is a Ring Constraint,
|
431
485
|
Constraint is a Value Constraint;
|
432
486
|
either Domain Object Type is a Value Type or Domain Object Type is an Entity Type but not both;
|
487
|
+
for each Mapping exactly one of these holds:
|
488
|
+
Mapping is an Absorption,
|
489
|
+
Mapping is an Injection,
|
490
|
+
Mapping is a Scoping,
|
491
|
+
Mapping projects Composite;
|
433
492
|
for each Role Sequence exactly one of these holds:
|
434
493
|
Role Sequence is for Reading,
|
435
494
|
Presence Constraint covers Role Sequence,
|
@@ -451,6 +510,9 @@ either Unit is fundamental or Unit is derived from base-Unit but not both;
|
|
451
510
|
either Value Constraint Shape is for Object Type Shape or Value Constraint Shape is for Role Display but not both;
|
452
511
|
either Value Constraint allows Value Range or Value Constraint requires matching Regular Expression but not both;
|
453
512
|
either Value Constraint constrains Value Type or Value Constraint applies to Role but not both;
|
513
|
+
for each Mapping at most one of these holds:
|
514
|
+
Mapping is an Absorption that flattens,
|
515
|
+
Mapping projects Composite;
|
454
516
|
for each Instance at most one of these holds:
|
455
517
|
Instance has Value,
|
456
518
|
Instance objectifies Fact;
|
@@ -466,19 +528,32 @@ Step specifies Fact Type that contains Role
|
|
466
528
|
Variable is for Object Type that plays Role
|
467
529
|
if and only if
|
468
530
|
Variable is restricted by Role of Step;
|
531
|
+
/*
|
532
|
+
Absorption traverses from parent Role that is played by Object Type and Mapping(1) is a kind of Component(2) and Mapping(1) is an Absorption
|
533
|
+
only if Member belongs to Mapping(2) that represents Object Type;
|
534
|
+
Absorption traverses to child Role that is played by Object Type and Absorption is a kind of Mapping(2)
|
535
|
+
only if Mapping(1) represents Object Type;
|
536
|
+
*/
|
469
537
|
Presence Constraint is preferred identifier
|
470
538
|
only if Presence Constraint has max Frequency;
|
471
539
|
Value Type has Scale
|
472
540
|
only if Value Type has Length;
|
473
541
|
Variable matches nesting over Step
|
474
542
|
only if Variable is for Object Type and Step specifies Fact Type;
|
543
|
+
each Absorption(1) occurs at most one time in
|
544
|
+
Absorption(2) is matched by reverse Absorption(1);
|
475
545
|
either Agreement was reached by Agent or Agreement was on Date;
|
546
|
+
// either Component projects Name or Component is some Absorption that flattens;
|
476
547
|
each Concept occurs at most one time in
|
477
548
|
Object Type is an instance of Concept;
|
478
549
|
each Concept occurs at most one time in
|
479
550
|
Population is an instance of Concept;
|
480
551
|
each Concept occurs at most one time in
|
481
552
|
Role is an instance of Concept;
|
553
|
+
each Discriminator occurs at least 2 times in
|
554
|
+
Discriminator distinguishes Role using Value;
|
555
|
+
each combination Discriminator, Value occurs one time in
|
556
|
+
Discriminator distinguishes Role using Value;
|
482
557
|
each combination Entity Type(1), Type Inheritance occurs at most one time in
|
483
558
|
Entity Type(1) is subtype of super Entity Type(2),
|
484
559
|
Type Inheritance provides identification;
|
@@ -500,68 +575,3 @@ each combination Vocabulary, Name occurs at most one time in
|
|
500
575
|
each combination Vocabulary, Name occurs at most one time in
|
501
576
|
Unit is in Vocabulary,
|
502
577
|
Unit is called Name;
|
503
|
-
|
504
|
-
/*
|
505
|
-
* Compositions
|
506
|
-
*/
|
507
|
-
Component is identified by Guid where
|
508
|
-
Component has one Guid,
|
509
|
-
Guid is of at most one Component;
|
510
|
-
Component projects at most one Name;
|
511
|
-
|
512
|
-
Composition is identified by Guid where
|
513
|
-
Composition has one Guid,
|
514
|
-
Guid is of at most one Composition;
|
515
|
-
Composition is called one Name,
|
516
|
-
Name is of at most one Composition;
|
517
|
-
|
518
|
-
Discriminator is a kind of Component;
|
519
|
-
|
520
|
-
Indicator is a kind of Component;
|
521
|
-
Indicator indicates one Role played;
|
522
|
-
|
523
|
-
Mapping is a kind of Component;
|
524
|
-
Mapping contains Component (as Member) [acyclic, stronglyintransitive],
|
525
|
-
Member belongs to at most one parent-Mapping;
|
526
|
-
Mapping represents one Object Type;
|
527
|
-
|
528
|
-
Nesting is a kind of Mapping;
|
529
|
-
|
530
|
-
Absorption is a kind of Mapping;
|
531
|
-
Absorption traverses to one child-Role;
|
532
|
-
Absorption is nested under at most one index-Role;
|
533
|
-
Absorption traverses from one parent-Role;
|
534
|
-
Absorption flattens;
|
535
|
-
|
536
|
-
Composite is identified by Mapping where
|
537
|
-
Mapping projects at most one Composite,
|
538
|
-
Composite consists of one Mapping;
|
539
|
-
Composition contains Composite,
|
540
|
-
Composite belongs to one Composition;
|
541
|
-
|
542
|
-
Discriminated Role is where
|
543
|
-
Discriminator distinguishes Role using one Value,
|
544
|
-
Role is indicated by Value for Discriminator;
|
545
|
-
|
546
|
-
Injection is a kind of Mapping;
|
547
|
-
for each Component exactly one of these holds:
|
548
|
-
that Component is a Mapping,
|
549
|
-
that Component is an Indicator,
|
550
|
-
that Component is a Discriminator;
|
551
|
-
either Component is a Mapping(2) that projects some Composite or Component belongs to parent Mapping(1) but not both;
|
552
|
-
for each Mapping exactly one of these holds:
|
553
|
-
that Mapping is an Absorption,
|
554
|
-
that Mapping is an Injection,
|
555
|
-
that Mapping is a Nesting,
|
556
|
-
that Mapping projects some Composite;
|
557
|
-
for each Mapping at most one of these holds:
|
558
|
-
that Mapping projects some Composite,
|
559
|
-
that Mapping is an Absorption and that Absorption flattens;
|
560
|
-
some Mapping represents some Object Type
|
561
|
-
if and only if
|
562
|
-
that Mapping is an Absorption that traverses to some child- Role and that Role is played by that Object Type;
|
563
|
-
either Component projects some Name or that Component flattens;
|
564
|
-
each Discriminator occurs at least 2 times in
|
565
|
-
Discriminator distinguishes Role using Value;
|
566
|
-
each combination Discriminator, Value occurs one time in
|
567
|
-
Discriminator distinguishes Role using Value;
|
data/cql/SeparateSubtype.cql
CHANGED
@@ -22,7 +22,7 @@ Person is identified by its Name;
|
|
22
22
|
Vehicle Incident is a kind of Incident [separate];
|
23
23
|
|
24
24
|
Witness is a kind of Person;
|
25
|
-
Witness saw Incident,
|
25
|
+
Witness saw at least one Incident,
|
26
26
|
Incident was independently witnessed by at most one Witness;
|
27
27
|
|
28
28
|
Driver is a kind of Person;
|
@@ -50,7 +50,6 @@ diagrams: [
|
|
50
50
|
{"uuid":"e6680c4a-00bb-7cf1-52c9-dfb39a","name":"Guid","shapes":[]},
|
51
51
|
{"uuid":"8604dec4-1c72-930b-e1bb-8bb865","name":"Implication Rule Name","shapes":[],"supertype":"5b5d04ca-7705-d36c-c15f-241d6e"},
|
52
52
|
{"uuid":"6fe06eff-b88e-2459-21e6-39df51","name":"Implication Rule","shapes":[],"ref_mode":".Name"},
|
53
|
-
{"uuid":"c66500bd-38ff-595f-30df-ecc500","name":"Implicit Boolean Value Type","shapes":[],"supertypes":[["56c9cec4-88ef-1e86-9ca6-970913","0039d3ee-54b1-91c9-8e6c-c21232"]]},
|
54
53
|
{"uuid":"64b45d52-1c9c-0d5f-75fa-a98e6a","name":"Indicator","shapes":[],"supertypes":[["fd47e94d-1f36-025d-73df-6cb546","ff4c4a9e-da54-ac2b-8b5d-c45854"]]},
|
55
54
|
{"uuid":"8774195f-10a4-2fbf-b99e-caeed9","name":"Injection","shapes":[],"supertypes":[["32358c40-0d09-b3bc-7875-8ef402","a017a7b2-8b77-412c-c724-c441b0"]]},
|
56
55
|
{"uuid":"bb3ea578-9bed-15bd-db91-59046d","name":"Instance","shapes":[]},
|
@@ -59,9 +58,10 @@ diagrams: [
|
|
59
58
|
{"uuid":"de09e03e-7bb2-1c53-9d85-d230d6","name":"Literal","shapes":[],"supertype":"5b5d04ca-7705-d36c-c15f-241d6e"},
|
60
59
|
{"uuid":"c7a2feb2-46ce-d506-271d-c47da0","name":"Location","shapes":[]},
|
61
60
|
{"uuid":"32358c40-0d09-b3bc-7875-8ef402","name":"Mapping","shapes":[],"supertypes":[["fd47e94d-1f36-025d-73df-6cb546","48009576-8002-bd90-9dab-04f062"]]},
|
61
|
+
{"uuid":"5e0598ad-c975-eb1d-7e21-6ecd97","name":"Mirror Role","shapes":[],"supertypes":[["92fe2e9f-6dd4-a626-d621-777493","b523c75d-1aa4-c7df-5ba7-0525b5"]]},
|
62
62
|
{"uuid":"ba49770f-0fba-1aa9-f1c1-5a9730","name":"Model Note Shape","shapes":[],"supertypes":[["6ed24bcf-12f0-0369-0af8-fa24eb","6b8a8c1c-2889-10e0-5299-6a2b70"]]},
|
63
63
|
{"uuid":"46e08c2e-b6b9-c3e4-ac7b-2bf98b","name":"Name","shapes":[],"supertype":"5b5d04ca-7705-d36c-c15f-241d6e"},
|
64
|
-
{"uuid":"45951ee0-d56a-c690-2a8a-e8a114","name":"Nesting","shapes":[],"
|
64
|
+
{"uuid":"45951ee0-d56a-c690-2a8a-e8a114","name":"Nesting","shapes":[],"objectifies":"e246a361-39ce-5177-93cb-0cbcfe"},
|
65
65
|
{"uuid":"8042d033-71e4-ac59-286a-a79a18","name":"Numerator","shapes":[],"supertype":"33545e34-44c4-aed3-f30e-93433b"},
|
66
66
|
{"uuid":"deadd195-6677-b612-ebe8-dc8de0","name":"ORM Diagram","shapes":[],"supertypes":[["a6898a8b-e5be-0049-b633-3fa1f7","25496941-e2bb-b787-cb8e-58dfe7"]]},
|
67
67
|
{"uuid":"af0275ad-cd84-2a95-1b71-4af0c7","name":"Object Type Shape","shapes":[],"supertypes":[["6ed24bcf-12f0-0369-0af8-fa24eb","f730c683-7409-6f3d-4891-e1f48f"]]},
|
@@ -82,13 +82,13 @@ diagrams: [
|
|
82
82
|
{"uuid":"2f6e7cda-bd43-216e-e8f9-b82e8d","name":"Ring Type","shapes":[],"supertype":"5b5d04ca-7705-d36c-c15f-241d6e"},
|
83
83
|
{"uuid":"a81ebc59-bd22-f66e-b7ad-d123ce","name":"Role Display","shapes":[],"objectifies":"341ce05d-b225-6e99-2cfd-3882c5"},
|
84
84
|
{"uuid":"6bd8fca9-e6dd-e3c8-26a7-3e61df","name":"Role Name Shape","shapes":[],"supertypes":[["6ed24bcf-12f0-0369-0af8-fa24eb","2f164350-d200-387a-f1b0-7c31f2"]]},
|
85
|
-
{"uuid":"93eec55b-0bdf-efec-1c65-231051","name":"Role Proxy","shapes":[],"supertypes":[["92fe2e9f-6dd4-a626-d621-777493","b523c75d-1aa4-c7df-5ba7-0525b5"]]},
|
86
85
|
{"uuid":"f80e850c-f4cb-25dd-6a6c-e97290","name":"Role Ref","shapes":[],"objectifies":"1c28387a-5103-97e6-e46e-16346f"},
|
87
86
|
{"uuid":"af212182-e76c-e1b5-07ec-883f03","name":"Role Sequence","shapes":[],"ref_mode":"Guid"},
|
88
87
|
{"uuid":"18d23fe3-f58b-8824-165c-973561","name":"Role Value","shapes":[]},
|
89
88
|
{"uuid":"92fe2e9f-6dd4-a626-d621-777493","name":"Role","shapes":[]},
|
90
89
|
{"uuid":"376bb1d6-ede0-cc6b-e2b2-80a1d0","name":"Rotation Setting","shapes":[],"supertype":"5b5d04ca-7705-d36c-c15f-241d6e"},
|
91
90
|
{"uuid":"93d28ddf-f746-bdb2-5494-b3f23a","name":"Scale","shapes":[],"supertype":"d0b1295f-80c0-cfc2-53c9-f8803c"},
|
91
|
+
{"uuid":"37fe75ff-1c97-8a69-89d1-b95d61","name":"Scoping","shapes":[],"supertypes":[["32358c40-0d09-b3bc-7875-8ef402","bb11a2d7-f14e-d7e8-366b-dd920c"]]},
|
92
92
|
{"uuid":"6f67a00a-d62b-5846-f83d-b3d0a2","name":"Set Comparison Constraint","shapes":[],"supertypes":[["9d13ab35-012e-499c-def6-431913","42e4fe2a-1959-2ea2-f75f-cedba9"]]},
|
93
93
|
{"uuid":"9c29ecab-9b22-0138-deeb-4fb3b6","name":"Set Comparison Roles","shapes":[],"objectifies":"1f6cf707-9269-75fc-bfb5-54501e"},
|
94
94
|
{"uuid":"9d13ab35-012e-499c-def6-431913","name":"Set Constraint","shapes":[],"supertypes":[["0c0b0ef2-8be9-7569-da46-943be0","a0fcdd7c-2c3d-4b24-a6ca-dc66da"]]},
|
@@ -138,13 +138,14 @@ diagrams: [
|
|
138
138
|
{"uuid":"5568314b-1f47-0995-1153-4cf75e","roles":[{"uuid":"6bb4823f-7c2b-2ff7-d920-989e18","player":"bb3ea578-9bed-15bd-db91-59046d"},{"uuid":"5269f001-275f-25cb-d694-56475f","player":"db16b4f2-5a16-acb5-3976-556bf2"}],"readings":[["01","{0} is an instance of {1}"]],"shapes":[],"constraints":[{"uuid":"edd31516-0a0a-903b-cb3e-303c80","min":0,"max":1,"is_preferred":true,"mandatory":null,"uniqueExcept":"6bb4823f-7c2b-2ff7-d920-989e18"},{"uuid":"967f6d91-c34f-bfc5-ac73-1a3268","min":1,"max":1,"is_preferred":null,"mandatory":true,"role":"6bb4823f-7c2b-2ff7-d920-989e18"}]},
|
139
139
|
{"uuid":"d2bc1c81-e1b9-5529-9821-071a4b","roles":[{"uuid":"75605efb-167f-6f22-b5ae-b89890","player":"c1f018e7-5506-22b4-83d8-a7fd95"},{"uuid":"06aa4037-fabb-2b71-ce2f-ad576a","player":"f80e850c-f4cb-25dd-6a6c-e97290"}],"readings":[["01","{0} projects {1}"],["10","{0} is projected from {1}"]],"shapes":[],"constraints":[{"uuid":"792b635a-5a67-d1b6-aab0-0df608","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"06aa4037-fabb-2b71-ce2f-ad576a"},{"uuid":"23e20efa-b564-aa18-e037-5fac19","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"75605efb-167f-6f22-b5ae-b89890"}]},
|
140
140
|
{"uuid":"b197d1d9-04e7-f866-124c-d7601d","roles":[{"uuid":"8b81ce52-f3d7-4128-107b-b81856","player":"737c9487-58a1-8a78-d92b-1af9c9"},{"uuid":"36199b2e-021a-6a64-83cd-5773a1","player":"1f75e35a-fb0d-5de1-e866-d9cc0e"}],"readings":[["01","{0} has {1}"],["10","{0} is for {1}"]],"shapes":[],"constraints":[{"uuid":"cc21b269-00de-4eda-2a9e-6ca4c6","min":1,"max":1,"is_preferred":null,"mandatory":true,"role":"36199b2e-021a-6a64-83cd-5773a1"}]},
|
141
|
+
{"uuid":"248472f5-d632-2280-8710-b23435","roles":[{"uuid":"fff69eb8-53c1-e338-05e8-7c0e5d","player":"b7027c11-048b-f45f-19fa-a561ef"},{"uuid":"239508fe-3e68-9e49-919a-73ca5c","player":"b7027c11-048b-f45f-19fa-a561ef"}],"readings":[["01","{0} is matched by reverse-{1}"]],"shapes":[],"constraints":[{"uuid":"712f1453-1790-5316-8313-3b0fc2","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"239508fe-3e68-9e49-919a-73ca5c"},{"uuid":"9628475a-5c5c-671f-9f9d-5ca3c6","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"fff69eb8-53c1-e338-05e8-7c0e5d"}]},
|
141
142
|
{"uuid":"dc8e87f5-0ddd-bf7c-8630-2ca8a3","roles":[{"uuid":"545f00fc-2b18-b7b9-adeb-e4faab","player":"6ed24bcf-12f0-0369-0af8-fa24eb"},{"uuid":"7c710b26-72a8-441e-06c8-6f5836","player":"deadd195-6677-b612-ebe8-dc8de0"}],"readings":[["01","{0} is in {1}"],["10","{0} includes {1}"]],"shapes":[],"constraints":[{"uuid":"b4e65c4c-73b9-0153-ec04-2d080b","min":1,"max":1,"is_preferred":null,"mandatory":true,"role":"545f00fc-2b18-b7b9-adeb-e4faab"}]},
|
142
143
|
{"uuid":"96ff4650-5580-2a10-4f79-2a7568","roles":[{"uuid":"d629f92a-f43a-3956-19f8-cd4943","player":"88982edc-3f15-3d6d-c1bd-f031d3"},{"uuid":"248224d0-4984-786a-d90f-aead3c","player":"8042d033-71e4-ac59-286a-a79a18"}],"readings":[["01","{0} has {1}"]],"shapes":[],"constraints":[{"uuid":"2a211a01-7d4e-d063-cc7c-a64b60","min":1,"max":1,"is_preferred":null,"mandatory":true,"role":"d629f92a-f43a-3956-19f8-cd4943"}]},
|
143
144
|
{"uuid":"44f39f00-52a8-1bd9-0bb3-a070fc","objectified_as":"2f1b6363-3a18-23a5-de73-1f61e7","roles":[{"uuid":"5e0a698b-e219-4e94-9910-aa86ae","player":"d6e42408-cc1a-4c0a-8a36-4e7309"},{"uuid":"ea076bd9-a6e3-f112-5dd8-bd8b97","player":"d6e42408-cc1a-4c0a-8a36-4e7309"}],"readings":[["01","{0} is derived from base-{1}"]],"shapes":[],"constraints":[{"uuid":"c2a9805d-a15c-fc36-58ac-90df9b","min":1,"max":1,"is_preferred":true,"mandatory":true,"uniqueExcept":null},{"uuid":"9d6176e2-700e-cc1d-f447-6caa34","shapes":[],"ringKind":"AcyclicIntransitive","roles":["5e0a698b-e219-4e94-9910-aa86ae","ea076bd9-a6e3-f112-5dd8-bd8b97"]}]},
|
144
145
|
{"uuid":"86c64ee1-120a-cf76-34c1-166de9","roles":[{"uuid":"fc6e6541-5314-fdb3-2f70-223c46","player":"7f06b39d-3155-b771-8af2-f10607"},{"uuid":"e78b3691-4bea-1338-4654-809305","player":"59fb40da-b1f6-bff6-9e6b-63d1d4"}],"readings":[["01","{0} has maximum-{1}"]],"shapes":[],"constraints":[{"uuid":"ffc4202d-2e06-e529-e2e6-dafd01","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"e78b3691-4bea-1338-4654-809305"}]},
|
145
146
|
{"uuid":"ca362777-6aa3-cf11-ccb7-6dd4ef","objectified_as":"561c84ca-8d23-5e14-bb16-b199ac","roles":[{"uuid":"c5e97af6-6248-3056-be06-e40eae","player":"6bb15109-e63b-394b-0bd0-25fc60"},{"uuid":"05658efc-abaf-536b-660c-ab39fd","player":"4a566166-83c2-64f7-31c3-430fa2"},{"uuid":"6817e12f-8887-ba23-0db8-765874","player":"6bb15109-e63b-394b-0bd0-25fc60"}],"readings":[["012","{0} is bound to {1} over aggregated-{2}"],["120","{0} of aggregated-{1} is bound as {2}"]],"shapes":[],"constraints":[{"uuid":"7046b316-07ca-63a2-aa50-28a4de","min":1,"max":1,"is_preferred":true,"mandatory":true,"uniqueExcept":"c5e97af6-6248-3056-be06-e40eae"}]},
|
146
|
-
{"uuid":"eb024dcf-1185-ca9c-8d65-3dee5d","roles":[{"uuid":"e5ee27c2-90c9-9fa7-9662-786f8f","player":"3e320962-99f2-83a8-1612-63ebe0"},{"uuid":"45c8f9da-ebab-c5d9-6562-ed2f6c","player":"737c9487-58a1-8a78-d92b-1af9c9"}],"readings":[["01","{0}
|
147
|
-
{"uuid":"96bc1adf-62c4-fa84-ca74-4a9b7b","roles":[{"uuid":"d1e0a43c-8194-81c6-6d76-3e8941","player":"
|
147
|
+
{"uuid":"eb024dcf-1185-ca9c-8d65-3dee5d","roles":[{"uuid":"e5ee27c2-90c9-9fa7-9662-786f8f","player":"3e320962-99f2-83a8-1612-63ebe0"},{"uuid":"45c8f9da-ebab-c5d9-6562-ed2f6c","player":"737c9487-58a1-8a78-d92b-1af9c9"}],"readings":[["01","{0} objectifies {1}"],["10","{0} is objectified as {1}"]],"shapes":[],"constraints":[{"uuid":"dd816ca8-3792-ec28-00d2-68119d","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"45c8f9da-ebab-c5d9-6562-ed2f6c"},{"uuid":"9a6b93c4-c9b5-53fa-7339-3a647d","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"e5ee27c2-90c9-9fa7-9662-786f8f"}]},
|
148
|
+
{"uuid":"96bc1adf-62c4-fa84-ca74-4a9b7b","roles":[{"uuid":"d1e0a43c-8194-81c6-6d76-3e8941","player":"5e0598ad-c975-eb1d-7e21-6ecd97"},{"uuid":"f15d5c38-574e-15a0-854d-65a5a9","player":"92fe2e9f-6dd4-a626-d621-777493"}],"readings":[["01","{0} is for {1}"],["10","{0} implies {1}"]],"shapes":[],"constraints":[{"uuid":"7331d44d-a40f-e6fd-03d9-9e9f4b","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"f15d5c38-574e-15a0-854d-65a5a9"},{"uuid":"0c839f42-1004-a49c-fb52-24d514","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"d1e0a43c-8194-81c6-6d76-3e8941"}]},
|
148
149
|
{"uuid":"3053c493-1c28-1718-af5a-284d91","roles":[{"uuid":"bbb88a3a-8b77-8be2-815f-c50e3a","player":"463fa50c-acb0-0c46-a16f-71af4e"},{"uuid":"c364bb49-8c2f-9bba-93a6-2d7c4a","player":"1f75e35a-fb0d-5de1-e866-d9cc0e"}],"readings":[["01","{0} is for {1}"],["10","{0} has {1}"]],"shapes":[],"constraints":[{"uuid":"cb802f64-d9be-4597-f56e-0ad80a","min":1,"max":1,"is_preferred":null,"mandatory":true,"role":"bbb88a3a-8b77-8be2-815f-c50e3a"},{"uuid":"c6ee9a58-907f-e8e3-a5b4-35a5dd","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"bbb88a3a-8b77-8be2-815f-c50e3a"}]},
|
149
150
|
{"uuid":"5f89c8f1-f06c-fc75-886b-65d904","roles":[{"uuid":"b359db59-65ec-993b-7e21-c146d7","player":"a57f16bc-9c4c-f5b2-0b5e-7cb0db"},{"uuid":"ab8aa695-15d3-30e6-735e-d2e9ca","player":"b0d73911-4de8-15b3-32af-858aef"}],"readings":[["10","{0} uses {1}"]],"shapes":[],"constraints":[{"uuid":"a07f03c0-842b-6a55-ca1d-38ef64","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"b359db59-65ec-993b-7e21-c146d7"}]},
|
150
151
|
{"uuid":"cc81d560-7aa9-18f1-5eaa-423124","roles":[{"uuid":"5e66fc0a-7d33-f5a1-ec73-af5d52","player":"f80e850c-f4cb-25dd-6a6c-e97290"},{"uuid":"3cd9a38f-ec5a-ca64-26e1-c3e2a1","player":"caab36b4-3b15-a2d9-bfb1-5e0086"}],"readings":[["01","{0} has leading-{1}"]],"shapes":[],"constraints":[{"uuid":"3b659353-62f7-fb2c-54b3-36b631","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"3cd9a38f-ec5a-ca64-26e1-c3e2a1"}]},
|
@@ -220,7 +221,7 @@ diagrams: [
|
|
220
221
|
{"uuid":"0be6b656-00a8-3641-c5f6-d545e7","roles":[{"uuid":"d55f706c-4f95-fa15-c8aa-b9bc39","player":"92fe2e9f-6dd4-a626-d621-777493"},{"uuid":"1b6f13c9-649b-d6f0-1698-0edf06","player":"737c9487-58a1-8a78-d92b-1af9c9"}],"readings":[["01","{0} belongs to {1}"],["10","{0} contains {1}"]],"shapes":[],"constraints":[{"uuid":"4ba638f7-d458-adf6-eac8-daaafa","min":1,"max":1,"is_preferred":null,"mandatory":true,"role":"d55f706c-4f95-fa15-c8aa-b9bc39"}]},
|
221
222
|
{"uuid":"e95b4165-cccc-7926-3724-fe5c68","roles":[{"uuid":"d0d6c3a0-ac4a-ff39-5130-1399b3","player":"490ebbb9-8f57-9dab-df0b-b38b5f"},{"uuid":"d7074aa2-9f37-70d3-8f6f-b10099","player":"d6e42408-cc1a-4c0a-8a36-4e7309"}],"readings":[["01","{0} includes {1}"],["10","{0} is in {1}"]],"shapes":[],"constraints":[{"uuid":"415ec2a8-954d-0fb0-58bc-1ad9dc","min":1,"max":1,"is_preferred":null,"mandatory":true,"role":"d7074aa2-9f37-70d3-8f6f-b10099"}]},
|
222
223
|
{"uuid":"ab8a4003-cd30-3132-692c-8cddc6","roles":[{"uuid":"a3943554-546e-0ab5-d8fe-98d9f6","player":"edb2c4be-ef98-0eae-8842-6bcd65"},{"uuid":"40bb5907-ed03-b882-211c-1f810c","player":"a4da9732-565f-9626-fcae-29a9c5"}],"readings":[["01","{0} has min-{1}"]],"shapes":[],"constraints":[{"uuid":"c0c7c33c-2a61-eb75-8244-318aef","min":0,"max":1,"is_preferred":null,"mandatory":null,"uniqueExcept":"40bb5907-ed03-b882-211c-1f810c"}]},
|
223
|
-
{"uuid":"e246a361-39ce-5177-93cb-0cbcfe","roles":[{"uuid":"7f04d38a-2243-9f43-b8c7-83a314","player":"b7027c11-048b-f45f-19fa-a561ef"},{"uuid":"e60b4a21-e5af-8573-e42b-233ab0","player":"92fe2e9f-6dd4-a626-d621-777493"}],"readings":[["
|
224
|
+
{"uuid":"e246a361-39ce-5177-93cb-0cbcfe","objectified_as":"45951ee0-d56a-c690-2a8a-e8a114","roles":[{"uuid":"7f04d38a-2243-9f43-b8c7-83a314","player":"b7027c11-048b-f45f-19fa-a561ef"},{"uuid":"e60b4a21-e5af-8573-e42b-233ab0","player":"92fe2e9f-6dd4-a626-d621-777493"},{"uuid":"eacc0016-c705-a860-ef02-55bfb1","player":"63beb402-8ac5-0c64-1313-9cda5a"}],"readings":[["012","{0} is nested under index-{1} in {2} position"],["021","{0} in {1} position is nested under {2}"],["102","{0} keys nesting of {1} at {2} priority"]],"shapes":[],"constraints":[{"uuid":"28b2b85c-496f-6a04-7164-7c5f30","min":1,"max":1,"is_preferred":true,"mandatory":true,"uniqueExcept":"e60b4a21-e5af-8573-e42b-233ab0"}]},
|
224
225
|
{"uuid":"16acc2a1-7467-2c53-59c1-1d3d71","objectified_as":"203abdc9-60b9-e2da-80da-01bc26","roles":[{"uuid":"982d233a-43ba-7236-9ee2-2de80d","player":"02b2f76d-2394-741c-f8ad-03fdf2"},{"uuid":"d4a91ec0-5c04-d42d-635b-388042","player":"7f06b39d-3155-b771-8af2-f10607"}],"readings":[["01","{0} allows {1}"]],"shapes":[],"constraints":[{"uuid":"7cd7c366-1253-eb7e-fef0-8d3c8a","min":1,"max":1,"is_preferred":true,"mandatory":true,"uniqueExcept":null}]},
|
225
226
|
{"uuid":"a974ed80-1d3f-bce4-70cb-852bda","objectified_as":"3bd0fb48-0f5e-2f7a-c37d-7bb029","roles":[{"uuid":"5ebf5c0a-403f-9ace-89ae-0b3eac","player":"46e08c2e-b6b9-c3e4-ac7b-2bf98b"},{"uuid":"9e3c5915-12a9-57bf-446a-c76846","player":"56c9cec4-88ef-1e86-9ca6-970913"}],"readings":[["01","{0} is a facet of {1}"],["10","{0} has facet called {1}"]],"shapes":[],"constraints":[{"uuid":"fe7eb0b1-1fc6-e2a1-58c0-ab38ff","min":1,"max":1,"is_preferred":true,"mandatory":true,"uniqueExcept":null}]},
|
226
227
|
{"uuid":"4ffc19af-45c9-11a6-ef08-e5198e","roles":[{"uuid":"5bcae2a4-b612-30aa-9a49-f7efb3","player":"92fe2e9f-6dd4-a626-d621-777493"},{"uuid":"27974f89-9bb2-74e6-0bf7-6f009b","player":"63beb402-8ac5-0c64-1313-9cda5a"}],"readings":[["01","{0} fills {1}"],["10","{0} applies to {1}"]],"shapes":[],"constraints":[{"uuid":"a9f4ec65-73e3-8196-17da-e671c4","min":1,"max":1,"is_preferred":null,"mandatory":true,"role":"5bcae2a4-b612-30aa-9a49-f7efb3"}]},
|
@@ -291,6 +292,7 @@ diagrams: [
|
|
291
292
|
],
|
292
293
|
constraints: [
|
293
294
|
{"uuid":"1ca9a8f2-f1dd-d8fa-080c-cd39e8","type":"SetExclusionConstraint","shapes":[],"is_mandatory":true,"role_sequences":[["5c33c08c-ebec-93ef-3a05-b4dfc0"],["31ffb1f0-da35-5caa-1974-747450"]]},
|
295
|
+
{"uuid":"ded0530c-5815-950d-910d-3d15c3","type":"SubsetConstraint","shapes":[],"role_sequences":[["d3238d10-9740-14aa-a79a-cec656","4fcd0e4e-def0-c86e-c4a0-58b1e0"],["3599b0bb-82aa-91f8-d2c5-39cb59","50238e51-4650-4c0d-9a26-fbfa2a"]]},
|
294
296
|
{"uuid":"ce755310-2b8d-35b3-a3bd-733a44","type":"SetExclusionConstraint","shapes":[],"is_mandatory":true,"role_sequences":[["34c89c4c-9110-6d8f-3abf-9521f8"],["c7d2736d-3c19-72a2-0af4-d5ed94"]]},
|
295
297
|
{"uuid":"67759b07-657b-189a-4b2d-5d30ff","type":"PresenceConstraint","shapes":[],"min_frequency":0,"max_frequency":1,"is_mandatory":null,"is_preferred_identifier":true,"role_sequences":[["248224d0-4984-786a-d90f-aead3c","3b16d9bd-11e2-823e-988e-980572","56f1e6b1-d4c8-9c91-057d-016774"]]},
|
296
298
|
{"uuid":"90db5044-afc1-bee7-2621-15297c","type":"PresenceConstraint","shapes":[],"min_frequency":0,"max_frequency":1,"is_mandatory":null,"is_preferred_identifier":null,"role_sequences":[["7c710b26-72a8-441e-06c8-6f5836","02608e50-a385-dc39-805c-d36ea6"]]},
|
@@ -320,13 +322,13 @@ diagrams: [
|
|
320
322
|
{"uuid":"122ec7ef-792e-a0f0-e135-b9e34c","type":"SetExclusionConstraint","shapes":[],"is_mandatory":null,"role_sequences":[["461ee7f4-1a68-c8bc-5161-1a1bc6"],["35912c3c-4c86-99c5-0ae6-62f70f"]]},
|
321
323
|
{"uuid":"e85cd970-d1be-fcb7-3063-946bbb","type":"PresenceConstraint","shapes":[],"min_frequency":1,"max_frequency":null,"is_mandatory":true,"is_preferred_identifier":false,"role_sequences":[["e2150d8b-02c1-86e1-717f-03594d","fc6e6541-5314-fdb3-2f70-223c46"]]},
|
322
324
|
{"uuid":"8c925616-a393-0177-5536-cc7d05","type":"PresenceConstraint","shapes":[],"min_frequency":1,"max_frequency":null,"is_mandatory":true,"is_preferred_identifier":false,"role_sequences":[["a3943554-546e-0ab5-d8fe-98d9f6","4a84136a-40ef-2e4c-aadc-3d5100","f30933f6-afb8-f139-f8ee-e5ed79"]]},
|
323
|
-
{"uuid":"9b4ec9fa-c3a8-0a36-0301-675beb","type":"SetEqualityConstraint","shapes":[],"role_sequences":[["3599b0bb-82aa-91f8-d2c5-39cb59","50238e51-4650-4c0d-9a26-fbfa2a"],["d3238d10-9740-14aa-a79a-cec656","4fcd0e4e-def0-c86e-c4a0-58b1e0"]]},
|
324
325
|
{"uuid":"59eeb2cf-8f4d-2b73-8c14-cfd93a","type":"SetExclusionConstraint","shapes":[],"is_mandatory":true,"role_sequences":[["36cc99c3-6cfb-e1a5-0de6-3d9d37"],["2d892cff-e9f2-0eff-8edb-fd66ef"],["c0b7cce4-b7a9-1a3f-8119-6c08e6"],["64fe9174-c381-e74a-c4c4-449980"],["66763657-128a-760f-f29d-d87961"],["06938c72-f876-9d59-73e1-3935db"],["5269f001-275f-25cb-d694-56475f"],["0ef687a2-b0f5-1736-4069-3b50a6"],["c3aa8291-45fb-e19c-dbcd-3ef475"],["57fe3c40-9e0b-3d8e-a686-5f7e04"]]},
|
325
326
|
{"uuid":"628b2e80-f96d-aad5-dd57-f46810","type":"PresenceConstraint","shapes":[],"min_frequency":0,"max_frequency":1,"is_mandatory":null,"is_preferred_identifier":null,"role_sequences":[["6730ee91-ef6f-b933-256f-8848ce","5a2b3955-1718-292a-893b-93e6df"]]},
|
326
327
|
{"uuid":"2a6864e2-a2cd-e3bb-0696-5f1de8","type":"SetExclusionConstraint","shapes":[],"is_mandatory":true,"role_sequences":[["e6c3bf64-89ea-09f1-ca9f-dd5400"],["e3dd5eb3-1929-5dd3-2576-9b61d7"]]},
|
327
328
|
{"uuid":"101ab982-cfdc-c110-6301-8f7542","type":"SetExclusionConstraint","shapes":[],"is_mandatory":true,"role_sequences":[["a0fcdd7c-2c3d-4b24-a6ca-dc66da"],["55696af9-9d80-51f6-cb75-418b60"],["edde05ca-634b-aad4-f1f9-58ad24"],["076b5284-b7b3-0be8-b552-50c2d7"]]},
|
328
329
|
{"uuid":"c83e7bf5-b678-bfe1-9b28-a1c133","type":"PresenceConstraint","shapes":[],"min_frequency":0,"max_frequency":1,"is_mandatory":null,"is_preferred_identifier":true,"role_sequences":[["35bf5616-886d-40b2-3e50-fad733","663fdf1d-186c-eee9-0c43-b15d2d"]]},
|
329
330
|
{"uuid":"f90d0d45-9dcb-2f12-2f33-4a78a3","type":"PresenceConstraint","shapes":[],"min_frequency":0,"max_frequency":1,"is_mandatory":null,"is_preferred_identifier":true,"role_sequences":[["e88974b6-b9db-c7bf-23a8-048fbd","5bd76555-2ea3-fb91-f0a8-8eb260"]]},
|
331
|
+
{"uuid":"498e8226-dcc0-f075-cc5d-e8740f","type":"SubsetConstraint","shapes":[],"role_sequences":[["88cc5478-86ce-8f4b-b95f-4ccbc7","4fcd0e4e-def0-c86e-c4a0-58b1e0"],["4f4e8a76-8cd7-7bf3-7d1e-556446","50238e51-4650-4c0d-9a26-fbfa2a"]]},
|
330
332
|
{"uuid":"df180e7f-60e6-d7f3-fd09-76cec5","type":"SetExclusionConstraint","shapes":[],"is_mandatory":null,"role_sequences":[["2eca8649-1cbe-b527-abf1-71b81e"],["64aee8ea-6693-9dd9-5ee5-2db6b6"]]},
|
331
333
|
{"uuid":"da1392c9-c50d-2998-5eed-377664","type":"PresenceConstraint","shapes":[],"min_frequency":0,"max_frequency":1,"is_mandatory":null,"is_preferred_identifier":null,"role_sequences":[["6e21df09-1a88-ee34-8fbc-1b5ffe","2da75c9b-a8c0-1e93-921b-aed6c7"]]},
|
332
334
|
{"uuid":"6ef3d5c5-adec-2808-bfe0-dc3fc4","type":"SetExclusionConstraint","shapes":[],"is_mandatory":true,"role_sequences":[["fb453a48-2e27-2811-e222-7d660f"],["1bc1b389-889b-cd56-c388-19524d"]]},
|