System and method of joining data obtained from horizontally and vertically partitioned heterogeneous data stores using string-based location transparent search expressions
First Claim
1. A method for performing a search of a virtual repository formed from one or more repositories, the method comprising:
- receiving a string-based search expression;
generating an expression tree of nodes based on the string-based search expression, one of the nodes of the expression tree being an attribute node that corresponds to an attribute included in the string-based search expression; and
associating metadata with the attribute node in the expression tree, the metadata identifying one or more repositories of the virtual repository that support the attribute represented by that attribute node.
1 Assignment
0 Petitions
Accused Products
Abstract
Described are a system and method for accepting a string-based search expression, parsing the search expression into an expression tree, distributing the tree (or portion thereof) across heterogeneous repositories, and merging the results. The system is data-location transparent, encapsulates a federation model within query nodes and query trees. A client application produces and issues the search expression to the system. One type of expression tree node is an attribute node corresponding to an attribute included in the search expression. Metadata is associated with the attribute node for identifying each repository that supports the attribute represented by that attribute node. A call passes to the expression tree to perform the search, which occurs in a recursive-descent traversal of the tree. The search completes in a single tree traversal. Sub-trees receive a relevant portion of the search expression to translate into a query expression specific for each type of searched repository.
47 Citations
22 Claims
-
1. A method for performing a search of a virtual repository formed from one or more repositories, the method comprising:
-
receiving a string-based search expression;
generating an expression tree of nodes based on the string-based search expression, one of the nodes of the expression tree being an attribute node that corresponds to an attribute included in the string-based search expression; and
associating metadata with the attribute node in the expression tree, the metadata identifying one or more repositories of the virtual repository that support the attribute represented by that attribute node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
- 10. A server system, comprising a query processor receiving a string-based search expression, the query processor including a parser for generating an expression tree of nodes based on the string-based search expression, one of the nodes of the expression tree being an attribute node that corresponds to an attribute included in the string-based search expression, the parser identifying one or more repositories that support the attribute and associating the attribute node with metadata that links the attribute node with the identified one or more repositories.
-
15. A computer program product for use with a computer system, the computer program product comprising a computer useable medium having embodied therein program code comprising:
-
program code for receiving a string-based search expression;
program code for generating an expression tree of nodes based on the string-based search expression, one of the nodes of the expression tree being an attribute node that corresponds to an attribute included in the string-based search expression; and
program code for associating metadata with the attribute node in the expression tree, the metadata identifying one or more repositories that support the attribute represented by that attribute node. - View Dependent Claims (16, 17, 18)
-
-
19. A computer data signal embodied in a carrier wave for use with a computer system having a display and capable of generating a user interface through which a user may interact with the computer system, the computer data signal comprising:
-
program code for receiving a string-based search expression;
program code for generating an expression tree of nodes based on the string-based search expression, one of the nodes of the expression tree being an attribute node that corresponds to an attribute included in the string-based search expression; and
program code for associating metadata with the attribute node in the expression tree, the metadata identifying one or more repositories that support the attribute represented by that attribute node. - View Dependent Claims (20, 21, 22)
-
Specification