Method and apparatus for a data funnel interface with adjustable paths
20230054518 · 2023-02-23
Assignee
Inventors
Cpc classification
G06F16/252
PHYSICS
International classification
Abstract
A data funnel interface with adjustable paths guides end-users to information in a relational table. The interface consists of one or more categories of user data derived from the set of user attributes in the database table. Each category of user data consists of human readable data in the table that conveys values relevant to the end-user. Selecting a data item from one category establishes a logical relationship with the next set of data in an unselected category. The end-user has random access to the categories of data and he or she is always free to choose a data item that either builds on an existing pathway or starts a new one. In the interface, alongside each category is a visual cue that indicates the status of an end-user’s data selection. Upon selecting a data item from each category in the interface, the system displays a Continue button to transfer the control to a window object that displays table information. The interface and its updated display of categories of data is generated automatically.
Claims
1. A computer system proving the means for generating a data funnel interface for retrieving individual records from a database table consisting of: a configuration system that provides the means for a developer to select a table in said database system, an end-user interface that provides an underlying structure and components of said data funnel interface, a data file consisting of a subset of data from an attribute in from said database table for said data funnel interface, a retrieval routine that reads said data file to fetch said nested set of data to update a data display in said user interface. a selection routine for said data funnel interface that marks a data item selected by an end-user and that transforms a visual progress cue on said data funnel interface to a new state. whereas, providing the means for generating said data file for said data funnel interface effectively enabling said data funnel interface to be constructed entirely by automation.
2. The computer software system of claim 1, wherein said assemblage of software program logic of said data funnel interface is implemented in at least one computer language.
3. The storage structure of claim 1, wherein said storage structure is compatible with at least one data model, one data structure, and one file structure.
4. The storage structure of claim 1, wherein said storage structure establishes a logical relationship between said end-user label and said structural element of said source of data.
5. The data source of claim 1, wherein said data source is an external system that is compatible with at least one data model, one data structure, and one data file format.
6. The administrators’ interface of claim 1, wherein said administrators' interface is implemented in a computer language that is compatible with at least one graphic user interface computer language.
7. The administrators’ interface of claim 1, wherein said administrators' interface provides the means for granting and denying access at the table and attribute levels when said data source is a database system.
8. The administrators’ interface of claim 1, wherein said administrators' interface provides the program logic means for implementing a rule-based translator that can locate a character string in a technically oriented label that refers to said structural element in said data source and that can replace said character string with an EUL character string to create said end-user label.
9. The administrators’ interface of claim 8, wherein said administrators' interface provides the program logic means for managing a collection of said rule-based translator.
10. A computer software system proving the means for generating a data funnel interface for accessing individual records in a database system consisting: a configuration system that provides the means for a developer user to select a database table in said database system, a template user interface for said data funnel interface that provides a generic structure for said data funnel interface, a data file from said database table for said data funnel interface that provides an interface content for said template user interface.
11. The computer software system of claim 10, wherein said assemblage of software program logic of said data funnel interface is implemented in at least one computer language.
12. The storage structure of claim 10, wherein said storage structure is compatible with at least one data model, one data structure, and one file structure.
13. The storage structure of claim 10, wherein said storage structure establishes a logical relationship between said end-user label and said structural element of said external source of data.
14. The data source of claim 10, wherein said data source is compatible with at least one data model, one data structure, and one data file format.
15. The administrators’ interface of claim 10, wherein said administrators' interface is implemented in a computer language that is compatible with at least one graphic user interface computer language.
16. The administrators’ interface of claim 10, wherein said administrators' interface granting and denying access at the table and attribute levels when said data source is a database system.
17. The administrators’ interface of claim 10, wherein said administrators' interface implementing a rule-based translator that can locate a character string in a technically oriented label that refers to said structural element in said data source and that can replace said character string with an EUL character string to create said end-user label.
18. The administrators’ interface of claim 17, wherein said administrators' interface implementing said rule-based translator that includes providing the program logic for managing a collection of said rule-based translator.
Description
DRAWINGS BRIEF DESCRIPTION OF THE FIGURES
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
DRAWINGS - DETAILED DESCRIPTION
[0052]
[0053] In this depiction of content menu 10, the pathway starts at list menu 24 and finishes in menu 28. The user can either drill down to the bottom of the path or close a list menu 20 to move back up. An underlying data file controls the flow of data from one list to the next. From top to bottom, each pathway is fixed.
[0054] The new art of data funnel interface 40 is depicted in
[0055] As one would expect, interface 40 introduces a new interactive user experience. One part of this new experience comes from the new features in interface 40. Another part comes from the underlying data files that constantly update the new view in any of the unselected categories.
[0056] This new view of the data in a table is the data funnel network presented in
[0057] A second critical feature of interface 40 focuses on how its display renders to different screen sizes. The new interface 40 displays one or more category 50 of data. In
[0058] Each category 50 of data (or attribute) represents a well-defined attribute in table 60. The data values for each category 50 represent a human readable property of the information modeled by table 60. Date describes this data as being responsible for user predicates, or expressions that relate to the user, as opposed to system predicates, or keys, that refer to strictly to the operations of the database system.
[0059] On interface 40, each category 50 is bound by a well-marked region. Each region has a label that describes its data in easy-to-understand terms. It also has a bullet graphic that signals a work-in-progress status. A black bullet 53 signals that the user has selected a data value associated with category 50. A white bullet 52, in contrast, indicates that a selection still needs to be made.
[0060] The data display in interface 40 is contextualized and context sensitive. When a user clicks a cursor 55 in a category 50 region, the software for interface 40 displays a pop-up window 57 of data values. Depending on the size of the data list, this pop-up window has an overlapping display for small sizes, such as 6 or fewer items, or a pop-up window that covers the entire screen.
[0061] The list of data values in window 57 include black font items, like small, medium, and large, as well as fonts in a light-gray color, such X-large. A black font data value represents an option logically associated with a prior selection made in the Shape category 50. Alternatively, a light-gray font data value restarts the pathway at the current SIZE category as a new beginning point.
[0062] Subsequently, the use of black bullets 53 and white bullets 52 alongside each category label in interface 40 provides the user with a “to do” list. It designates the data selections made so far from the other categories that still need a data selection.
[0063] One other feature of interface 40 needs further explanation. In both
[0064] Interface 40 is constructed using a “configure, not code” approach. The components of interface 40 that a developer user can configure on setup include a title 45 that informs the end-user on the purpose of the form. They also include an instruction 47 that tells the user what it expects the him or her to do. The details of the configuration process include the forms presented in
[0065] In
[0066] In table 60, the ID attribute 70 manages the primary key values for each row. In keeping with relational theory, each value in ID 70 is unique and none of its values are null. Date describes this attribute and its data in terms of system predicates, pp 261-263. Throughout the preferred embodiment of this new art, a single table attribute manages the primary key values. In alternative embodiments, more than one table attribute can represent a primary key.
[0067] The remaining attributes in table 60 are COLOR 62, SIZE 65, WEIGHT 67, and SHAPE 69. All these attributes manage a specific type of data associated with the present invention. These data values represent the human readable properties of the entities modeled by the database table. Date refers to this data in terms of user predicates. Subsequently, the inventor identifies this type of data as user data 64.
[0068] In
TABLE-US-00001 SELECT SIZE From Widgets WHERE Color = 'red' (1)
[0069] This query at 1 consists of a data condition that self-references the COLOR data domain by its red target value. The value red represents input data 82. This target condition sets up the query to return unknown application values. In this simple demonstration, small and medium are data output 84. Outside of the execution of the SELECT statement, program logic arranges the input data 82 red alongside its output 84 small and medium in memory. Logically speaking, output data 84 is dependent upon input data 82. Remarkedly, table 60 in
[0070] Table 60 does, however, show us how we can see the data relations between two table attributes using our well-defined SELECT statement at 1. Furthermore, we can construct this arrangement of data according to the input and output data used by the query. This designation of data relations according to its input and output roles is important for two reasons. First, its branching shape represents a primitive tree structure. Second, its end points are composed of digital symbols that can connect to other such structures by program logic. The ability to establish these connections expands by adhering to the uniform patterns in retrieval operations and modeling expressions.
[0071] In
[0072] In addition, the well-defined SELECT at 1 on the prior page has one more thing to offer. Its input attribute COLOR 62 and its output SIZE 65 represent a pair of table attributes that can serve as meta-query data for BDM pattern 90. In notation, “(COLOR, SIZE)” models the data relationship 90 as a BDM 90. It also renders the well-defined SELECT statement as a template of keywords. By separating out the input and output attributes in the SELECT statement the process lays the foundation for automating the construction of a more complex object.
[0073] In our next BDM expansion, we can extend the BDM expression to represent a data network in table 60. To generate this data network, we pass a chain expression of attribute labels to a recursive algorithm, like the one described by Zellweger in 2010. An example of this chain expression is located below at 2. This BDM chain expression includes all the table attributes that manage user data 64. The final link in this expression has the table’s primary key in its output position.
[0074] (COLOR, COLOR) (COLOR, SIZE) (SIZE, WEIGHT) (WEIGHT, SHAPE) (SHAPE, ID) (2) In
[0075] In the chain expression at 2, each new link overlaps a prior one, whereby the output data 84 in one link becomes an input data 82 for the next link. The recursion progresses through the chain links to generate the nested subsets of data depicted in output data 84. On each iteration, these subsets of data narrow down the field until one final value is reached, a primary key. However, given the challenge of modeling relational data — and its lack of order — we make the conjecture that this chain expression traces out the BDM network 100. This conjecture is based on the predictable nature of SELECT operations, and on our ability to capture its pairs of input data 82 and output data 84.
[0076] The inventor calls the BDM network 100 in table 60 a data funnel network. The funnel structure starts at 101 and logically progresses through the sequence of user attributes in table 60 to a leaf node 103 at the other end of the network. This progression reveals a uniformity of elements, user attributes and their data, that traverses across table 60 in a predictable fashion; it always ends with a primary key label on a leaf node.
[0077] In the next drawing,
[0078] Alternative input devices on computer 107 include touchscreens; pointing devices, such as a mouse; voice-activated systems; and other types of sensory input devices that enable end-users to select values in the new data funnel interface 40. Monitor 109 of computer 107 displays the new interface 40 visually as a graphic image; alternative output devices include “talking software” systems that would enable the end-user to receive auditory descriptions of the new data funnel interface 40 presented by computer 107.
[0079] Alternative embodiments to the network configuration 105 of the present invention include a stand-alone computer, such as computer 107. In this embodiment, both the data file 130 and the data funnel interface 40 reside on computer 107. Additional alternative embodiments to the stand-alone computer include any computing device, regardless of its size or sensory interaction, that would enable an end-user to interact with the interface 40 by selecting a progressive sequence of data, which eventually culminates in an information display.
[0080] In
[0081] The next three figures,
[0082] When the citizen developer selects a table, interface 140 transfers the display to the image portrayed in
[0083] In
[0084] In
[0085] Feedback to the developer includes both a window display and a log file.
[0086] The algorithms that generate data files 130 comes next. Data files 130 include the setup details for the interface, such as its title 162 and instruction 164, as well as the actual subsets of data associated with each category data list 57. In the preferred embodiment of the current invention, the category data list 57 is generated at runtime. The alternative embodiment generates the entire collection of category data list 57 files and stores them on the server.
[0087] In the next series of drawings,
[0088] Each time the user clicks on a category region in interface 40, its software expands with a well-defined SELECT statement. This includes a single output attribute drawn from the current category. It also includes one or more data conditions drawn from any prior data selections.
[0089] In the final request made in
[0090] In
[0095] In the preferred embodiment of the invention, setupRecursion gets called at 191 to store each data value of a subset in a table row. Table 1 below displays the basic properties of these values in the Subset table. In the alternative embodiments, system 190 employs data structures, XML, or RDF to record and manage these properties.
TABLE-US-00002 SUBSET Data Value List Number Category Number Next List
[0096] At 191, the setupRecursion routine gets called. The input data for the recursion is userList, a BDM expression of user attributes, that generates a permutation of data funnel networks shown in the next drawing. Each pathway in the network starts with the user attribute’s data domain, one per user attribute in the table. Next, each element in the domain proceeds downward through the remaining user attributes in the table. This process repeats itself until the user List is empty. At the end of each path, as indicated before, a leaf node has a primary key value label.
[0097] At 192, system 190 sorts all the records in the Subset table by their list and category numbers. Next, at 193 it steps through each Subset table row in loop 197 looking for changes in the list number and then category number. As a given list item can connect to one or more dependent lists, each dependent list has the same list number. But each dependent list also has a unique character number. At 194, when a list or category number differs the program generates a new file header at 195. Now while the dependency list numbers are the same the data content in each list corresponds to its category number. This procedure enables the user to request a list of data based on the selected category. The next list variable is stored locally in the interface and refers to any number of dependency lists, but the category number is determined at runtime. The combination of these two fields reveals the specific data file needed.
[0098] In the next drawing,
[0099] Each data element in a list of structure 100 has a pointer 90 to one or more dependency lists at the next lower level in the hierarchy. Each dependency list has the same list number that it combines with the list’s category number (or identifier) to make each file in the collection unique. Therefore, pointer 90 combines the next list number with the category number selected on the interface to name each data file in the collection.
[0100] Now to demonstrate how the new data funnel interface 40 operates
[0101] In
[0102] In
[0103] In
[0104] After an item gets selected, a click on a new category, such as Size in
[0105] Upon accessing a light-gray font item, such as X-large above, interface 40 would restart the logical connections in table 60. All the previous black bullets now display white bullets and only the current category would have a black bullet
[0106] In the final step, each category 50 in interface 40 has a black bullet.
CONCLUSION
[0107] This concludes the description of an embodiment of the invention. The foregoing description of the embodiment of the invention has been presented for the purpose of illustration and description. It is not intended to be exhaustive or limit the invention to the precise form disclosed. Many modifications and variations are possible considering the above teaching. Furthermore, the scope of the present invention is not intended to be limited to a relational database system, the technical setting used to disclose this invention, but rather by the claims appended hereto.