GCQLParser
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