Last active
June 8, 2017 15:48
-
-
Save kenwebb/9a17661d43849ee9eeb0aaf2cc395c8d to your computer and use it in GitHub Desktop.
Categorical Data IDE - AQL - Employees 3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Thu Jun 08 2017 11:47:42 GMT-0400 (EDT)--> | |
<XholonWorkbook> | |
<Notes><![CDATA[ | |
Xholon | |
------ | |
Title: Categorical Data IDE - AQL - Employees 3 | |
Description: | |
Url: http://www.primordion.com/Xholon/gwt/ | |
InternalName: 9a17661d43849ee9eeb0aaf2cc395c8d based on 074f856a32c64e287a92b4292eb7d3c3 | |
Keywords: | |
My Notes | |
-------- | |
June 6, 2017 | |
Test of CatAql.java in the new CatTheory mechanism. | |
Graphviz | |
-------- | |
$wnd.xh.xport("Graphviz", $wnd.xh.root().parent().xpath("Chameleon/CattSystem/CatTheorySchema"), '{"gvFileExt":".gv","gvGraph":"digraph","layout":"dot","edgeOp":"->","gvCluster":"","shouldShowStateMachineEntities":false,"filter":"--Behavior,Script","nameTemplateNodeId":"^^^^i^","nameTemplateNodeLabel":"R^^^^^","shouldQuoteLabels":true,"shouldShowLinks":true,"shouldShowLinkLabels":true,"shouldSpecifyLayout":false,"maxLabelLen":-1,"shouldColor":true,"defaultColor":"#f0f8ff","shouldSpecifyShape":true,"shape":"ellipse","shouldSpecifySize":false,"size":"6","shouldSpecifyFontname":false,"fontname":"\"Courier New\"","shouldSpecifyArrowhead":true,"arrowhead":"vee","shouldSpecifyStylesheet":true,"stylesheet":"Xholon.css","shouldSpecifyRankdir":false,"rankdir":"LR","shouldDisplayGraph":true,"outputFormat":"svg"}'); | |
$wnd.xh.xport("Graphviz", $wnd.xh.root().parent().xpath("Chameleon/CattSystem/CatTheoryInstance"), '{"gvFileExt":".gv","gvGraph":"digraph","layout":"dot","edgeOp":"->","gvCluster":"","shouldShowStateMachineEntities":false,"filter":"--Behavior,Script","nameTemplateNodeId":"^^^^i^","nameTemplateNodeLabel":"r C^^^","shouldQuoteLabels":true,"shouldShowLinks":true,"shouldShowLinkLabels":true,"shouldSpecifyLayout":false,"maxLabelLen":-1,"shouldColor":true,"defaultColor":"#f0f8ff","shouldSpecifyShape":true,"shape":"ellipse","shouldSpecifySize":false,"size":"6","shouldSpecifyFontname":false,"fontname":"\"Courier New\"","shouldSpecifyArrowhead":true,"arrowhead":"vee","shouldSpecifyStylesheet":true,"stylesheet":"Xholon.css","shouldSpecifyRankdir":true,"rankdir":"LR","shouldDisplayGraph":true,"outputFormat":"svg"}'); | |
$wnd.xh.xport("Graphviz", $wnd.xh.root().parent().xpath("Chameleon/CattSystem"), '{"gvFileExt":".gv","gvGraph":"digraph","layout":"dot","edgeOp":"->","gvCluster":"","shouldShowStateMachineEntities":false,"filter":"--Behavior,Script","nameTemplateNodeId":"^^^^i^","nameTemplateNodeLabel":"R^^^^^","shouldQuoteLabels":true,"shouldShowLinks":true,"shouldShowLinkLabels":true,"shouldSpecifyLayout":false,"maxLabelLen":-1,"shouldColor":true,"defaultColor":"#f0f8ff","shouldSpecifyShape":true,"shape":"ellipse","shouldSpecifySize":false,"size":"6","shouldSpecifyFontname":false,"fontname":"\"Courier New\"","shouldSpecifyArrowhead":true,"arrowhead":"vee","shouldSpecifyStylesheet":true,"stylesheet":"Xholon.css","shouldSpecifyRankdir":false,"rankdir":"LR","shouldDisplayGraph":true,"outputFormat":"svg"}'); | |
]]></Notes> | |
<_-.XholonClass> | |
<PhysicalSystem/> | |
<!-- check the Schema after everything has been loaded and configured --> | |
<!--<AqlSchemaChecker/>--> | |
</_-.XholonClass> | |
<xholonClassDetails> | |
</xholonClassDetails> | |
<PhysicalSystem> | |
<!-- | |
I've put each statement on its own line, where possible. | |
--> | |
<CatAql instances="true" schemas="true" separateSchemaInstance="true" xhcName_System="CattSystem" setNodeSuffix="" pointToSchema="true"><![CDATA[ | |
typeside Ty = literal { | |
types | |
string | |
nat | |
constants | |
Al Akin Bob Bo Carl Cork Dan Dunn Math CS : string | |
zero : nat | |
functions | |
succ : nat -> nat | |
plus : nat, nat -> nat | |
equations | |
forall x. plus(zero, x) = x | |
forall x, y. plus(succ(x),y) = succ(plus(x,y)) | |
options | |
prover = completion | |
} | |
schema S = literal : Ty { | |
entities | |
Employee | |
Department | |
foreign_keys | |
manager : Employee -> Employee | |
worksIn : Employee -> Department | |
secretary : Department -> Employee | |
path_equations | |
manager.worksIn = worksIn | |
secretary.worksIn = Department | |
attributes | |
first last : Employee -> string | |
age : Employee -> nat | |
cummulative_age : Employee -> nat | |
name : Department -> string | |
observation_equations | |
forall e. cummulative_age(e) = plus(age(e), age(manager(e))) | |
options | |
prover = completion | |
} | |
instance I = literal : S { | |
generators | |
a b c : Employee | |
m s : Department | |
equations | |
first(a) = Al | |
first(b) = Bob | |
last(b) = Bo | |
first(c) = Carl | |
name(m) = Math | |
name(s) = CS | |
// age(a) = age(c) | |
manager(a) = b | |
manager(b) = b | |
manager(c) = c | |
worksIn(a) = m | |
worksIn(b) = m | |
worksIn(c) = s | |
secretary(s) = c | |
secretary(m) = b | |
// secretary(worksIn(a)) = manager(a) | |
// worksIn(a) = worksIn(manager(a)) | |
// age(a) = zero.succ.succ | |
// age(manager(a)) = zero.succ | |
options | |
prover = completion | |
completion_precedence = "zero a b c m s Al Akin Bob Bo Carl Cork Dan Dunn Math CS first last name age manager worksIn secretary succ plus" | |
} | |
]]></CatAql> | |
<!--<AqlSchemaChecker/>--> | |
</PhysicalSystem> | |
<AqlSchemaCheckerbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[ | |
// check foreign keys, path equations, and equations | |
var me, beh = { | |
postConfigure: function() { | |
me = this.cnode.parent(); | |
me.println(me.xhc().name()); | |
var node = me.parent().first(); | |
while (node) { | |
switch (node.xhc().name()) { | |
case "Employee": | |
var links = node.links(false, true); | |
$wnd.console.log(links); | |
for (var i = 0; i < links.length; i++) { | |
var link = links[i]; | |
var rnode = link.reffedNode; | |
if (rnode) { | |
switch (link.fieldName) { | |
case "manager": | |
// manager : Employee -> Employee | |
this.checkForeigKeyType("manager : Employee -> Employee ", rnode, "Employee"); | |
// foreign_keys manager.worksIn = worksIn | |
me.println("manager.worksIn = worksIn " + (node.manager.worksIn == node.worksIn)); | |
break; | |
case "worksIn": | |
// worksIn : Employee -> Department | |
this.checkForeigKeyType("worksIn : Employee -> Department ", rnode, "Department"); | |
// equations secretary(worksIn(a)) = manager(a) | |
me.println("secretary(worksIn(a)) = manager(a) " + (node.worksIn.secretary == node.manager)); | |
break; | |
default: break; | |
} | |
} | |
} | |
break; | |
case "Department": | |
var links = node.links(false, true); | |
$wnd.console.log(links); | |
for (var i = 0; i < links.length; i++) { | |
var link = links[i]; | |
var rnode = link.reffedNode; | |
if (rnode) { | |
switch (link.fieldName) { | |
case "secretary": | |
// foreign_keys secretary : Department -> Employee | |
this.checkForeigKeyType("secretary : Department -> Employee ", rnode, "Employee"); | |
// path_equation secretary.worksIn = Department | |
me.println("secretary.worksIn = Department " + (node.secretary.worksIn.xhc().name() == "Department")); | |
break; | |
default: break; | |
} | |
} | |
} | |
break; | |
default: break; | |
} | |
node = node.next(); | |
} | |
}, | |
checkForeigKeyType: function(label, node, expectedTypeName) { | |
me.println(label + (node.xhc().name() == expectedTypeName)); | |
} | |
} | |
]]></AqlSchemaCheckerbehavior> | |
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml, | |
<?xml-stylesheet href="Xholon.css" type="text/css"?> | |
<!-- Generated by graphviz version 2.28.0 (20140111.2315) | |
--> | |
<!-- Title: 57 Pages: 1 --> | |
<svg width="350pt" height="249pt" | |
viewBox="0.00 0.00 350.22 248.80" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | |
<g id="CatTheorySchema" class="graph" transform="scale(1 1) rotate(0) translate(4 244.8)"> | |
<title>57</title> | |
<polygon fill="white" stroke="none" points="-4,4 -4,-244.8 346.224,-244.8 346.224,4 -4,4"/> | |
<text text-anchor="middle" x="171.112" y="-8.2" font-family="Times,serif" font-size="14.00">CatTheorySchema</text> | |
<!-- 48 --> | |
<g id="CatTheorySchema/string" class="node"><title>48</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="55.7095" cy="-42.8" rx="33.0468" ry="18"/> | |
<text text-anchor="middle" x="55.7095" y="-38.6" font-family="Times,serif" font-size="14.00">string</text> | |
</g> | |
<!-- 49 --> | |
<g id="CatTheorySchema/nat" class="node"><title>49</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="128.71" cy="-132.8" rx="27" ry="18"/> | |
<text text-anchor="middle" x="128.71" y="-128.6" font-family="Times,serif" font-size="14.00">nat</text> | |
</g> | |
<!-- 50 --> | |
<g id="CatTheorySchema/Employee" class="node"><title>50</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="109.71" cy="-222.8" rx="50.2862" ry="18"/> | |
<text text-anchor="middle" x="109.71" y="-218.6" font-family="Times,serif" font-size="14.00">Employee</text> | |
</g> | |
<!-- 50->48 --> | |
<g id="CatTheorySchema_edge3" class="edge"><title>50->48</title> | |
<path fill="none" stroke="black" d="M74.4743,-209.943C48.9197,-199.12 16.7273,-180.254 4.16253,-150.8 -8.5196,-121.071 13.6548,-87.6321 32.7548,-66.1726"/> | |
<polygon fill="black" stroke="black" points="39.5823,-58.8375 36.0629,-69.2233 36.1756,-62.4974 32.769,-66.1574 32.769,-66.1574 32.769,-66.1574 36.1756,-62.4974 29.4751,-63.0914 39.5823,-58.8375 39.5823,-58.8375"/> | |
<text text-anchor="middle" x="19.483" y="-128.6" font-family="Times,serif" font-size="14.00">first_</text> | |
</g> | |
<!-- 50->48 --> | |
<g id="CatTheorySchema_edge4" class="edge"><title>50->48</title> | |
<path fill="none" stroke="black" d="M96.351,-205.156C92.075,-199.489 87.4769,-193.014 83.7095,-186.8 74.4924,-171.597 71.0926,-167.912 66.2691,-150.8 58.8173,-124.364 56.4432,-92.9688 55.7715,-71.0485"/> | |
<polygon fill="black" stroke="black" points="55.5606,-60.8192 60.2659,-70.7243 55.6637,-65.8182 55.7668,-70.8171 55.7668,-70.8171 55.7668,-70.8171 55.6637,-65.8182 51.2678,-70.9099 55.5606,-60.8192 55.5606,-60.8192"/> | |
<text text-anchor="middle" x="79.9297" y="-128.6" font-family="Times,serif" font-size="14.00">last_</text> | |
</g> | |
<!-- 50->49 --> | |
<g id="CatTheorySchema_edge5" class="edge"><title>50->49</title> | |
<path fill="none" stroke="black" d="M96.5216,-205.374C89.7142,-194.809 83.863,-180.853 89.2803,-168.8 92.0384,-162.664 96.463,-157.166 101.37,-152.446"/> | |
<polygon fill="black" stroke="black" points="109.307,-145.689 104.61,-155.597 105.5,-148.93 101.693,-152.171 101.693,-152.171 101.693,-152.171 105.5,-148.93 98.7756,-148.744 109.307,-145.689 109.307,-145.689"/> | |
<text text-anchor="middle" x="99.4241" y="-173.6" font-family="Times,serif" font-size="14.00">age</text> | |
</g> | |
<!-- 50->49 --> | |
<g id="CatTheorySchema_edge6" class="edge"><title>50->49</title> | |
<path fill="none" stroke="black" d="M113.373,-204.833C116.08,-192.293 119.82,-174.972 122.929,-160.573"/> | |
<polygon fill="black" stroke="black" points="125.057,-150.715 127.345,-161.44 124.002,-155.603 122.947,-160.49 122.947,-160.49 122.947,-160.49 124.002,-155.603 118.548,-159.54 125.057,-150.715 125.057,-150.715"/> | |
<text text-anchor="middle" x="171.473" y="-173.6" font-family="Times,serif" font-size="14.00">cummulative_age</text> | |
</g> | |
<!-- 50->50 --> | |
<g id="CatTheorySchema_edge1" class="edge"><title>50->50</title> | |
<path fill="none" stroke="black" d="M154.507,-231.025C167.582,-230.741 177.71,-227.999 177.71,-222.8 177.71,-219.063 172.478,-216.596 164.68,-215.398"/> | |
<polygon fill="black" stroke="black" points="154.507,-214.575 164.837,-210.896 159.491,-214.978 164.474,-215.381 164.474,-215.381 164.474,-215.381 159.491,-214.978 164.111,-219.867 154.507,-214.575 154.507,-214.575"/> | |
<text text-anchor="middle" x="201.807" y="-218.6" font-family="Times,serif" font-size="14.00">manager</text> | |
</g> | |
<!-- 51 --> | |
<g id="CatTheorySchema/Department" class="node"><title>51</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="253.71" cy="-132.8" rx="56.4284" ry="18"/> | |
<text text-anchor="middle" x="253.71" y="-128.6" font-family="Times,serif" font-size="14.00">Department</text> | |
</g> | |
<!-- 50->51 --> | |
<g id="CatTheorySchema_edge2" class="edge"><title>50->51</title> | |
<path fill="none" stroke="black" d="M156.143,-216.04C178.798,-211.279 205.28,-202.601 224.71,-186.8 233.254,-179.851 239.668,-169.686 244.261,-160.113"/> | |
<polygon fill="black" stroke="black" points="248.26,-150.877 248.416,-161.842 246.273,-155.466 244.287,-160.054 244.287,-160.054 244.287,-160.054 246.273,-155.466 240.157,-158.266 248.26,-150.877 248.26,-150.877"/> | |
<text text-anchor="middle" x="262.646" y="-173.6" font-family="Times,serif" font-size="14.00">worksIn</text> | |
</g> | |
<!-- 51->48 --> | |
<g id="CatTheorySchema_edge8" class="edge"><title>51->48</title> | |
<path fill="none" stroke="black" d="M221.897,-117.661C185.772,-101.605 127.046,-75.5052 89.9451,-59.0158"/> | |
<polygon fill="black" stroke="black" points="80.5484,-54.8395 91.5141,-54.7888 85.1174,-56.8702 89.6865,-58.9009 89.6865,-58.9009 89.6865,-58.9009 85.1174,-56.8702 87.8588,-63.0131 80.5484,-54.8395 80.5484,-54.8395"/> | |
<text text-anchor="middle" x="191.369" y="-83.6" font-family="Times,serif" font-size="14.00">name_</text> | |
</g> | |
<!-- 51->50 --> | |
<g id="CatTheorySchema_edge7" class="edge"><title>51->50</title> | |
<path fill="none" stroke="black" d="M275.064,-149.478C287.296,-160.359 298.452,-174.968 288.71,-186.8 273.693,-205.037 215.369,-213.906 169.324,-218.131"/> | |
<polygon fill="black" stroke="black" points="159.112,-219.012 168.688,-213.669 164.093,-218.582 169.075,-218.152 169.075,-218.152 169.075,-218.152 164.093,-218.582 169.461,-222.635 159.112,-219.012 159.112,-219.012"/> | |
<text text-anchor="middle" x="316.967" y="-173.6" font-family="Times,serif" font-size="14.00">secretary</text> | |
</g> | |
</g> | |
</svg> | |
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient> | |
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml, | |
<?xml-stylesheet href="Xholon.css" type="text/css"?> | |
<!-- Generated by graphviz version 2.28.0 (20140111.2315) | |
--> | |
<!-- Title: 58 Pages: 1 --> | |
<svg width="558pt" height="193pt" | |
viewBox="0.00 0.00 558.00 192.67" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | |
<g id="CatTheoryInstance" class="graph" transform="scale(1 1) rotate(0) translate(4 188.672)"> | |
<title>58</title> | |
<polygon fill="white" stroke="none" points="-4,4 -4,-188.672 554,-188.672 554,4 -4,4"/> | |
<text text-anchor="middle" x="275" y="-8.2" font-family="Times,serif" font-size="14.00">CatTheoryInstance</text> | |
<!-- 52 --> | |
<g id="CatTheoryInstance/Employee[@roleName='a']" class="node"><title>52</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="57" cy="-68.8715" rx="56.7833" ry="18"/> | |
<text text-anchor="middle" x="57" y="-64.6715" font-family="Times,serif" font-size="14.00">a Employee</text> | |
</g> | |
<!-- 53 --> | |
<g id="CatTheoryInstance/Employee[@roleName='b']" class="node"><title>53</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="265" cy="-72.8715" rx="57.3667" ry="18"/> | |
<text text-anchor="middle" x="265" y="-68.6715" font-family="Times,serif" font-size="14.00">b Employee</text> | |
</g> | |
<!-- 52->53 --> | |
<g id="CatTheoryInstance_edge1" class="edge"><title>52->53</title> | |
<path fill="none" stroke="black" d="M114.018,-69.9592C139.796,-70.4598 170.57,-71.0573 197.514,-71.5805"/> | |
<polygon fill="black" stroke="black" points="207.635,-71.777 197.55,-76.082 202.636,-71.6799 197.637,-71.5828 197.637,-71.5828 197.637,-71.5828 202.636,-71.6799 197.724,-67.0837 207.635,-71.777 207.635,-71.777"/> | |
<text text-anchor="middle" x="158" y="-76.0715" font-family="Times,serif" font-size="14.00">manager</text> | |
</g> | |
<!-- 55 --> | |
<g id="CatTheoryInstance/Department[@roleName='m']" class="node"><title>55</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="483" cy="-52.8715" rx="66.5912" ry="18"/> | |
<text text-anchor="middle" x="483" y="-48.6715" font-family="Times,serif" font-size="14.00">m Department</text> | |
</g> | |
<!-- 52->55 --> | |
<g id="CatTheoryInstance_edge2" class="edge"><title>52->55</title> | |
<path fill="none" stroke="black" d="M95.318,-55.5662C124.053,-46.0575 164.989,-34.0921 202,-29.0715 276.907,-18.9103 363.713,-29.7683 420.572,-39.9239"/> | |
<polygon fill="black" stroke="black" points="430.481,-41.7408 419.833,-44.3633 425.563,-40.839 420.645,-39.9371 420.645,-39.9371 420.645,-39.9371 425.563,-40.839 421.457,-35.5109 430.481,-41.7408 430.481,-41.7408"/> | |
<text text-anchor="middle" x="265" y="-34.0715" font-family="Times,serif" font-size="14.00">worksIn</text> | |
</g> | |
<!-- 53->53 --> | |
<g id="CatTheoryInstance_edge3" class="edge"><title>53->53</title> | |
<path fill="none" stroke="black" d="M246.217,-89.9088C242.383,-99.7294 248.645,-108.872 265,-108.872 275.222,-108.872 281.501,-105.3 283.837,-100.224"/> | |
<polygon fill="black" stroke="black" points="283.783,-89.9088 288.336,-99.8851 283.809,-94.9087 283.836,-99.9087 283.836,-99.9087 283.836,-99.9087 283.809,-94.9087 279.336,-99.9322 283.783,-89.9088 283.783,-89.9088"/> | |
<text text-anchor="middle" x="265" y="-113.072" font-family="Times,serif" font-size="14.00">manager</text> | |
</g> | |
<!-- 53->55 --> | |
<g id="CatTheoryInstance_edge4" class="edge"><title>53->55</title> | |
<path fill="none" stroke="black" d="M322.358,-74.4404C345.816,-74.4655 373.292,-73.6786 398,-70.8715 406.308,-69.9277 415.006,-68.534 423.524,-66.9327"/> | |
<polygon fill="black" stroke="black" points="433.407,-64.9721 424.474,-71.332 428.503,-65.9451 423.598,-66.918 423.598,-66.918 423.598,-66.918 428.503,-65.9451 422.723,-62.5041 433.407,-64.9721 433.407,-64.9721"/> | |
<text text-anchor="middle" x="372" y="-79.0715" font-family="Times,serif" font-size="14.00">worksIn</text> | |
</g> | |
<!-- 55->53 --> | |
<g id="CatTheoryInstance_edge7" class="edge"><title>55->53</title> | |
<path fill="none" stroke="black" d="M419.466,-47.4322C396.293,-46.5057 369.857,-46.7383 346,-50.0715 335.486,-51.5405 324.414,-54.0457 313.972,-56.8709"/> | |
<polygon fill="black" stroke="black" points="304.191,-59.6544 312.578,-52.5889 309,-58.2857 313.809,-56.9171 313.809,-56.9171 313.809,-56.9171 309,-58.2857 315.041,-61.2452 304.191,-59.6544 304.191,-59.6544"/> | |
<text text-anchor="middle" x="372" y="-55.0715" font-family="Times,serif" font-size="14.00">secretary</text> | |
</g> | |
<!-- 54 --> | |
<g id="CatTheoryInstance/Employee[@roleName='c']" class="node"><title>54</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="57" cy="-131.872" rx="56.7833" ry="18"/> | |
<text text-anchor="middle" x="57" y="-127.672" font-family="Times,serif" font-size="14.00">c Employee</text> | |
</g> | |
<!-- 54->54 --> | |
<g id="CatTheoryInstance_edge5" class="edge"><title>54->54</title> | |
<path fill="none" stroke="black" d="M39.1472,-149.281C35.8147,-158.959 41.7656,-167.872 57,-167.872 66.5215,-167.872 72.4166,-164.39 74.6854,-159.416"/> | |
<polygon fill="black" stroke="black" points="74.8528,-149.281 79.187,-159.354 74.7702,-154.281 74.6876,-159.28 74.6876,-159.28 74.6876,-159.28 74.7702,-154.281 70.1882,-159.206 74.8528,-149.281 74.8528,-149.281"/> | |
<text text-anchor="middle" x="57" y="-172.072" font-family="Times,serif" font-size="14.00">manager</text> | |
</g> | |
<!-- 56 --> | |
<g id="CatTheoryInstance/Department[@roleName='s']" class="node"><title>56</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="265" cy="-163.872" rx="62.5788" ry="18"/> | |
<text text-anchor="middle" x="265" y="-159.672" font-family="Times,serif" font-size="14.00">s Department</text> | |
</g> | |
<!-- 54->56 --> | |
<g id="CatTheoryInstance_edge6" class="edge"><title>54->56</title> | |
<path fill="none" stroke="black" d="M106.924,-140.686C115.283,-142.129 123.885,-143.575 132,-144.872 153.416,-148.293 176.833,-151.755 197.919,-154.769"/> | |
<polygon fill="black" stroke="black" points="208.064,-156.21 197.53,-159.259 203.113,-155.507 198.163,-154.803 198.163,-154.803 198.163,-154.803 203.113,-155.507 198.796,-150.348 208.064,-156.21 208.064,-156.21"/> | |
<text text-anchor="middle" x="158" y="-157.072" font-family="Times,serif" font-size="14.00">worksIn</text> | |
</g> | |
<!-- 56->54 --> | |
<g id="CatTheoryInstance_edge8" class="edge"><title>56->54</title> | |
<path fill="none" stroke="black" d="M231.676,-148.592C222.077,-143.958 211.572,-138.79 202,-133.872 193.898,-129.709 192.827,-126.319 184,-124.072 161.906,-118.447 136.962,-118.681 115.133,-120.942"/> | |
<polygon fill="black" stroke="black" points="105.02,-122.153 114.414,-116.496 109.985,-121.558 114.949,-120.964 114.949,-120.964 114.949,-120.964 109.985,-121.558 115.485,-125.432 105.02,-122.153 105.02,-122.153"/> | |
<text text-anchor="middle" x="158" y="-129.072" font-family="Times,serif" font-size="14.00">secretary</text> | |
</g> | |
</g> | |
</svg> | |
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient> | |
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml, | |
<?xml-stylesheet href="Xholon.css" type="text/css"?> | |
<!-- Generated by graphviz version 2.28.0 (20140111.2315) | |
--> | |
<!-- Title: 47 Pages: 1 --> | |
<svg width="548pt" height="519pt" | |
viewBox="0.00 0.00 548.43 518.80" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | |
<g id="CattSystem" class="graph" transform="scale(1 1) rotate(0) translate(4 514.8)"> | |
<title>47</title> | |
<polygon fill="white" stroke="none" points="-4,4 -4,-514.8 544.429,-514.8 544.429,4 -4,4"/> | |
<text text-anchor="middle" x="270.215" y="-8.2" font-family="Times,serif" font-size="14.00">CattSystem</text> | |
<!-- 48 --> | |
<g id="CattSystem/CatTheorySchema/string" class="node"><title>48</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="317" cy="-42.8" rx="33.0468" ry="18"/> | |
<text text-anchor="middle" x="317" y="-38.6" font-family="Times,serif" font-size="14.00">string</text> | |
</g> | |
<!-- 49 --> | |
<g id="CattSystem/CatTheorySchema/nat" class="node"><title>49</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="496" cy="-132.8" rx="27" ry="18"/> | |
<text text-anchor="middle" x="496" y="-128.6" font-family="Times,serif" font-size="14.00">nat</text> | |
</g> | |
<!-- 50 --> | |
<g id="CattSystem/CatTheorySchema/Employee" class="node"><title>50</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="338" cy="-222.8" rx="50.2862" ry="18"/> | |
<text text-anchor="middle" x="338" y="-218.6" font-family="Times,serif" font-size="14.00">Employee</text> | |
</g> | |
<!-- 50->48 --> | |
<g id="CattSystem_edge3" class="edge"><title>50->48</title> | |
<path fill="none" stroke="black" d="M335.986,-204.733C332.333,-173.766 324.586,-108.099 320.201,-70.9292"/> | |
<polygon fill="black" stroke="black" points="319.007,-60.8157 324.648,-70.2196 319.593,-65.7813 320.179,-70.7468 320.179,-70.7468 320.179,-70.7468 319.593,-65.7813 315.71,-71.2741 319.007,-60.8157 319.007,-60.8157"/> | |
<text text-anchor="middle" x="344.774" y="-128.6" font-family="Times,serif" font-size="14.00">first_</text> | |
</g> | |
<!-- 50->48 --> | |
<g id="CattSystem_edge4" class="edge"><title>50->48</title> | |
<path fill="none" stroke="black" d="M346.695,-204.952C356.491,-183.729 369.95,-146.232 361,-114.8 356.16,-97.802 345.956,-80.8967 336.592,-67.8484"/> | |
<polygon fill="black" stroke="black" points="330.32,-59.4774 339.918,-64.7819 333.318,-63.4788 336.316,-67.4802 336.316,-67.4802 336.316,-67.4802 333.318,-63.4788 332.715,-70.1785 330.32,-59.4774 330.32,-59.4774"/> | |
<text text-anchor="middle" x="376.22" y="-128.6" font-family="Times,serif" font-size="14.00">last_</text> | |
</g> | |
<!-- 50->49 --> | |
<g id="CattSystem_edge5" class="edge"><title>50->49</title> | |
<path fill="none" stroke="black" d="M387.402,-219.012C434.589,-215.193 500.847,-206.417 517,-186.8 524.104,-178.172 520.855,-166.844 515.004,-156.876"/> | |
<polygon fill="black" stroke="black" points="509.387,-148.568 518.716,-154.332 512.188,-152.71 514.988,-156.852 514.988,-156.852 514.988,-156.852 512.188,-152.71 511.261,-159.373 509.387,-148.568 509.387,-148.568"/> | |
<text text-anchor="middle" x="530.715" y="-173.6" font-family="Times,serif" font-size="14.00">age</text> | |
</g> | |
<!-- 50->49 --> | |
<g id="CattSystem_edge6" class="edge"><title>50->49</title> | |
<path fill="none" stroke="black" d="M363.481,-207.261C373.294,-201.309 384.434,-194.108 394,-186.8 403.366,-179.645 403.574,-175.196 413.474,-168.8 428.594,-159.032 446.897,-150.946 462.421,-145.016"/> | |
<polygon fill="black" stroke="black" points="472.16,-141.434 464.328,-149.109 467.467,-143.16 462.774,-144.886 462.774,-144.886 462.774,-144.886 467.467,-143.16 461.221,-140.662 472.16,-141.434 472.16,-141.434"/> | |
<text text-anchor="middle" x="462.763" y="-173.6" font-family="Times,serif" font-size="14.00">cummulative_age</text> | |
</g> | |
<!-- 50->50 --> | |
<g id="CattSystem_edge1" class="edge"><title>50->50</title> | |
<path fill="none" stroke="black" d="M382.797,-231.025C395.872,-230.741 406,-227.999 406,-222.8 406,-219.063 400.768,-216.596 392.97,-215.398"/> | |
<polygon fill="black" stroke="black" points="382.797,-214.575 393.128,-210.896 387.781,-214.978 392.765,-215.381 392.765,-215.381 392.765,-215.381 387.781,-214.978 392.402,-219.867 382.797,-214.575 382.797,-214.575"/> | |
<text text-anchor="middle" x="430.097" y="-218.6" font-family="Times,serif" font-size="14.00">manager</text> | |
</g> | |
<!-- 51 --> | |
<g id="CattSystem/CatTheorySchema/Department" class="node"><title>51</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="203" cy="-132.8" rx="56.4284" ry="18"/> | |
<text text-anchor="middle" x="203" y="-128.6" font-family="Times,serif" font-size="14.00">Department</text> | |
</g> | |
<!-- 50->51 --> | |
<g id="CattSystem_edge2" class="edge"><title>50->51</title> | |
<path fill="none" stroke="black" d="M291.808,-215.706C257.585,-210.143 215.067,-200.66 204.128,-186.8 198.472,-179.634 197.03,-170.065 197.385,-161.031"/> | |
<polygon fill="black" stroke="black" points="198.482,-150.846 201.885,-161.271 197.946,-155.818 197.411,-160.789 197.411,-160.789 197.411,-160.789 197.946,-155.818 192.936,-160.306 198.482,-150.846 198.482,-150.846"/> | |
<text text-anchor="middle" x="227.936" y="-173.6" font-family="Times,serif" font-size="14.00">worksIn</text> | |
</g> | |
<!-- 51->48 --> | |
<g id="CattSystem_edge8" class="edge"><title>51->48</title> | |
<path fill="none" stroke="black" d="M221.237,-115.515C233.528,-104.757 250.254,-90.5326 265.68,-78.8 272.714,-73.4507 280.502,-67.9401 287.842,-62.9195"/> | |
<polygon fill="black" stroke="black" points="296.18,-57.2899 290.41,-66.6153 292.036,-60.0878 287.892,-62.8858 287.892,-62.8858 287.892,-62.8858 292.036,-60.0878 285.374,-59.1563 296.18,-57.2899 296.18,-57.2899"/> | |
<text text-anchor="middle" x="284.66" y="-83.6" font-family="Times,serif" font-size="14.00">name_</text> | |
</g> | |
<!-- 51->50 --> | |
<g id="CattSystem_edge7" class="edge"><title>51->50</title> | |
<path fill="none" stroke="black" d="M224.573,-149.768C232.577,-155.718 241.72,-162.545 250,-168.8 260.493,-176.728 262.453,-179.642 273.485,-186.8 282.144,-192.418 291.782,-197.984 300.913,-202.97"/> | |
<polygon fill="black" stroke="black" points="309.82,-207.742 298.88,-206.986 305.413,-205.381 301.005,-203.019 301.005,-203.019 301.005,-203.019 305.413,-205.381 303.131,-199.053 309.82,-207.742 309.82,-207.742"/> | |
<text text-anchor="middle" x="299.257" y="-173.6" font-family="Times,serif" font-size="14.00">secretary</text> | |
</g> | |
<!-- 52 --> | |
<g id="CattSystem/CatTheoryInstance/Employee[@roleName='a']" class="node"><title>52</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="338" cy="-492.8" rx="27" ry="18"/> | |
<text text-anchor="middle" x="338" y="-488.6" font-family="Times,serif" font-size="14.00">a</text> | |
</g> | |
<!-- 52->50 --> | |
<g id="CattSystem_edge17" class="edge"><title>52->50</title> | |
<path fill="none" stroke="black" d="M352.386,-477.247C364.535,-463.855 381.034,-442.79 388,-420.8 393.632,-403.02 399.57,-334.369 387,-294.8 381.532,-277.588 370.343,-260.837 360.036,-247.933"/> | |
<polygon fill="black" stroke="black" points="353.46,-240.042 363.319,-244.843 356.661,-243.883 359.862,-247.724 359.862,-247.724 359.862,-247.724 356.661,-243.883 356.405,-250.605 353.46,-240.042 353.46,-240.042"/> | |
<text text-anchor="middle" x="414.99" y="-353.6" font-family="Times,serif" font-size="14.00">schema</text> | |
</g> | |
<!-- 54 --> | |
<g id="CattSystem/CatTheoryInstance/Employee[@roleName='b']" class="node"><title>54</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="285" cy="-312.8" rx="27" ry="18"/> | |
<text text-anchor="middle" x="285" y="-308.6" font-family="Times,serif" font-size="14.00">b</text> | |
</g> | |
<!-- 52->54 --> | |
<g id="CattSystem_edge9" class="edge"><title>52->54</title> | |
<path fill="none" stroke="black" d="M338.417,-474.61C338.439,-446.814 335.741,-390.868 316,-348.8 313.773,-344.053 310.696,-339.474 307.34,-335.279"/> | |
<polygon fill="black" stroke="black" points="300.692,-327.745 310.682,-332.266 304,-331.494 307.308,-335.243 307.308,-335.243 307.308,-335.243 304,-331.494 303.934,-338.221 300.692,-327.745 300.692,-327.745"/> | |
<text text-anchor="middle" x="360.098" y="-398.6" font-family="Times,serif" font-size="14.00">manager</text> | |
</g> | |
<!-- 58 --> | |
<g id="CattSystem/CatTheoryInstance/Department[@roleName='m']" class="node"><title>58</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="239" cy="-402.8" rx="27" ry="18"/> | |
<text text-anchor="middle" x="239" y="-398.6" font-family="Times,serif" font-size="14.00">m</text> | |
</g> | |
<!-- 52->58 --> | |
<g id="CattSystem_edge10" class="edge"><title>52->58</title> | |
<path fill="none" stroke="black" d="M316.378,-481.88C304.327,-475.713 289.503,-467.019 278.128,-456.8 269.008,-448.607 260.666,-437.983 254.049,-428.401"/> | |
<polygon fill="black" stroke="black" points="248.484,-419.993 257.756,-425.848 251.243,-424.162 254.003,-428.332 254.003,-428.332 254.003,-428.332 251.243,-424.162 250.25,-430.816 248.484,-419.993 248.484,-419.993"/> | |
<text text-anchor="middle" x="301.936" y="-443.6" font-family="Times,serif" font-size="14.00">worksIn</text> | |
</g> | |
<!-- 54->50 --> | |
<g id="CattSystem_edge18" class="edge"><title>54->50</title> | |
<path fill="none" stroke="black" d="M294.721,-295.659C302.492,-282.757 313.533,-264.425 322.518,-249.507"/> | |
<polygon fill="black" stroke="black" points="327.799,-240.738 326.494,-251.626 325.219,-245.021 322.639,-249.304 322.639,-249.304 322.639,-249.304 325.219,-245.021 318.785,-246.983 327.799,-240.738 327.799,-240.738"/> | |
<text text-anchor="middle" x="337.99" y="-263.6" font-family="Times,serif" font-size="14.00">schema</text> | |
</g> | |
<!-- 54->54 --> | |
<g id="CattSystem_edge11" class="edge"><title>54->54</title> | |
<path fill="none" stroke="black" d="M309.532,-320.921C320.508,-321.695 330,-318.988 330,-312.8 330,-308.643 325.715,-306.057 319.574,-305.042"/> | |
<polygon fill="black" stroke="black" points="309.532,-304.679 319.688,-300.543 314.529,-304.859 319.526,-305.04 319.526,-305.04 319.526,-305.04 314.529,-304.859 319.363,-309.537 309.532,-304.679 309.532,-304.679"/> | |
<text text-anchor="middle" x="354.098" y="-308.6" font-family="Times,serif" font-size="14.00">manager</text> | |
</g> | |
<!-- 54->58 --> | |
<g id="CattSystem_edge12" class="edge"><title>54->58</title> | |
<path fill="none" stroke="black" d="M276.461,-330.136C269.666,-343.135 260.039,-361.552 252.245,-376.461"/> | |
<polygon fill="black" stroke="black" points="247.437,-385.659 248.082,-374.713 249.753,-381.228 252.07,-376.797 252.07,-376.797 252.07,-376.797 249.753,-381.228 256.058,-378.882 247.437,-385.659 247.437,-385.659"/> | |
<text text-anchor="middle" x="289.936" y="-353.6" font-family="Times,serif" font-size="14.00">worksIn</text> | |
</g> | |
<!-- 58->51 --> | |
<g id="CattSystem_edge20" class="edge"><title>58->51</title> | |
<path fill="none" stroke="black" d="M220.115,-389.747C211.995,-383.724 203.009,-375.799 197,-366.8 173.739,-331.964 175.31,-318.214 169.021,-276.8 162.75,-235.501 178.393,-188.547 190.488,-160.058"/> | |
<polygon fill="black" stroke="black" points="194.577,-150.79 194.657,-161.755 192.558,-155.364 190.54,-159.939 190.54,-159.939 190.54,-159.939 192.558,-155.364 186.423,-158.123 194.577,-150.79 194.577,-150.79"/> | |
<text text-anchor="middle" x="190.989" y="-263.6" font-family="Times,serif" font-size="14.00">schema</text> | |
</g> | |
<!-- 58->54 --> | |
<g id="CattSystem_edge15" class="edge"><title>58->54</title> | |
<path fill="none" stroke="black" d="M221.074,-389.2C208.108,-378.485 194.344,-362.673 203.485,-348.8 213.59,-333.464 231.969,-324.821 248.72,-319.963"/> | |
<polygon fill="black" stroke="black" points="258.852,-317.402 250.26,-324.216 254.004,-318.627 249.157,-319.853 249.157,-319.853 249.157,-319.853 254.004,-318.627 248.054,-315.49 258.852,-317.402 258.852,-317.402"/> | |
<text text-anchor="middle" x="229.257" y="-353.6" font-family="Times,serif" font-size="14.00">secretary</text> | |
</g> | |
<!-- 56 --> | |
<g id="CattSystem/CatTheoryInstance/Employee[@roleName='c']" class="node"><title>56</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="49" cy="-312.8" rx="27" ry="18"/> | |
<text text-anchor="middle" x="49" y="-308.6" font-family="Times,serif" font-size="14.00">c</text> | |
</g> | |
<!-- 56->50 --> | |
<g id="CattSystem_edge19" class="edge"><title>56->50</title> | |
<path fill="none" stroke="black" d="M75.2926,-307.918C108.377,-302.657 166.714,-292.125 215,-276.8 231.299,-271.627 269.471,-254.903 299.002,-241.609"/> | |
<polygon fill="black" stroke="black" points="308.247,-237.432 300.987,-245.65 303.691,-239.491 299.134,-241.549 299.134,-241.549 299.134,-241.549 303.691,-239.491 297.281,-237.448 308.247,-237.432 308.247,-237.432"/> | |
<text text-anchor="middle" x="278.99" y="-263.6" font-family="Times,serif" font-size="14.00">schema</text> | |
</g> | |
<!-- 56->56 --> | |
<g id="CattSystem_edge13" class="edge"><title>56->56</title> | |
<path fill="none" stroke="black" d="M73.5325,-320.921C84.5078,-321.695 94,-318.988 94,-312.8 94,-308.643 89.7151,-306.057 83.5743,-305.042"/> | |
<polygon fill="black" stroke="black" points="73.5325,-304.679 83.6885,-300.543 78.5292,-304.859 83.5259,-305.04 83.5259,-305.04 83.5259,-305.04 78.5292,-304.859 83.3634,-309.537 73.5325,-304.679 73.5325,-304.679"/> | |
<text text-anchor="middle" x="118.097" y="-308.6" font-family="Times,serif" font-size="14.00">manager</text> | |
</g> | |
<!-- 60 --> | |
<g id="CattSystem/CatTheoryInstance/Department[@roleName='s']" class="node"><title>60</title> | |
<ellipse fill="#f0f8ff" stroke="black" cx="27" cy="-402.8" rx="27" ry="18"/> | |
<text text-anchor="middle" x="27" y="-398.6" font-family="Times,serif" font-size="14.00">s</text> | |
</g> | |
<!-- 56->60 --> | |
<g id="CattSystem_edge14" class="edge"><title>56->60</title> | |
<path fill="none" stroke="black" d="M65.3104,-327.64C75.768,-338.271 86.1545,-353.36 79,-366.8 74.4185,-375.406 66.6747,-382.276 58.5432,-387.569"/> | |
<polygon fill="black" stroke="black" points="49.6989,-392.703 56.0884,-383.791 54.0232,-390.193 58.3475,-387.683 58.3475,-387.683 58.3475,-387.683 54.0232,-390.193 60.6066,-391.575 49.6989,-392.703 49.6989,-392.703"/> | |
<text text-anchor="middle" x="104.936" y="-353.6" font-family="Times,serif" font-size="14.00">worksIn</text> | |
</g> | |
<!-- 60->51 --> | |
<g id="CattSystem_edge21" class="edge"><title>60->51</title> | |
<path fill="none" stroke="black" d="M19.5423,-385.377C10.8195,-363.626 -0.784024,-324.547 13,-294.8 44.036,-227.821 118.188,-178.569 164.139,-153.192"/> | |
<polygon fill="black" stroke="black" points="173.211,-148.289 166.553,-157.002 168.812,-150.666 164.414,-153.044 164.414,-153.044 164.414,-153.044 168.812,-150.666 162.274,-149.085 173.211,-148.289 173.211,-148.289"/> | |
<text text-anchor="middle" x="55.9895" y="-263.6" font-family="Times,serif" font-size="14.00">schema</text> | |
</g> | |
<!-- 60->56 --> | |
<g id="CattSystem_edge16" class="edge"><title>60->56</title> | |
<path fill="none" stroke="black" d="M23.2273,-384.704C21.6108,-374.125 20.8279,-360.396 24.4852,-348.8 25.7299,-344.853 27.5961,-340.965 29.7538,-337.297"/> | |
<polygon fill="black" stroke="black" points="35.5302,-328.724 33.674,-339.532 32.7361,-332.871 29.9421,-337.017 29.9421,-337.017 29.9421,-337.017 32.7361,-332.871 26.2103,-334.503 35.5302,-328.724 35.5302,-328.724"/> | |
<text text-anchor="middle" x="50.2574" y="-353.6" font-family="Times,serif" font-size="14.00">secretary</text> | |
</g> | |
</g> | |
</svg> | |
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient> | |
</XholonWorkbook> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment