Commit ddb88d06 authored by Georg Fette's avatar Georg Fette
Browse files

Update README.md

parent 6b61888f
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.
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.
......@@ -10,6 +14,7 @@ The tests for the translation processes perform mappings on a handcrafted set of
- 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'
- working_AQL_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_AQL_2_Cypher'
The tests contain the query String representations of the involved query languages as well as a string representation of the intermediate query graph model.
......@@ -19,3 +24,4 @@ The transformations are described in the following papers:
* i2b2<->AQL: [Query Translation Between openEHR and i2b2](http://www.is.informatik.uni-wuerzburg.de/staff/georgf/?tx_extbibsonomycsl_publicationlist%5BuserName%5D=georgfette&tx_extbibsonomycsl_publicationlist%5BintraHash%5D=ac22a483db2ade12285aa683e5c28a38&tx_extbibsonomycsl_publicationlist%5BfileName%5D=2019-EFMI-Query-Mapping_v2.pdf&tx_extbibsonomycsl_publicationlist%5Bcontroller%5D=Document&cHash=2a3b4d1b3d7ad85a400013927820089b)
* AQL<->CQL: [Query Translation between AQL and CQL](http://www.is.informatik.uni-wuerzburg.de/staff/georgf/?tx_extbibsonomycsl_publicationlist%5BuserName%5D=georgfette&tx_extbibsonomycsl_publicationlist%5BintraHash%5D=38fc92ffbd2c809dc83e9b82e6641702&tx_extbibsonomycsl_publicationlist%5BfileName%5D=2019-MedInfo-Query-Translation-AQL-CQL_v2.pdf&tx_extbibsonomycsl_publicationlist%5Bcontroller%5D=Document&cHash=2f37a7efc2048c3ebd2cc5034dcf869c)
* CQL<->Cypher: [Implementation of a HL7 CQL engine using the graph database Neo4J](http://www.is.informatik.uni-wuerzburg.de/staff/georgf/?tx_extbibsonomycsl_publicationlist%5BuserName%5D=georgfette&tx_extbibsonomycsl_publicationlist%5BintraHash%5D=146a6650045d35e5ef1c6e5fff0f05cb&tx_extbibsonomycsl_publicationlist%5BfileName%5D=2019-GMDS-FHIR-CQL-Neo4J_v2.pdf&tx_extbibsonomycsl_publicationlist%5Bcontroller%5D=Document&cHash=7121ec75a0133139e46e5d1c47a0181d)
* AQL<->Cypher: [Implementation of an openEHR-AQL engine using the graph database Neo4J]
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment