DBMS
 

 

Level\5 Quest

By Joseph Williams
DBMS, March 1997 Level\5 Quest Server lets you publish searchable databases on the World Wide Web. Quest uses fuzzy logic, which lets you point at target values and search any ODBC-accessible database for all records that are close to your targets.

Database publishing is becoming more widespread on the Internet and Intranets. So it's more important than ever that customers and users obtain meaningful results from their queries. Quest, from Level\5, provides a fuzzy, concept-based query environment that gives users what they probably want, not necessarily what they ask for. When no exact matches exist for the query submitted, Quest will return the closest alternatives based on criteria determined by the user.

Quest consists of two components: desktop software and server software. You use the desktop software to create, test, and run Quest projects. The Quest server is installed on your Internet server and makes Quest projects accessible over the World Wide Web.

Getting Started

Creating a Quest project is straightforward and simple. The first step is selecting a database to use. Quest supports any ODBC source and ships with 10 ODBC drivers. Because Quest makes all database calls through ODBC, you access any version of any database for which you have an ODBC driver. To make this task even easier, Quest provides a "Connection Wizard" that walks you through each step of the selection and connection process.

Once you have completed the Connection Wizard, the selected columns are displayed in the Quest Grid. You can now search the database using the Target Edit Boxes above each column. (See Figure 1.) Target Edit Boxes for all numeric fields will initially show the words MAX and MIN and will list the last five values you selected. The Target Edit Boxes for text fields will show a unique list of the contents of that field. When the AutoQuest option is turned on, the database will automatically recalculate the search results each time a new value is entered into or selected from a Target Edit Box. In Quest terminology, this is known as setting a Target. The results are sorted based on how closely that row matches the search criteria.

Search Fundamentals

Three main considerations affect how the result set of a query is determined: how the Score Ranges are defined, how "fuzzy" the requirements are for each target value, and how important a particular factor is to the user in determining the results.

The Quest search engine assigns a score to every value in a column where a target value has been set. These scores depict how closely the column value approximates the target value set for that column. A column value that exactly matches the target value would be given a score of 100. The score would decrease farther from 100 as it varied more from the target score. Once the score is determined, a Grade Icon is assigned based on the Score Range the score falls in. There are five Score Ranges, each with a distinct Grade Icon that provides a good visual indicator for how closely a particular row matches the desired outcome. The Score Ranges can be edited to make the requirements more stringent or more lax. To see how practical this is, assume you were using these score ranges for employee reviews to set bonus leves. The score and ranking can be displayed beside each Grade Icon. Figure 1 shows the default set of Grade Icons; however, several sets ship with Quest, and you can also load your own icons.

Fuzziness defines how narrowly the Score Ranges will be grouped around a particular search value. Quest lets you adjust fuzziness by using a Value Map, which represents each of the five Score Ranges with a different color. The plus and minus signs on the Value Map increase and decrease the fuzziness setting of the current column. As fuzziness increases, the value boundaries in a given score range broaden. The match method is initially set to "Target is Best" but could also be set to "More is Best" or "Less is Best."

Text Value Maps let you control the relationship of values in a text column. A simple example involves geographical relationships. Say you want to buy a house in a specific area. By creating a Text Value Map with all cities in the area represented, cities closer to your target city will be given higher scores for the criterion.

The relative importance of each Target weights its significance to the overall query. If you are searching for a house in an MLS listing, price may be extremely important to you and location only moderately important, or vice versa. In design mode, the relative importance is set via a dialog box that lists all targeted columns. (See Figure 1.)

To The Web

Quest Server supports all of the popular NT Web Servers, and you must use a browser that supports HTML 2.0 tables.

Publishing a project is almost as easy as creating it. The Quest Server Administrator lets you configure where the project files will reside. The administrator specifies the location of project files, image files, value map files, and supplemental HTML files. Now, simply by copying the necessary files to the specified directory, they are accessible to Quest.

Once the file housekeeping is accomplished, you must create an HTML file that presents your project and launches Quest. Now your data is accessible by entering the proper URL, such as www. dbmsmag.com, that points to your hypertext file. Figure 1 shows a sample MLS database loaded in the Level\5 Quest desktop environment. With some minimal code added, Figure 2 shows that same database as it would look in Netscape Navigator.

