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