Claims
- 1. A computer-based method of representing a subset of a dataset table of rows and columns, the method comprising:
selecting a set of blocking variables corresponding to blocking columns of the dataset table such that, for each row in the dataset table, a tuple of values for the blocking columns uniquely identifies the row within the dataset table; selecting a set of non-blocking variables corresponding to columns of the subset, the set of non-blocking variables disjoint from the set of blocking variables; and creating a block information structure that includes the set of non-blocking variables and that includes, for each blocking variable in the set of blocking variables, a set of values.
- 2. The method of claim 1, wherein for each row in the subset having a tuple of values for the blocking columns, the values of the tuple are included in the corresponding sets of values for the blocking variables.
- 3. The method of claim 1, wherein the subset of the dataset table includes the entire dataset table.
- 4. The method of claim 1, wherein a sum of the number of elements in the set of non-blocking columns and in the sets of values for the blocking columns is linearly proportionate to an upper bound on binary storage requirements of the block information structure.
- 5. The method of claim 1, further comprising:
storing the block information structure on a machine-readable medium.
- 6. A computer-based method of accessing information in heterogeneous databases, the method comprising:
presenting a graphical user interface with controls representing a data cart and a plurality of datasets; receiving user input that selects a dataset to add to the data cart from the plurality of datasets; generating a block information structure specifying the dataset; and adding the block information structure to the data cart.
- 7. The method of claim 6, wherein specifying the dataset includes incorporating into the block information structure a set of non-blocking variables, a set of blocking variables, and for each such blocking variable, a set of values.
- 8. The method of claim 7, wherein the dataset includes a plurality of rows, each identified by a corresponding tuple of values from the sets of values for the blocking variables.
- 9. The method of claim 7, further comprising:
for a blocking variable in the set of blocking variables, presenting enumeration controls in the graphical user interface, each corresponding to an existing value in the dataset for the blocking variable.
- 10. The method of claim 6, further comprising:
collecting user input specifying a subset of the dataset, and representing the subset in corresponding block information structure.
- 11. The method of claim 6, further comprising:
saving the data cart to a persistent storage medium.
- 12. The method of claim 6, further comprising:
adding a second block information structure to the data cart, in response to user input.
- 13. The method of claim 6, wherein the controls representing a data cart include a symbol of a shopping cart.
- 14. A computer-based method of retrieving information represented by a blockset, the method comprising:
for each of a plurality of blocks in the blockset in which each block specifies a subset of a dataset stored in a database, connecting to the corresponding database, wherein the blockset has a plurality of blocking variables, and the blocks each include a set of non-blocking variables, and specifying includes having a set of values for each blocking variable in the plurality of blocking variables; adding to a derived table a blocking column for each blocking variable in the set of blocking variables; adding to the derived table a non-blocking column for each element in a union of the non-blocking variables in the plurality of blocks; adding a row to the derived table including a cell for each column in the derived table, the row uniquely identified by a tuple of values from the sets of values for the blocking variables; and populating a cell of a non-blocking column in the row, using a value retrieved from the database corresponding to the block, wherein the block contains the non-blocking variable corresponding to the non-blocking column.
- 15. The method of claim 14, further comprising:
adding a row for each tuple of values from the sets of values for the blocking variables, wherein the tuple occurs in at least one dataset corresponding to a block in the plurality of blocks.
- 16. The method of claim 14, wherein connecting includes using each block as a basis for a database query that specifies the corresponding subset.
- 17. The method of claim 16, wherein the database query uses Structured Query Language.
- 18. A computer-based method of representing a table derived from a blockset, the method comprising:
outputting blockset metadata describing the blockset, including fields for a blockset title and a blockset description; for a column in the table, outputting column metadata describing a variable associated with the column, wherein the variable is associated with an underlying dataset that provides data to the table in the blockset, and the column metadata includes fields for a title of the variable and for a title of the underlying dataset.
- 19. A computer-based method of collecting metadata for a dataset, the method comprising:
prompting a user to provide a database name; confirming that the database name represents a database; displaying a list of tables in the database to the user; receiving user input specifying a table in the list of tables; prompting the user to confirm that a list of blocking variables and a list of non-blocking variables are correct for the database; prompting the user to confirm metadata for the dataset and for the list of non-blocking variables; if the user confirms the list of blocking variables, the list of non-blocking variables, and the metadata, adding a dataset corresponding to the table to a collection of datasets.
- 20. The method of claim 19, wherein the metadata includes a title for the dataset.
- 21. The method of claim 19, wherein the metadata includes a description for the dataset.
- 22. The method of claim 19, wherein the metadata includes a title for a non-blocking variable in the list of non-blocking variables.
- 23. The method of claim 19, wherein the metadata includes a description for a non-blocking variable in the list of non-blocking variables.
- 24. An article comprising a machine-readable storage medium that stores executable instructions to represent a subset of a dataset table of rows and columns, the instructions causing a machine to:
select a set of blocking variables corresponding to blocking columns of the dataset table such that, for each row in the dataset table, a tuple of values for the blocking columns uniquely identifies the row within the dataset table; select a set of non-blocking variables corresponding to columns of the subset, the set of non-blocking variables disjoint from the set of blocking variables; and create a block information structure that includes the set of non-blocking variables and that includes, for each blocking variable in the set of blocking variables, a set of values.
- 25. An article comprising a machine-readable storage medium that stores executable instructions to represent a subset of a dataset table of rows and columns, the instructions causing a machine to:
present a graphical user interface with controls representing a data cart and a plurality of datasets; receive user input that selects a dataset to add to the data cart from the plurality of datasets; generate a block information structure specifying the dataset; and add the block information structure to the data cart.
CLAIM OF PRIORITY
[0001] This application claims priority under 35 USC §119(e) to U.S. Patent Application Serial No. 60/311,495, filed on Aug. 10, 2001, the entire contents of which are hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60311495 |
Aug 2001 |
US |