Nested part feature represents the concept of hierarchy to edje.
A nested part inherits it's location relatively to the parent part. Thus, parent part modifications such move or map effects all nested parts. To declare a nested part just start a new part declaration within (before closing) the current part declaration.
Note that nested part declaration is allowed only after current part name is defined.
Here's an example of a rect nested in other rect plus inner nested rect: 
collections {
   group {
      name: "main";
      parts {
         part {
            type: RECT;
            name: "red_rect";
            description {
               state: "default" 0.0;
               color: 255 0 0 255;
               rel1.relative: 0.2 0.1;
               rel2.relative: 0.4 0.8;
            }
            part {   /* This rect is nested in red_rect */
               type: RECT;
               name: "green_rect";
               description {
                  state: "default" 0.0;
                  color: 0 255 0 255;
                  rel2.relative: 0.8 0.5;
               }
               part {   /* This rect is nested in green_rect */
                  type: RECT;
                  name: "blue_rect";
                  description {
                     state: "default" 0.0;
                     color: 0 0 255 255;
                     align: 1.0 1.0;
                     rel1.relative: 0.5 0.5;
                     rel2.relative: 1.0 1.0;
                  }
               }
            }
         }
      }
   }
}
The example's window should look like this picture: