blob: 3f32a2f605cd505330f2b164c52bdd24539bb2c2 [file] [log] [blame] [view]
<h2>What is This Project</h2>
This Project is an API that executes queries in Cypher or Graph QL
format on RDBs such as PostgreSQL, Oracle, and MySQL and returns the results to the user in the form of the requested query.
At this time, through AGE Storage, integrated metadata can be managed regardless of RDB type such as Oracle, MySQL, and MSSQL, and data query is supported through Open Cypher/GraphQL without the need to change the core at the RDB level.
It can also provide usefulness in terms of analysis through result visualization tailored to Open Cypher/GraphQL.
</br>
</br>
<h2>Overview</h2>
Currently, this Project will develop :
- **Meta Data Generator** : After connection, table is converted to node and
1. created / edge is created based on constraints</br>
2. Part that implements logic to check update information when a connection
exists</br>
3. Metadata management (select only desired tables) Must be managed by
graph</br></br>
- **Query Modifier** : R&D on query conversion unit in progress</br>
1. Cypher -> Target DB Query conversion</br>
2. GraphQL -> Target DB Query conversion</br>
3. Identify and preserve target DB type</br>
4. Created Query and Cypher/GraphQL mapping management function</br> </br>
- **Return Caster** : A part that implements the function of converting data
received through a query converted from the Query Modifier to fit the
initially requested form.</br></br>
We plan to develop it on a web basis, and it will be based on the contents below.</br>
1. UI support and advancement for connection and query conversion functions</br>
2. Enhanced connection data front logic</br>
3. Add Query Modifier related interface</br>
4. Apply Return Casting result UI</br>
</br></br>
<h2>Architecture Concept</h2>
<img src="img/architecture.png"/>
</br>
</br>
1. Set Connection/Create Connection<br/>
Achieve Connection Information using IP, Port, Database, ID, Password and so on
Meta Data Generate<br/>
Table and Relation Table created to AGE node form(Reference)<br/>
Edge Created based on FK Constrainment(Reference)<br/>
<br/>
2. Modify Query(Related DBMS)<br/>
Receive Cypher/GraphQL requested by user<br/>
At this time, analyze the relationship between tables described in the query by referring to the meta data stored in AGE.<br/>
Conversion work progresses through query analysis logic<br/>
Cypher/GraphQL type determination<br/>
Converted to SQL Form. Save to AGE with original query (Cypher/GraphQL)<br/>
<br/>
3. Perform converted query<br/>
Data acquisition and listing performance<br/>
Relationship analysis: Node/edge relationship analysis through each key and relationship analysis<br/>
Identify edge start/end point relationships<br/>
Analysis of connection relationships between tables<br/>
<br/>
4. Return the result data after converting it into the query form requested by the user.<br/>
<br/>
<h2>Documentation</h2>
Related documents are being prepared.
<br/>