GCQLParser

From Gcube Wiki
Revision as of 09:45, 11 October 2013 by Panagiotis.liakos (Talk | contribs) (CQL enhancements)

Jump to: navigation, search

Contextual Query Language

Contextual Query Language (CQL), previously known as Common Query Language, is a formal language for representing queries to information retrieval systems such as search engines. Its design objective is that queries be human readable and writable, and that the language be intuitive while maintaining the expressiveness of more complex query languages.

The specification of the language as well as usage examples can be found here.

CQL enhancements

In the context of the gCube framework, certain enhancements have been applied on CQL, in order to enable necessary functionalities of the Search_Framework_2.0. More explicitly, two additional keywords are used:

  • project: allows the user to determine the fields that she needs to be selected for projection. Fields are specified after the keyword, and a '*' signifies that all fields must be selected for projection.
  • fuse: if used, the fusion of the results coming from different Data Sources is enabled.

Implementation Details

GCQLParser, has been implemented with the use of the Java Compiler Compiler (JavaCC), a Java parser generator. With the use of a JJTree, a preprocessor for JavaCC, code to construct parse tree nodes is generated