1. A computer implemented method of indexing ontological subjects comprising: a. getting at least one composition of ontological subjects describing a universe, b. partitioning the at least one composition to at least one partition; c. extracting at least some of ontological subjects of said at least one composition; d. evaluating numerically an association value for a selected number of pairs of ontological subjects, using data information of co-occurrence of each of said pairs in said at least one partition of said composition; e. selecting a first set of ontological subject, having at least one member, and selecting a number of first associated sets of ontological subject, each of said first associated set having at least one member, wherein each of said first associated sets is corresponded to a member of the first set, wherein each member of each set of said first associated sets having association value greater than a predetermined threshold with at least one member of the first set; f. indexing the members of the first set and the members of said first associated sets in a multilayer index or one or more corresponding data arrays; g. selecting a second set of ontological subject, having at least one member, from members of the first associated sets, and select a number of second associated sets, each of said second associated sets having at least one member, wherein each of the second associated sets is corresponded to a member of the second set, wherein each member of each set of said second associated sets having association value greater than a predetermined threshold with at least one member of the second set; h. indexing the members of the second associated sets in next layer of the index or the one or more corresponding data arrays and i. repeating the step g to form a next set of ontological subjects from the members of the last associated sets of ontological subject of the last set of selected ontological subjects, forming a next associated sets and indexing the ontological subject of the said next associated sets by repeating the step h, wherein the term the second is replaced with the third, the forth and so on, and j. storing the index or the one or more data arrays onto one or more storage means.