Querying Database-Backed Web Sites

Chidambaram Vishwanath Gerhard Wetzel Sankar Virdhagriswaran
Crystaliz, Inc.
9 Pond Ln #4D
Concord, MA 01742


We are interested in querying database-backed Web sites such as e-commerce sites. We see a need for query engines that cater to a wide range of users, from anonymous and unskilled to registered expert users, trying to access rapidly changing or "live" data on the Web. Users should be able to conceptualize, explore and evaluate online information, and query engines should take user preferences into account when responding to user requests.

We hope to see the definition of a protocol, possibly an extension of HTTP, that defines a general way of transmitting queries over the Web that can be transformed into different query languages used to access different data sources. The protocol should also be able to asynchronously provide the browser-based client with data.

1. Live vs. Static Data

Whereas existing Web search engines treat the content of the Web as fairly static, database-backed Web sites contain a mixture of static data and data that change frequently (e.g. stock quotes) and/or regularly (e.g. daily weather reports). Occasionally, the layout of a Web site changes, too, and sometimes even the schema of the database from which the Web sites obtains its data may change.

Presentation of live data is a potentially difficult task. By live data we mean data that may change while the user is viewing a set of query results. Examples of live data include news, stock quotes, airline fares and seat availability. Live data are frequently numerical or computable. The user should be able to interact with this data. This interaction may include the following:

2. Query Paradigm

We characterize our query paradigm by the phrase "conceptualize, explore, evaluate".

3. User Preferences

An anonymous user is one whose demographic profile is not known to the query engine. One approach to tailor query results to anonymous individuals is to have them specify a set of preferences each time they submit a query. The preferences may be used to relax and refine the query as well as to prune and rank results.

Over time, the query engine may be able to guess a user's preferences in a new context based on previous preferences and choices. The preferences of several users whose likes and dislikes are usually similar to that of the current user may also be considered in determining this user's real intent.

4. Query Protocol

Web sites may be viewed (and used) as front ends to a variety of different data sources, including relational or object-oriented databases as well as HTML, XML or free text (ASCII) documents.

These data sources require different query languages for optimal access. Rather than insisting on a uniform query language, we would prefer to define a protocol, possibly an extension of HTTP, that defines a general way of transmitting queries over the Web which can then be transformed into (SQL/OQL/XQL/etc.) queries on the actual data sources.

Furthermore, we believe that the current revision of HTTP limits the ability to provide the browser-based client the latest information in an asynchronous fashion. We propose that one way to overcome this limitation is by extending HTTP to incorporate a subscribe/publish mechanism for event notification. To be precise, the HTTP server should advertise a list of events for which it can notify any interested subscribers. Browser-based clients should then subscribe to select events. When these server-based events occur, subscribers will be asynchronously notified, causing appropriate updates to the viewed data.