1. A method of organizing semi-structured data, the method comprising: accessing the semi-structured data that have properties; rendering the semi-structured data on a graphical user interface; receiving a user input defining, from the graphical user interface, a first graphical layout of a first number of the semi-structured data; identifying a second number of the semi-structured data having properties similar to the properties of the first number of the semi-structured data; and rearranging a second graphical layout of the identified second number of the semi-structured data to match the first graphical layout.