This is an automated email from the ASF dual-hosted git repository.

jgemignani pushed a commit to branch PROPOSAL_API_Server
in repository https://gitbox.apache.org/repos/asf/age.git


The following commit(s) were added to refs/heads/PROPOSAL_API_Server by this 
push:
     new dc40b442 [PROPOSAL] Committed initial folder and Architecture of 
API-Server (#1828)
dc40b442 is described below

commit dc40b4421a8edd06f4cf457dd636002edb2df50d
Author: Morpheus <[email protected]>
AuthorDate: Tue May 7 07:35:15 2024 +0900

    [PROPOSAL] Committed initial folder and Architecture of API-Server (#1828)
    
    * AGE Code Cleanup
    
    * Add initial versions and initial architecture of API-Server
---
 README.md             |  64 ++++++++++++++++++++++++++++++++++++++++++++++++++
 architecture/README   |   1 +
 assets/README         |   1 +
 cli/README            |   1 +
 community/README      |   1 +
 docker-compose/README |   2 ++
 docs/README           |   1 +
 frontend/README       |   1 +
 img/architecture.png  | Bin 0 -> 71442 bytes
 packaging/README      |   1 +
 scripts/README        |   1 +
 server/README         |   1 +
 translations/README   |   1 +
 13 files changed, 76 insertions(+)

diff --git a/README.md b/README.md
new file mode 100644
index 00000000..3f32a2f6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,64 @@
+<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/>
diff --git a/architecture/README b/architecture/README
new file mode 100644
index 00000000..42250c93
--- /dev/null
+++ b/architecture/README
@@ -0,0 +1 @@
+This folder will contain content related to the architecture of the API-Server.
\ No newline at end of file
diff --git a/assets/README b/assets/README
new file mode 100644
index 00000000..341d59cc
--- /dev/null
+++ b/assets/README
@@ -0,0 +1 @@
+This folder will contain content related to the assets of the API-Server.
\ No newline at end of file
diff --git a/cli/README b/cli/README
new file mode 100644
index 00000000..e3c24d6b
--- /dev/null
+++ b/cli/README
@@ -0,0 +1 @@
+This folder will contain content related to the CLI of the API-Server.
\ No newline at end of file
diff --git a/community/README b/community/README
new file mode 100644
index 00000000..31168b06
--- /dev/null
+++ b/community/README
@@ -0,0 +1 @@
+This folder will contain content related to the community of the API-Server.
\ No newline at end of file
diff --git a/docker-compose/README b/docker-compose/README
new file mode 100644
index 00000000..57b5bdaf
--- /dev/null
+++ b/docker-compose/README
@@ -0,0 +1,2 @@
+This folder will contain content related to the docker-compose of the 
+API-Server.
\ No newline at end of file
diff --git a/docs/README b/docs/README
new file mode 100644
index 00000000..ede22257
--- /dev/null
+++ b/docs/README
@@ -0,0 +1 @@
+This folder will contain content related to the documents of the API-Server.
\ No newline at end of file
diff --git a/frontend/README b/frontend/README
new file mode 100644
index 00000000..20c52395
--- /dev/null
+++ b/frontend/README
@@ -0,0 +1 @@
+This folder will contain content related to the frontend of the API-Server.
\ No newline at end of file
diff --git a/img/architecture.png b/img/architecture.png
new file mode 100644
index 00000000..591d0358
Binary files /dev/null and b/img/architecture.png differ
diff --git a/packaging/README b/packaging/README
new file mode 100644
index 00000000..42250c93
--- /dev/null
+++ b/packaging/README
@@ -0,0 +1 @@
+This folder will contain content related to the architecture of the API-Server.
\ No newline at end of file
diff --git a/scripts/README b/scripts/README
new file mode 100644
index 00000000..9be5a000
--- /dev/null
+++ b/scripts/README
@@ -0,0 +1 @@
+This folder will contain content related to the scripts of the API-Server.
\ No newline at end of file
diff --git a/server/README b/server/README
new file mode 100644
index 00000000..2712907e
--- /dev/null
+++ b/server/README
@@ -0,0 +1 @@
+This folder will contain content related to the server of the API-Server.
\ No newline at end of file
diff --git a/translations/README b/translations/README
new file mode 100644
index 00000000..f1492dd0
--- /dev/null
+++ b/translations/README
@@ -0,0 +1 @@
+This folder will contain content related to the transaction of the API-Server.
\ No newline at end of file

Reply via email to