QL'98 Position Paper
William Shea, Merrill Lynch, firstname.lastname@example.org
Paul Kanevsky, Merrill Lynch, email@example.com
Ramesh Lekshmynarayanan, Merrill Lynch, firstname.lastname@example.org
This position paper will outline of list of requirement for a query language for the web
The query language shall be simple and concise
It is clear that in order for the mass adoption of any language it should be simple. This does not mean to limit functionality or trivialize the language but to ensure that easy queries are easy to do. We believe that as much as possible common and well known language construct should be used to reduce learning curves and ease adoption
The query language shall be data provider neutral
The design of the query language should not be prejudiced by any understanding of the data provider. We believe that in time there will be many different data providers, which expose data in the form of XML or are able to consume an XML based query language. Hence, we believe that care should be taken to avoid basing language constructs on known data providers
The query language shall be output neutral
Philosophically, we believe that the physical representation of the output of query language is not defined by the query language itself, but by the query engine. The question of whether a query will return a node tree, stream or otherwise should be coordinated by the DOM working group. We do believe that the query language should provide sufficient constructs to define the shape or form of the output, including whether the result is a well-formed XML document, a fragment, or a range.
The query language shall support an XPOINTERS or URI syntax, but should not be limited to either one
Itís clear that there is a demonstrated need for URI based syntax for the query language. Limiting queries to this one format limits the language itself by the lack of special characters for defining operations, by size limitations imposed by most browsers on URI expressions, and by reducing the general readability of a query. We believe that an additional declarative syntax will add flexibility and increase the usability of the language. A declarative syntax will also aid in fulfilling requirement #6, below.
The query language shall borrow from previous work in the Query Language Studies
There are decades of research in the Object Oriented and Hierarchical Query language design, such as OQL. This work should be fully considered as part of the search for a suitable query language for the web.
The query language shall allow for the construction of named queries and query repositories
There should be a mechanism by which queries can be named and stored. This allows for data providers to advertise availability a specific query and to optimize high volume queries. This would also allow for the creation of more complicated queries in the URI based syntax by invoking a stored queries by name
The query language shall treat elements and attributes uniformly
We concur with the conclusion of others.
The query language shall allow for nested queries
We believe that any query language that is developed or adopted as result of the workshop or ensuing working group should be simple and flexible. Our major concern is the query language remains independent of data providers and data consumers. We believe that in the future XML data providers and query language consumers will proliferate the web. These providers of information need not be convention documents or databases. They very well may be a rich collection of independent distributed agents.