1. A computer implemented method for matching a first object of a first type with a second object of a second type by a computer processor, comprising: providing the first object in a database, wherein the first object includes a hierarchical data structure including a plurality of qualification data objects; creating, in the database, a qualification block catalogue containing definitions of a plurality of qualifications blocks, each qualifications block including a set of qualification data objects that specify the qualification block, wherein the qualification block catalogue is separate from the first object; comparing the hierarchical data structure of the first object against the plurality of qualifications blocks stored in the database; displaying the first object such that: if a qualification block matches a portion of the hierarchical data structure of the first object, a visual representation of the matched qualification block replaces the portion of the hierarchical data structure of the first object in the display and the matched qualification block is linked to the qualification block catalogue in the database; and if a qualification block partially matches a portion of the hierarchical data structure of the first object, a visual representation of the partially-matched qualification block replaces the portion of the hierarchical data structure of the first object in the display along with an indicator of partial match and the displayed qualification block is linked to the qualification block catalogue in the database; and matching the first object to the second object based on the set of qualifications associated with at least one qualifications block.