Quest lets you specify separate HTML header and footer files for the initial and subsequent viewing of the database. Thus you can provide instructions and supplemental information to the user before any queries are run. As result sets are returned, the header and footer can then be used to display more appropriate information.

Empower The User

In design mode, you can preset Targets that will be displayed when the database is viewed. However, a good Web-based search engine must give the user the ultimate control of what output is returned. Quest makes it easy to show the user what is needed to produce a good query. Figure 3 shows the Server Options dialog box. This is where the designer will hide columns from the final output and provide custom header names. More importantly, this is where the user can be permitted --or forbidden -- to use a column as a target row or to assign an importance to a given selection criterion. Quest offers a great deal of flexibility in how data is selected and presented. By the use of preset queries, preformatted information can be presented with the press of a button. (An example might be a button labeled "Inexpensive Beachfront Property," with all selection criteria already defined.) Conversely, by giving the user full control of selection criteria and each factor's importance, each user can effectively find the information that is important to him or her.

Quest also supports a form interface that may be less threatening to some users and a better way to solicit the user's input for some applications. The first step in this process is to create an input form using your favorite HTML editor. The form is linked to a Quest project with a button that invokes the Quest search engine. Launching the form is as simple as specifying the proper URL.

Sum It Up

Level\5 Quest Desktop and Server software offers many simple yet robust features. It is open and supports all Microsoft ODBC-accessible databases, which makes almost any data accessible right out of the box. Quest offers an intuitive graphical interface that is simple to use yet functional and efficient. The development process is compact and straightforward; you can be up and publishing on the Web in minutes.

By default, Quest creates and returns search results as HTML pages. Quest can also return search results as CGI scripts that the user creates, Quest Detail Pages, or links to other Web pages. The link between Quest and native HTML is direct and effortless. I would like to see more support for actual authoring of HTML pages, but anyone versed in creating even simple HTML output will have no problems. Version 2.2, currently in beta, will actually provide the HTML code to launch the application and include enhanced support for Web publishing.

Quest provides a good assortment of sample databases and applications that help quickly get a new user up to speed and on the way to creating good projects. Additionally, Quest provides multimedia tutorial movies that walk you through the development process and provide a great starting place.

I like the way Quest visually ranks result sets. You can quickly determine which records are closest to the desired output and which factors contribute most to that closeness. Quest lets you perform multidimensional searches on a relational database. Using Quest, even with complex searches on large databases, I received result sets in a matter of seconds. The user will always get an answer for a query, even if the best answer is not an exact match of the search parameters.

Overall, the Level\5 Quest Server and Desktop development environment is a sound package. It is simple yet powerful, and obtaining the desired results is not an arduous task. I was impressed by its ease of use and minimal development time. If you are looking for a product to get you started in Internet database publishing -- this is it.


Figure 1.


--This is the Quest desktop development environment. The drop-down box below each column heading is where the search selection criterion is entered. A score is associated with each target column and indicated with a Grade Icon. The overall score is indicated in the left column. The dialog box shown sets the relative importance of each target criterion.

Figure 2.


--This is the same real estate database as shown in Figure 1, but as the end user would see it through a Web browser. Quest gives you the ability to greatly customize the result output. In this screen, the user has the ability to specify new targets and change the relative importance of each target criterion.

Figure 3.


--Setting the server options determine the format of the final output. Here you see the column display options. This is where you hide a column so it does not show in the final output, and where you control which columns can be used as search criteria and how they are weighted.



Joseph Williams is a senior consultant with Baily & Quinn and the president of ZMS Consulting in Atlanta, Georgia. He specializes in client/server application development and deployment. You can email Joseph at jewill@mindspring.com.
Subscribe to DBMS and Internet Systems -- It's free for qualified readers in the United States
March 1997 Table of Contents | Other Contents | Article Index | Search | Site Index | Home

DBMS and Internet Systems (http://www.dbmsmag.com)
Copyright © 1997 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.
Please send questions or comments to dbms@mfi.com
Updated Tuesday, February 11, 1997.