activefacts-examples 1.7.2 → 1.8.0
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.
- 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"]]},
|