A system for analyzing data to rank search results, comprising:
- a data source;
- a data inventory in communication with the data source, wherein the data inventory comprises a plurality of objects, said plurality of objects including at least one data object, and at least one interrelation object including link statements that provide a link between interrelated data objects,
- wherein each link statement includes a reference to:
- first and second data objects of the data inventory;
- and
- a weight value;
- a processor embodied in hardware in communication with said data source and said data inventory;
- software executing on said processor for establishing interrelation objects in said data inventory, said software utilizing interrelation requests,
- wherein each interrelation object is established based on at least one of syntactic comparison, semantic comparison, and pattern analysis to generate link statements representing interrelations between data objects of the data inventory,
- wherein said syntactic comparison includes:
- executing a search query with keys associated with a given data object,
- compiling at least one interrelation object that includes one or more link statements representing weighted interrelations for each search result of the search query, and
- storing the at least one compiled interrelation object in said data inventory;
- wherein said semantic comparison includes:
- retrieving a previously user selected object in said data inventory represented by a data object from a tracker of user actions,
- compiling or modifying at least one interrelation object that includes one or more link statements representing a weighted interrelation between the previously user selected object and a given data object, and
- storing the at least one compiled or modified interrelation object said data inventory;
- wherein said pattern analysis includes:
- extracting a list of words associated with a given data object,
- sorting the list of words in ascending order according to their frequency,
- executing a search query with a defined number of top words,
- compiling at least one interrelation object that includes one or more link statements representing weighted interrelations for each search result of the search query, and
- storing the at least one compiled interrelation object in said data inventory;
- a search query;
- software executing on said processor for ranking search results of said search query by determining, for each search result of said search query, a relevance score based at least in part on a total number of interrelated objects having reference to a given search result, or on an amount of time a user previously viewed a given search result during a prior search query, or both;
- and
- a user interface connected to said processor configured to present a visual representation of said search results in a ranked order to a user based on each respective relevance score.