|
|
This project contains various mappers that can map queries from different query languages to other query languages. The mappers can currently process the languages openEHR/AQL, i2b2/CRC, CQL and Neo4J/Cypher. They use a proprietary logical graph object model as the star center for the mappings. Each translation process uses a mapper from the source language to the graph model and one mapper from the graph model to the target language. For each query language there can exist one mapper that parses the source query into the graph model and one mapper that translates an instance of the graph model into the respective query language.
|
|
|
|
|
|
For each translation pair (source_2_graph + graph_2_target) there can be given a parametrization that states which operators from the source langauge have to be mapped to which operators of the target language, which data model elements have to be mapped during the translation process and which additional transformations have to be executed on the intermediate graph model. Those parametrizations are located in the respective "SOURCE_2_TARGET" folders in the resources folder.
|
|
|
|
|
|
The tests for the translation processes perform mappings on a handcrafted set of queries. In the test query folder there are the following subfolders:
|
|
|
- notYetWorkingAQLQueries: queries that throw execeptions when being parsed and/or translated with the AQL_2_Graph_Mapper.
|
|
|
- notYetWorkingCQLQueries: queries that throw execeptions when being parsed and/or translated with the CQL_2_Graph_Mapper.
|
|
|
- working_AQL_2_AQL: queries that can be parsed into the graph model and translated back into AQL resulting in the exact same AQL query string. Those queries can be tested via the test class 'Test_AQL_2_AQL'
|
|
|
- working_AQL_2_i2b2_and_back: queries that are translatable from AQL to i2b2 and back resulting in the exact same AQL query string. Those queries can be tested via the test class 'Test_AQL_2_i2b2_2_AQL'
|
|
|
- working_CQL_2_AQL_and_back: queries that are translatable from CQL to AQL and back resulting in the exact same CQL query string. Those queries can be tested via the test class 'Test_CQL_2_AQL'
|
|
|
- working_CQL_2_CQL: queries that can be parsed into the graph model and translated back into CQL resulting in the exact same CQL query string. Those queries can be tested via the test class 'Test_CQL_2_CQL'
|
|
|
- working_CQL_2_Cypher: queries that can be parsed into the graph model and translated into Cypher resulting in a semantically equivalent Cypher query string. Those queries can be tested via the test class 'Test_CQL_2_Cypher'
|
|
|
|
|
|
The tests contain the query String representations of the involved query languages. |
|
|
\ No newline at end of file |
|
|
Content has moved into the readme |
|
|
\ No newline at end of file |