Heterogeneous record search apparatus and method
First Claim
1. An apparatus for querying a database comprising records, the apparatus comprising a digital computer having a processor operably connected to a memory device storing modules executable on the processor and data structures containing data associated with the modules, the modules and data structures comprising:
- arbitrarily structured records stored in the memory device;
a query structure stored in the memory device and representing a selection criterion; and
a query engine module stored in the memory device to be executable by the processor to build the query structure and to retrieve indicia of records satisfying the query.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus disclosed may be implemented in a digital computer to query a set of arbitrarily structured records. Arbitrarily structured records are structured differently from each other. A query engine, query structure, operators of conventional and non-conventional types may be used in formulating a query. The apparatus may evaluate records having missing fields, repeating fields, or an UNKNOWN value arising from a missing field, division by zero, modulo by zero, or the like. New aggregator (e.g. universal quantifier and existential quantifier) and selector operators (e.g., first, last, nth) may distill multiple values to return a single value. To evaluate a query, the search engine may implement filtered indices, alternate-key indices, compound alternate-key indices, hybrid queries having both full-text and non-full text operands, and joinder of records. Certain of these features may be implemented for evaluating records from both prior art databases and heterogeneous databases of arbitrarily structured records.
112 Citations
51 Claims
-
1. An apparatus for querying a database comprising records, the apparatus comprising a digital computer having a processor operably connected to a memory device storing modules executable on the processor and data structures containing data associated with the modules, the modules and data structures comprising:
-
arbitrarily structured records stored in the memory device; a query structure stored in the memory device and representing a selection criterion; and a query engine module stored in the memory device to be executable by the processor to build the query structure and to retrieve indicia of records satisfying the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method of querying arbitrarily structured records in a database, the method being implemented in a query engine, the query engine being executable by a processor operably connected to a memory device, and the method comprising the following steps executed in an order and repetition determined by the query engine:
-
building, in a memory device, a query structure containing a selection criterion and information defining a query; retrieving indicia of records from the database in accordance with the query structure; evaluating each of the indicia according to the selection criterion to determine whether the indicia satisfy the selection criterion; and returning selected indicia that satisfy the selection criterion. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A memory device storing data structures containing executables, and data associated therewith, the executables being effective to be executed by a processor operably connected to the memory device, the data structures comprising:
-
arbitrarily structured records stored in the memory device; a query structure stored in the memory device and representing a selection criterion; and a query engine data structure stored in the memory device to be executable by the processor to build the query structure and to retrieve indicia of records satisfying the query. - View Dependent Claims (48, 49, 50)
-
-
51. An apparatus for querying arbitrarily structured records in a database, the apparatus comprising:
-
a processor for executing a query engine; a memory device, operably connected to the processor, the memory device containing the query engine, a query structure associated therewith, a selection criterion, and information defining a query corresponding to the selection criterion; a storage device operably connected to the memory device and containing arbitrarily structured records in a heterogeneous database; the memory device containing indicia corresponding to the arbitrarily structured records in the heterogeneous database; the processor, wherein the query engine is effective to evaluate each of the indicia according to the selection criterion to determine whether the indicia satisfy the selection criterion; and
to return selected indicia that satisfy the selection criterion.
-
Specification