Difference between revisions of "GCQLParser"

From Gcube Wiki
Jump to: navigation, search
(CQL enhancements)
Line 9: Line 9:
 
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:
 
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.
+
* '''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 enables the fusion of the results coming from different [[Data Sources]].
+
* '''fuse''': if used, the fusion of the results coming from different [[Data Sources]] is enabled.
  
 
==Implementation Details==
 
==Implementation Details==
  
 
GCQLParser, has been implemented with the use of the [https://javacc.java.net/ 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
 
GCQLParser, has been implemented with the use of the [https://javacc.java.net/ 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

Revision as of 09:45, 11 October 2013

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