SCHEME TUPLE : contain thing thing //containment relation r_style_0 thing thing // one relation for each relation kind r_style_1 thing thing r_style_2 thing thing r_style_3 thing thing $INHERIT class2 thing //create some extra classes, borrowing $INHERIT class3 thing //properties of class "thing" SCHEME ATTRIBUTE : // EntityClass attributes $ENTITY { //$ENTITY is the parent of all other entity classes //its attributes are propagated throughout color = (0.0 0.0 1.0) labelcolor = (0.0 1.0 1.0) heightrel xrel label widthrel yrel style = 0 // 3D box. } thing { color = (0.8 0.9019607843137255 0.9019607843137255) opencolor = (0.0 0.0 0.8) //open color of blue labelcolor = (0.0 0.0 0.0) // black labels elision = contain // hide contents by default class_style = 1 // 2D box class_description = "generic entity" class_label = "The Thing" // this string will be used to identify the class } class2 { class_label = Ellipse class_style = 5 // ellipse } class3 { class_label = "Rounded Rectangle" class_style = 6 } ($RELATION) //all relations inherit from $RELATION { color = (0.0 0.0 0.0) //black } (r_style_3) { class_label = "Invisible relation" class_style = 3 } (r_style_2) { class_label = "Dotted relation" class_style = 2 } (r_style_1) { class_label = "Dashed relation" class_style = 1 color = (1.0 0.0 0.0) // red } (r_style_0) { class_label = "Solid relation" class_style = 0 } FACT TUPLE : // Instances of entity classes $INSTANCE thing44 thing $INSTANCE thing33 thing $INSTANCE thing22 thing $INSTANCE thing11 thing $INSTANCE thing3 thing $INSTANCE thing2 thing $INSTANCE thing1 thing $INSTANCE thing0 thing // note that these two entities have no coordinates or sizes - they will be placed // by LSEdit automatically. $INSTANCE an_ellipse class2 $INSTANCE a_rectangle class3 r_style_3 thing44 thing3 r_style_2 thing33 thing2 r_style_1 thing22 thing1 r_style_0 thing11 thing0 FACT ATTRIBUTE : // the implicit root of the landscape, // $ROOT entity has no class and is assumed to contain everything $ROOT { xrel = 0.0 yrel = 0.0 widthrel = 1.0 heightrel = 1.0 color = (0.7490196078431373 0.7490196078431373 0.7490196078431373) topclients = true wantsuppliers = true wantclients = true wantcardinals = false edgemode = 2 } // the coordinates are obviously computer-generated thing44 { xrel = 0.7975334018499486 yrel = 0.2138200782268579 widthrel = 0.16135662898252826 heightrel = 0.1590612777053455 label = "style 3" elision = (contain) fontdelta = 6 } // color of relations between entities can be individually set. (r_style_3 thing44 thing3) { color = (0.2 0.0 0.2) } thing33 { xrel = 0.5477903391572456 yrel = 0.2138200782268579 widthrel = 0.16135662898252826 heightrel = 0.1590612777053455 label = "style 2" elision = (contain) fontdelta = 6 } thing22 { xrel = 0.2970195272353546 yrel = 0.2138200782268579 widthrel = 0.16135662898252826 heightrel = 0.1590612777053455 label = "style 1" elision = (contain) fontdelta = 6 } thing11 { xrel = 0.047276464542651594 yrel = 0.2138200782268579 widthrel = 0.16135662898252826 heightrel = 0.1590612777053455 label = "style 0" elision = (contain) fontdelta = 6 } thing3 { xrel = 0.7975334018499486 yrel = 0.7131681877444589 widthrel = 0.16135662898252826 heightrel = 0.1590612777053455 label = "inscribed arrow" elision = (contain) fontdelta = 6 } thing2 { xrel = 0.5477903391572456 yrel = 0.7131681877444589 widthrel = 0.16135662898252826 heightrel = 0.1590612777053455 label = "dotted arrow" elision = (contain) fontdelta = 6 } thing1 { xrel = 0.2970195272353546 yrel = 0.7131681877444589 widthrel = 0.16135662898252826 heightrel = 0.1590612777053455 label = "dashed arrow" elision = (contain) fontdelta = 6 style = 6 } thing0 { xrel = 0.047276464542651594 yrel = 0.7131681877444589 widthrel = 0.16135662898252826 heightrel = 0.1590612777053455 label = "normal arrow" elision = (contain) fontdelta = 6 }