refact: adjust project structure for merge PD & Store[Breaking Change] (#2338)

## Purpose of the PR

Subtask of #2265.

Adjust the project structure of this repository to include three sub-modules: hugegraph-server, hugegraph-pd, hugegraph-store at the root level.

## Main Changes

Roll back to the moment when https://github.com/apache/incubator-hugegraph/pull/2266 was merged on `pd-store` and incorporate the latest changes in `master`.

For more detailed information, please refer to https://github.com/apache/incubator-hugegraph/pull/2266#issue-1834369489.


---------

Co-authored-by: M <87920097+msgui@users.noreply.github.com>
diff --git a/.github/outdated/.travis.yml b/.github/outdated/.travis.yml
index 4b5c57a..485fe44 100644
--- a/.github/outdated/.travis.yml
+++ b/.github/outdated/.travis.yml
@@ -115,7 +115,7 @@
   global:
     - RELEASE_BRANCH=^release-.*$
     - RELEASE_TAG=^v[0-9]\..*$
-    - TRAVIS_DIR=hugegraph-dist/src/assembly/travis
+    - TRAVIS_DIR=hugegraph-server/hugegraph-dist/src/assembly/travis
     - DEPLOYED=0
     - secure: dYmFTVeEtRzLNaHp9ToTV/+CkTD0/rEj+K7dRN8wsv/yg4pbqwnyWbSXcqMlj6iNFzAz3nPbmFLCvAWON9/SMN9iJIT6x/xfcf+LqCT8QWczo2nc9xeX144ij2VHX1Drvtk5fRTMaTXRfWEQIrjqx2yrJTIdrXWzWSaZLFv1CRCUizEiGGCePnzUWxx9dBypNyC6IaH6lIv8uN5E6+10SYhb7UJGjWUMDg1bCeW9X7X2wg4QpsGDzlGFXT2EBPU/dAb5attTAtW8dKxrCZqZJTPWe0BarXDBR4PO15BC+a0V1g8LwexedtDjJeFRcGPaJ5NN4d3jDSusCzt5Jf4U0Wa1gDRMVTU3jT+KYkm5eoV4wOZMySobjh6VpQH/LyL0QTDy5apRPAxw+wO+tc91P+nkJmnlr3pN8abtMZ6NciZizUBYQRgR/m2Ir0stvtbZxBQOATuPtBgNDKiDgVdSYcRJzSqYEMFOn35AvsDZ9aUsyC8k29PCUZ0gQO2Is6cV1ClFBnM52hfU9XX0gu+NviSnYNGvcokod8z9VjGtnM7V3LYjqXSFqO9kkMbOmkME1tD2Bh/klw2/OM+2tBBZiAgxB89st5jSUHI4a2hpUyaQBezJUcU9t2vVT/zAVEIqzw2PDxkMU7t0n6L1x+qUIUTG/WynfIni5msxuR7HoiU=
     - secure: XbX6AX5zDPc2PcWYAMW+6fazqRRUqpgQkt4eXUugLuVIYZBmJ0WqncEhJ4+mdwOGPIhnP2HsOaSeK2eE/O+iLY2XpBFbugoBgm9VaZlCC4CY1gRNHaanYg64Lrm3NPY3n08IHRMazHqMpJwUqNO+OG/6QwkepULQLj5Rluf716AoXHa7IEJhAIrwr+OXQvdEaJdUXlS1lRycXVeYtOewl7qYxCO4dD4RMhPlNykh9KEK7fd5wnPkiUsp1SwF4g5XsaLvGXmT/qQ1nj8oa9Caej/iaj6HMKG3BO057mq4KK5JDxTPWhBueNpEkUwldAnrMhYWLRnNf4IyjUsaB/Pmi6HspzcaiORPLYwPmdvLGGSnYwbtO+fAHebgpgOnj/vGmRmY4YtIkYdFtbPBI0HpbGB77tqNRFCe/5deLrjx0hXJBfoKTy7d42SI1eBhNR0svZYUHkSfuXwly6hMTlH1DN/bumMFxfXDkY9PFHlzV1Mn3vb9BxKTaP88hJsWk7JqgniqUF7EWAc0EhHMbJct2gC0pDc95z4Yy9391n7/XWJErhIdYon1Ukds5+a43xFXoy76gR4LuMDpzzCnutMjhC2yDuGaZx/DfkPBb5JFU7SHtTKj05zb73Moogi7qqbH8jwcwoSfogAKyrIAWTcAgvJ2LVnRzwdsiLTc6MEagiM=
diff --git a/.github/workflows/check-dependencies.yml b/.github/workflows/check-dependencies.yml
index 0a7396f..fa28483 100644
--- a/.github/workflows/check-dependencies.yml
+++ b/.github/workflows/check-dependencies.yml
@@ -13,7 +13,7 @@
   dependency-check:
     runs-on: ubuntu-latest
     env:
-      SCRIPT_DEPENDENCY: hugegraph-dist/scripts/dependency
+      SCRIPT_DEPENDENCY: hugegraph-server/hugegraph-dist/scripts/dependency
     steps:
       - name: Checkout source
         uses: actions/checkout@v3
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b67021f..670831a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -12,7 +12,7 @@
   build:
     runs-on: ubuntu-20.04
     env:
-      TRAVIS_DIR: hugegraph-dist/src/assembly/travis
+      TRAVIS_DIR: hugegraph-server/hugegraph-dist/src/assembly/travis
       REPORT_DIR: target/site/jacoco
       BACKEND: ${{ matrix.BACKEND }}
       TRIGGER_BRANCH_NAME: ${{ github.ref_name }}
diff --git a/.licenserc.yaml b/.licenserc.yaml
index db7af8d..0c7e588 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -68,7 +68,7 @@
     - '**/*.properties'
     - '**/RaftRequests.java'
     - 'dist/**/*'
-    - 'hugegraph-dist'
+    - 'hugegraph-server/hugegraph-dist'
     - '**/assembly/static/bin/hugegraph.service'
     - 'scripts/dev/reviewers'
     - 'scripts/dev/reviewers'
@@ -89,14 +89,14 @@
     - '**/META-INF/MANIFEST.MF'
     - '.repository/**'
     - '**/.flattened-pom.xml'
-    - 'hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SnowflakeIdGenerator.java'
+    - 'hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SnowflakeIdGenerator.java'
     - '**/optimize/HugeScriptTraversal.java'
     - '**/type/Nameable.java'
     - '**/define/Cardinality.java'
     - '**/util/StringEncoding.java'
-    - 'hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherOpProcessor.java'
-    - 'hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherPlugin.java'
-    - 'hugegraph-dist/src/assembly/static/bin/wait-storage.sh'
+    - 'hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherOpProcessor.java'
+    - 'hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherPlugin.java'
+    - 'hugegraph-server/hugegraph-dist/src/assembly/static/bin/wait-storage.sh'
   comment: on-failure # on what condition license-eye will comment on the pull request, `on-failure`, `always`, `never`.
 
   # license-location-threshold specifies the index threshold where the license header can be located,
diff --git a/hugegraph-dist/src/assembly/travis/run-core-test.sh b/hugegraph-dist/src/assembly/travis/run-core-test.sh
deleted file mode 100755
index 6227692..0000000
--- a/hugegraph-dist/src/assembly/travis/run-core-test.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with this
-# work for additional information regarding copyright ownership. The ASF
-# licenses this file to You under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-set -ev
-
-BACKEND=$1
-
-mvn test -P core-test,$BACKEND
diff --git a/hugegraph-pd/README.md b/hugegraph-pd/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/hugegraph-pd/README.md
diff --git a/hugegraph-api/pom.xml b/hugegraph-server/hugegraph-api/pom.xml
similarity index 99%
rename from hugegraph-api/pom.xml
rename to hugegraph-server/hugegraph-api/pom.xml
index ad397f1..d365ce2 100644
--- a/hugegraph-api/pom.xml
+++ b/hugegraph-server/hugegraph-api/pom.xml
@@ -20,7 +20,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.apache.hugegraph</groupId>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/API.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/API.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/API.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/API.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/arthas/ArthasAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/arthas/ArthasAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/arthas/ArthasAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/arthas/ArthasAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/AccessAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/AccessAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/AccessAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/AccessAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/BelongAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/BelongAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/BelongAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/BelongAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/GroupAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/GroupAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/GroupAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/GroupAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/LoginAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/LoginAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/LoginAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/LoginAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/ProjectAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/ProjectAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/ProjectAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/ProjectAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/TargetAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/TargetAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/TargetAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/TargetAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/UserAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/UserAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/UserAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/UserAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherClient.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherClient.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherClient.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherClient.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherManager.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherManager.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherManager.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherManager.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherModel.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherModel.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherModel.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherModel.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/AccessLogFilter.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/AccessLogFilter.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/AccessLogFilter.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/AccessLogFilter.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/AuthenticationFilter.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/AuthenticationFilter.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/AuthenticationFilter.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/AuthenticationFilter.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/CompressInterceptor.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/CompressInterceptor.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/CompressInterceptor.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/CompressInterceptor.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/DecompressInterceptor.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/DecompressInterceptor.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/DecompressInterceptor.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/DecompressInterceptor.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/ExceptionFilter.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/ExceptionFilter.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/ExceptionFilter.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/ExceptionFilter.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/LoadDetectFilter.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/LoadDetectFilter.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/LoadDetectFilter.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/LoadDetectFilter.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/LoadReleaseFilter.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/LoadReleaseFilter.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/LoadReleaseFilter.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/LoadReleaseFilter.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/PathFilter.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/PathFilter.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/PathFilter.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/PathFilter.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilter.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilter.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilter.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilter.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilterDynamicFeature.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilterDynamicFeature.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilterDynamicFeature.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilterDynamicFeature.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/StatusFilter.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/StatusFilter.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/StatusFilter.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/StatusFilter.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/BatchAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/BatchAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/BatchAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/BatchAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/EdgeAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/EdgeAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/EdgeAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/EdgeAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinClient.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinClient.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinClient.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinClient.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinQueryAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinQueryAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinQueryAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/gremlin/GremlinQueryAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/AlgorithmAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/AlgorithmAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/job/AlgorithmAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/AlgorithmAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/ComputerAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/ComputerAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/job/ComputerAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/ComputerAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/GremlinAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/GremlinAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/job/GremlinAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/GremlinAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/RebuildAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/RebuildAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/job/RebuildAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/RebuildAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/TaskAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/TaskAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/job/TaskAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/job/TaskAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/metrics/MetricsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/metrics/MetricsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/metrics/MetricsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/metrics/MetricsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/GraphsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/GraphsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/GraphsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/GraphsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/ProfileAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/ProfileAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/ProfileAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/ProfileAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/VersionAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/VersionAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/VersionAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/VersionAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/WhiteIpListAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/WhiteIpListAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/WhiteIpListAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/WhiteIpListAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/raft/RaftAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/raft/RaftAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/raft/RaftAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/raft/RaftAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/EdgeLabelAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/EdgeLabelAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/EdgeLabelAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/EdgeLabelAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/IndexLabelAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/IndexLabelAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/IndexLabelAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/IndexLabelAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/PropertyKeyAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/PropertyKeyAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/PropertyKeyAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/PropertyKeyAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/SchemaAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/SchemaAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/SchemaAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/SchemaAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/VertexLabelAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/VertexLabelAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/VertexLabelAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/schema/VertexLabelAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/AdamicAdarAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/AdamicAdarAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/AdamicAdarAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/AdamicAdarAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/AllShortestPathsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/AllShortestPathsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/AllShortestPathsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/AllShortestPathsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CountAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CountAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CountAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CountAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CrosspointsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CrosspointsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CrosspointsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CrosspointsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CustomizedCrosspointsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CustomizedCrosspointsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CustomizedCrosspointsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CustomizedCrosspointsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CustomizedPathsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CustomizedPathsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CustomizedPathsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/CustomizedPathsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/EdgesAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/EdgesAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/EdgesAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/EdgesAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/FusiformSimilarityAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/FusiformSimilarityAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/FusiformSimilarityAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/FusiformSimilarityAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/JaccardSimilarityAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/JaccardSimilarityAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/JaccardSimilarityAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/JaccardSimilarityAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KneighborAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KneighborAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KneighborAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KneighborAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KoutAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KoutAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KoutAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/KoutAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/MultiNodeShortestPathAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/MultiNodeShortestPathAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/MultiNodeShortestPathAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/MultiNodeShortestPathAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/NeighborRankAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/NeighborRankAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/NeighborRankAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/NeighborRankAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/PathsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/PathsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/PathsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/PathsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/PersonalRankAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/PersonalRankAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/PersonalRankAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/PersonalRankAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/RaysAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/RaysAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/RaysAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/RaysAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/ResourceAllocationAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/ResourceAllocationAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/ResourceAllocationAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/ResourceAllocationAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/RingsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/RingsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/RingsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/RingsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/SameNeighborsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/SameNeighborsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/SameNeighborsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/SameNeighborsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/ShortestPathAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/ShortestPathAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/ShortestPathAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/ShortestPathAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/SingleSourceShortestPathAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/SingleSourceShortestPathAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/SingleSourceShortestPathAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/SingleSourceShortestPathAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/TemplatePathsAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/TemplatePathsAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/TemplatePathsAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/TemplatePathsAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/TraverserAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/TraverserAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/TraverserAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/TraverserAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/Vertices.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/Vertices.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/Vertices.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/Vertices.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/VerticesAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/VerticesAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/VerticesAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/VerticesAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/WeightedShortestPathAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/WeightedShortestPathAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/WeightedShortestPathAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/WeightedShortestPathAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/variables/VariablesAPI.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/variables/VariablesAPI.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/api/variables/VariablesAPI.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/variables/VariablesAPI.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/auth/ConfigAuthenticator.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/ConfigAuthenticator.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/auth/ConfigAuthenticator.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/ConfigAuthenticator.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/auth/ContextGremlinServer.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/ContextGremlinServer.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/auth/ContextGremlinServer.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/ContextGremlinServer.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeAuthenticator.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeAuthenticator.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeAuthenticator.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeAuthenticator.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeFactoryAuthProxy.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeFactoryAuthProxy.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeFactoryAuthProxy.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeFactoryAuthProxy.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeGraphAuthProxy.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeGraphAuthProxy.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeGraphAuthProxy.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/HugeGraphAuthProxy.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/auth/StandardAuthenticator.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/StandardAuthenticator.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/auth/StandardAuthenticator.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/StandardAuthenticator.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/auth/WsAndHttpBasicAuthHandler.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/WsAndHttpBasicAuthHandler.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/auth/WsAndHttpBasicAuthHandler.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/auth/WsAndHttpBasicAuthHandler.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/config/ServerOptions.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/config/ServerOptions.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/config/ServerOptions.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/config/ServerOptions.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/define/Checkable.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/define/Checkable.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/define/Checkable.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/define/Checkable.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/define/UpdateStrategy.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/define/UpdateStrategy.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/define/UpdateStrategy.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/define/UpdateStrategy.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/define/WorkLoad.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/define/WorkLoad.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/define/WorkLoad.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/define/WorkLoad.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsKeys.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsKeys.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsKeys.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsKeys.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsModule.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsModule.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsModule.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsModule.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsUtil.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsUtil.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsUtil.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/MetricsUtil.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/ServerReporter.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/ServerReporter.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/metrics/ServerReporter.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/ServerReporter.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/SlowQueryLog.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/SlowQueryLog.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/metrics/SlowQueryLog.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/SlowQueryLog.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/SystemMetrics.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/SystemMetrics.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/metrics/SystemMetrics.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/metrics/SystemMetrics.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherOpProcessor.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherOpProcessor.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherOpProcessor.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherOpProcessor.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherPlugin.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherPlugin.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherPlugin.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherPlugin.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/rpc/RpcClientProviderWithAuth.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/rpc/RpcClientProviderWithAuth.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/rpc/RpcClientProviderWithAuth.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/rpc/RpcClientProviderWithAuth.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/serializer/JsonSerializer.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/serializer/JsonSerializer.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/serializer/JsonSerializer.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/serializer/JsonSerializer.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/serializer/Serializer.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/serializer/Serializer.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/serializer/Serializer.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/serializer/Serializer.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/server/ApplicationConfig.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/server/ApplicationConfig.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/server/ApplicationConfig.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/server/ApplicationConfig.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/server/RestServer.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/server/RestServer.java
similarity index 100%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/server/RestServer.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/server/RestServer.java
diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/version/ApiVersion.java b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/version/ApiVersion.java
similarity index 98%
rename from hugegraph-api/src/main/java/org/apache/hugegraph/version/ApiVersion.java
rename to hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/version/ApiVersion.java
index 117795c..969e9a3 100644
--- a/hugegraph-api/src/main/java/org/apache/hugegraph/version/ApiVersion.java
+++ b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/version/ApiVersion.java
@@ -123,6 +123,6 @@
 
     public static void check() {
         // Check version of hugegraph-core. Firstly do check from version 0.3
-        VersionUtil.check(CoreVersion.VERSION, "1.0", "1.1", CoreVersion.NAME);
+        VersionUtil.check(CoreVersion.VERSION, "1.0", "1.6", CoreVersion.NAME);
     }
 }
diff --git a/hugegraph-api/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin b/hugegraph-server/hugegraph-api/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin
similarity index 100%
rename from hugegraph-api/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin
rename to hugegraph-server/hugegraph-api/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin
diff --git a/hugegraph-api/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.server.OpProcessor b/hugegraph-server/hugegraph-api/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.server.OpProcessor
similarity index 100%
rename from hugegraph-api/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.server.OpProcessor
rename to hugegraph-server/hugegraph-api/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.server.OpProcessor
diff --git a/hugegraph-cassandra/pom.xml b/hugegraph-server/hugegraph-cassandra/pom.xml
similarity index 98%
rename from hugegraph-cassandra/pom.xml
rename to hugegraph-server/hugegraph-cassandra/pom.xml
index 6e12b89..888f6dd 100644
--- a/hugegraph-cassandra/pom.xml
+++ b/hugegraph-server/hugegraph-cassandra/pom.xml
@@ -20,7 +20,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.apache.hugegraph</groupId>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
diff --git a/hugegraph-cassandra/src/main/java/com/datastax/driver/core/querybuilder/Clauses.java b/hugegraph-server/hugegraph-cassandra/src/main/java/com/datastax/driver/core/querybuilder/Clauses.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/com/datastax/driver/core/querybuilder/Clauses.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/com/datastax/driver/core/querybuilder/Clauses.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraBackendEntry.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraBackendEntry.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraBackendEntry.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraBackendEntry.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraEntryIterator.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraEntryIterator.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraEntryIterator.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraEntryIterator.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraFeatures.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraFeatures.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraFeatures.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraFeatures.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraMetrics.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraMetrics.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraMetrics.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraMetrics.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraOptions.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraOptions.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraOptions.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraOptions.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraSerializer.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraSerializer.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraSerializer.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraSerializer.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraSessionPool.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraSessionPool.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraSessionPool.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraSessionPool.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraShard.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraShard.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraShard.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraShard.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraStore.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraStore.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraStore.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraStore.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraStoreProvider.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraStoreProvider.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraStoreProvider.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraStoreProvider.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraTable.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraTable.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraTable.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraTable.java
diff --git a/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraTables.java b/hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraTables.java
similarity index 100%
rename from hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraTables.java
rename to hugegraph-server/hugegraph-cassandra/src/main/java/org/apache/hugegraph/backend/store/cassandra/CassandraTables.java
diff --git a/hugegraph-core/pom.xml b/hugegraph-server/hugegraph-core/pom.xml
similarity index 99%
rename from hugegraph-core/pom.xml
rename to hugegraph-server/hugegraph-core/pom.xml
index 8a0cb6b..de312c9 100644
--- a/hugegraph-core/pom.xml
+++ b/hugegraph-server/hugegraph-core/pom.xml
@@ -20,7 +20,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.hugegraph</groupId>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/HugeException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/HugeException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/HugeFactory.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeFactory.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/HugeFactory.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeFactory.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraph.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraph.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraph.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraph.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraphParams.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraphParams.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraphParams.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraphParams.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/StandardHugeGraph.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/StandardHugeGraph.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/StandardHugeGraph.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/StandardHugeGraph.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/Analyzer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/Analyzer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/Analyzer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/Analyzer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/AnalyzerFactory.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/AnalyzerFactory.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/AnalyzerFactory.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/AnalyzerFactory.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/AnsjAnalyzer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/AnsjAnalyzer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/AnsjAnalyzer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/AnsjAnalyzer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/HanLPAnalyzer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/HanLPAnalyzer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/HanLPAnalyzer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/HanLPAnalyzer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/IKAnalyzer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/IKAnalyzer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/IKAnalyzer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/IKAnalyzer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/JcsegAnalyzer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/JcsegAnalyzer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/JcsegAnalyzer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/JcsegAnalyzer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/JiebaAnalyzer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/JiebaAnalyzer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/JiebaAnalyzer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/JiebaAnalyzer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/MMSeg4JAnalyzer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/MMSeg4JAnalyzer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/MMSeg4JAnalyzer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/MMSeg4JAnalyzer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/SmartCNAnalyzer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/SmartCNAnalyzer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/SmartCNAnalyzer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/analyzer/SmartCNAnalyzer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/AuthConstant.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/AuthConstant.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/AuthConstant.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/AuthConstant.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/AuthManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/AuthManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/AuthManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/AuthManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/EntityManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/EntityManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/EntityManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/EntityManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeAccess.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeAccess.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeAccess.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeAccess.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeBelong.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeBelong.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeBelong.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeBelong.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeGroup.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeGroup.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeGroup.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeGroup.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugePermission.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugePermission.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugePermission.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugePermission.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeProject.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeProject.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeProject.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeProject.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeResource.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeResource.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeResource.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeResource.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeTarget.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeTarget.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeTarget.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeTarget.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeUser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeUser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeUser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/HugeUser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/RelationshipManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/RelationshipManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/RelationshipManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/RelationshipManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/ResourceObject.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/ResourceObject.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/ResourceObject.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/ResourceObject.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/ResourceType.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/ResourceType.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/ResourceType.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/ResourceType.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/RolePermission.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/RolePermission.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/RolePermission.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/RolePermission.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/SchemaDefine.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/SchemaDefine.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/SchemaDefine.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/SchemaDefine.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/StandardAuthManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/StandardAuthManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/StandardAuthManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/StandardAuthManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/TokenGenerator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/TokenGenerator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/TokenGenerator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/TokenGenerator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/auth/UserWithRole.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/UserWithRole.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/auth/UserWithRole.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/auth/UserWithRole.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/BackendException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/BackendException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/BackendException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/BackendException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/LocalCounter.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/LocalCounter.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/LocalCounter.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/LocalCounter.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/Transaction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/Transaction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/Transaction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/Transaction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/AbstractCache.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/AbstractCache.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/AbstractCache.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/AbstractCache.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/Cache.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/Cache.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/Cache.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/Cache.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CacheManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CacheManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CacheManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CacheManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CacheNotifier.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CacheNotifier.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CacheNotifier.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CacheNotifier.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedBackendStore.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedBackendStore.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedBackendStore.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedBackendStore.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedGraphTransaction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedGraphTransaction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedGraphTransaction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedGraphTransaction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedSchemaTransaction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedSchemaTransaction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedSchemaTransaction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/CachedSchemaTransaction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/LevelCache.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/LevelCache.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/LevelCache.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/LevelCache.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/OffheapCache.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/OffheapCache.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/OffheapCache.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/OffheapCache.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/RamCache.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/RamCache.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/RamCache.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/cache/RamCache.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/EdgeId.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/EdgeId.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/EdgeId.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/EdgeId.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/Id.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/Id.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/Id.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/Id.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/IdGenerator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/IdGenerator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/IdGenerator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/IdGenerator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/IdUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/IdUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/IdUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/IdUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SnowflakeIdGenerator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SnowflakeIdGenerator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SnowflakeIdGenerator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SnowflakeIdGenerator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SplicingIdGenerator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SplicingIdGenerator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SplicingIdGenerator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/id/SplicingIdGenerator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/IdHolder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/IdHolder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/IdHolder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/IdHolder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/IdHolderList.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/IdHolderList.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/IdHolderList.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/IdHolderList.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageEntryIterator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageEntryIterator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageEntryIterator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageEntryIterator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageIds.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageIds.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageIds.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageIds.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageInfo.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageInfo.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageInfo.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageInfo.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageState.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageState.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageState.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/PageState.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/QueryList.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/QueryList.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/QueryList.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/QueryList.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/SortByCountIdHolderList.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/SortByCountIdHolderList.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/SortByCountIdHolderList.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/page/SortByCountIdHolderList.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Aggregate.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Aggregate.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Aggregate.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Aggregate.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/BatchConditionQuery.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/BatchConditionQuery.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/BatchConditionQuery.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/BatchConditionQuery.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Condition.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Condition.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Condition.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Condition.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/ConditionQuery.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/ConditionQuery.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/ConditionQuery.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/ConditionQuery.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/ConditionQueryFlatten.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/ConditionQueryFlatten.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/ConditionQueryFlatten.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/ConditionQueryFlatten.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/EdgesQueryIterator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/EdgesQueryIterator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/EdgesQueryIterator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/EdgesQueryIterator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdPrefixQuery.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdPrefixQuery.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdPrefixQuery.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdPrefixQuery.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdQuery.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdQuery.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdQuery.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdQuery.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdRangeQuery.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdRangeQuery.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdRangeQuery.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/IdRangeQuery.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Query.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Query.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Query.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Query.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/QueryResults.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/QueryResults.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/QueryResults.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/QueryResults.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/AbstractSerializer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/AbstractSerializer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/AbstractSerializer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/AbstractSerializer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryBackendEntry.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryBackendEntry.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryBackendEntry.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryBackendEntry.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryEntryIterator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryEntryIterator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryEntryIterator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryEntryIterator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryScatterSerializer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryScatterSerializer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryScatterSerializer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryScatterSerializer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinarySerializer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinarySerializer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinarySerializer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinarySerializer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BytesBuffer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BytesBuffer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BytesBuffer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BytesBuffer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/GraphSerializer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/GraphSerializer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/GraphSerializer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/GraphSerializer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/MergeIterator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/MergeIterator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/MergeIterator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/MergeIterator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/SchemaSerializer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/SchemaSerializer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/SchemaSerializer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/SchemaSerializer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/SerializerFactory.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/SerializerFactory.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/SerializerFactory.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/SerializerFactory.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TableBackendEntry.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TableBackendEntry.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TableBackendEntry.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TableBackendEntry.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TableSerializer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TableSerializer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TableSerializer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TableSerializer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TextBackendEntry.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TextBackendEntry.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TextBackendEntry.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TextBackendEntry.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TextSerializer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TextSerializer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TextSerializer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/TextSerializer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/AbstractBackendStore.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/AbstractBackendStore.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/AbstractBackendStore.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/AbstractBackendStore.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/AbstractBackendStoreProvider.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/AbstractBackendStoreProvider.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/AbstractBackendStoreProvider.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/AbstractBackendStoreProvider.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendAction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendAction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendAction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendAction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendEntry.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendEntry.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendEntry.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendEntry.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendEntryIterator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendEntryIterator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendEntryIterator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendEntryIterator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendFeatures.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendFeatures.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendFeatures.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendFeatures.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendMetrics.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendMetrics.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendMetrics.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendMetrics.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendMutation.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendMutation.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendMutation.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendMutation.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendProviderFactory.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendProviderFactory.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendProviderFactory.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendProviderFactory.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendSession.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendSession.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendSession.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendSession.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendSessionPool.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendSessionPool.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendSessionPool.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendSessionPool.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStore.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStore.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStore.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStore.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreInfo.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreInfo.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreInfo.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreInfo.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreProvider.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreProvider.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreProvider.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreProvider.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendTable.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendTable.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendTable.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendTable.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/MetaDispatcher.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/MetaDispatcher.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/MetaDispatcher.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/MetaDispatcher.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/MetaHandler.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/MetaHandler.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/MetaHandler.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/MetaHandler.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/Shard.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/Shard.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/Shard.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/Shard.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/SystemSchemaStore.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/SystemSchemaStore.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/SystemSchemaStore.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/SystemSchemaStore.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/TableDefine.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/TableDefine.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/TableDefine.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/TableDefine.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBStore.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBStore.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBStore.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBStore.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBStoreProvider.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBStoreProvider.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBStoreProvider.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBStoreProvider.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBTable.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBTable.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBTable.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBTable.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBTables.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBTables.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBTables.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryDBTables.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryMetrics.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryMetrics.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryMetrics.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/memory/InMemoryMetrics.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftAddPeerJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftAddPeerJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftAddPeerJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftAddPeerJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftBackendStore.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftBackendStore.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftBackendStore.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftBackendStore.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftBackendStoreProvider.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftBackendStoreProvider.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftBackendStoreProvider.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftBackendStoreProvider.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftClosure.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftClosure.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftClosure.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftClosure.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftContext.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftContext.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftContext.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftContext.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftGroupManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftGroupManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftGroupManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftGroupManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftGroupManagerImpl.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftGroupManagerImpl.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftGroupManagerImpl.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftGroupManagerImpl.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftNode.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftNode.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftNode.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftNode.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftRemovePeerJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftRemovePeerJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftRemovePeerJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftRemovePeerJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftResult.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftResult.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftResult.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftResult.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftStoreClosure.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftStoreClosure.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftStoreClosure.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftStoreClosure.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreCommand.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreCommand.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreCommand.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreCommand.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreSerializer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreSerializer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreSerializer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreSerializer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreSnapshotFile.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreSnapshotFile.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreSnapshotFile.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreSnapshotFile.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreStateMachine.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreStateMachine.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreStateMachine.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/StoreStateMachine.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/CompressStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/CompressStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/CompressStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/CompressStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/CompressStrategyManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/CompressStrategyManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/CompressStrategyManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/CompressStrategyManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/ParallelCompressStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/ParallelCompressStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/ParallelCompressStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/ParallelCompressStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/SerialCompressStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/SerialCompressStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/SerialCompressStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/compress/SerialCompressStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/AddPeerProcessor.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/AddPeerProcessor.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/AddPeerProcessor.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/AddPeerProcessor.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/ListPeersProcessor.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/ListPeersProcessor.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/ListPeersProcessor.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/ListPeersProcessor.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/RemovePeerProcessor.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/RemovePeerProcessor.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/RemovePeerProcessor.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/RemovePeerProcessor.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/RpcForwarder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/RpcForwarder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/RpcForwarder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/RpcForwarder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/SetLeaderProcessor.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/SetLeaderProcessor.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/SetLeaderProcessor.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/SetLeaderProcessor.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/StoreCommandProcessor.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/StoreCommandProcessor.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/StoreCommandProcessor.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/rpc/StoreCommandProcessor.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntIntMap.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntIntMap.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntIntMap.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntIntMap.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntLongMap.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntLongMap.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntLongMap.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntLongMap.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntObjectMap.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntObjectMap.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntObjectMap.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/IntObjectMap.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/RamMap.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/RamMap.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/RamMap.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/RamMap.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/RamTable.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/RamTable.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/RamTable.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/ram/RamTable.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/AbstractTransaction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/AbstractTransaction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/AbstractTransaction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/AbstractTransaction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphIndexTransaction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphIndexTransaction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphIndexTransaction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphIndexTransaction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphTransaction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphTransaction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphTransaction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphTransaction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/IndexableTransaction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/IndexableTransaction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/IndexableTransaction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/IndexableTransaction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaIndexTransaction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaIndexTransaction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaIndexTransaction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaIndexTransaction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaTransaction.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaTransaction.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaTransaction.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaTransaction.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/config/AuthOptions.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/config/AuthOptions.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/config/AuthOptions.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/config/AuthOptions.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/config/CoreOptions.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/config/CoreOptions.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/config/CoreOptions.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/config/CoreOptions.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/exception/ConnectionException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/ConnectionException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/exception/ConnectionException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/ConnectionException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/exception/ExistedException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/ExistedException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/exception/ExistedException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/ExistedException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/exception/HugeGremlinException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/HugeGremlinException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/exception/HugeGremlinException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/HugeGremlinException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/exception/LimitExceedException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/LimitExceedException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/exception/LimitExceedException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/LimitExceedException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NoIndexException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NoIndexException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/exception/NoIndexException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NoIndexException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotAllowException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotAllowException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotAllowException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotAllowException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotFoundException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotFoundException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotFoundException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotFoundException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotSupportException.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotSupportException.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotSupportException.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/exception/NotSupportException.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/io/GraphSONSchemaSerializer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/io/GraphSONSchemaSerializer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/io/GraphSONSchemaSerializer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/io/GraphSONSchemaSerializer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGraphIoRegistry.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGraphIoRegistry.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGraphIoRegistry.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGraphIoRegistry.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGraphSONModule.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGraphSONModule.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGraphSONModule.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGraphSONModule.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGryoModule.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGryoModule.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGryoModule.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/io/HugeGryoModule.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/AlgorithmJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/AlgorithmJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/AlgorithmJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/AlgorithmJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/ComputerJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/ComputerJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/ComputerJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/ComputerJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/EphemeralJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/EphemeralJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/EphemeralJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/EphemeralJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/EphemeralJobBuilder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/EphemeralJobBuilder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/EphemeralJobBuilder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/EphemeralJobBuilder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/GremlinJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/GremlinJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/GremlinJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/GremlinJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/Job.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/Job.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/Job.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/Job.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/JobBuilder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/JobBuilder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/JobBuilder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/JobBuilder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/SysJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/SysJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/SysJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/SysJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/UserJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/UserJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/UserJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/UserJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AbstractAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AbstractAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AbstractAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AbstractAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/Algorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/Algorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/Algorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/Algorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AlgorithmPool.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AlgorithmPool.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AlgorithmPool.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AlgorithmPool.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/BfsTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/BfsTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/BfsTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/BfsTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/Consumers.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/Consumers.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/Consumers.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/Consumers.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/CountEdgeAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/CountEdgeAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/CountEdgeAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/CountEdgeAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/CountVertexAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/CountVertexAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/CountVertexAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/CountVertexAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/SubgraphStatAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/SubgraphStatAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/SubgraphStatAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/SubgraphStatAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/AbstractCentAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/AbstractCentAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/AbstractCentAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/AbstractCentAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithmV2.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithmV2.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithmV2.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithmV2.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/EigenvectorCentralityAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/EigenvectorCentralityAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/EigenvectorCentralityAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/EigenvectorCentralityAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithmV2.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithmV2.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithmV2.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithmV2.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/AbstractCommAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/AbstractCommAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/AbstractCommAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/AbstractCommAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/ClusterCoefficientAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/ClusterCoefficientAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/ClusterCoefficientAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/ClusterCoefficientAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/KCoreAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/KCoreAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/KCoreAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/KCoreAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LouvainAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LouvainAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LouvainAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LouvainAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LouvainTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LouvainTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LouvainTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LouvainTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LpaAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LpaAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LpaAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LpaAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/TriangleCountAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/TriangleCountAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/TriangleCountAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/TriangleCountAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/WeakConnectedComponent.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/WeakConnectedComponent.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/WeakConnectedComponent.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/WeakConnectedComponent.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/path/RingsDetectAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/path/RingsDetectAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/path/RingsDetectAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/path/RingsDetectAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/rank/PageRankAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/rank/PageRankAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/rank/PageRankAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/rank/PageRankAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/similarity/FusiformSimilarityAlgorithm.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/similarity/FusiformSimilarityAlgorithm.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/similarity/FusiformSimilarityAlgorithm.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/similarity/FusiformSimilarityAlgorithm.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/AbstractComputer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/AbstractComputer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/AbstractComputer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/AbstractComputer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/Computer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/Computer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/Computer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/Computer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/ComputerPool.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/ComputerPool.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/ComputerPool.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/ComputerPool.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/LouvainComputer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/LouvainComputer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/LouvainComputer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/LouvainComputer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/LpaComputer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/LpaComputer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/LpaComputer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/LpaComputer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/PageRankComputer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/PageRankComputer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/PageRankComputer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/PageRankComputer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/TriangleCountComputer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/TriangleCountComputer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/TriangleCountComputer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/TriangleCountComputer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/WeakConnectedComponentComputer.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/WeakConnectedComponentComputer.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/WeakConnectedComponentComputer.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/computer/WeakConnectedComponentComputer.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/EdgeLabelRemoveJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/EdgeLabelRemoveJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/EdgeLabelRemoveJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/EdgeLabelRemoveJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRebuildJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRebuildJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRebuildJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRebuildJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRemoveJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRemoveJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRemoveJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRemoveJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyClearJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyClearJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyClearJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyClearJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyCreateJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyCreateJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyCreateJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyCreateJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyRemoveJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyRemoveJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyRemoveJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyRemoveJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/SchemaJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/SchemaJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/SchemaJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/SchemaJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/VertexLabelRemoveJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/VertexLabelRemoveJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/VertexLabelRemoveJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/VertexLabelRemoveJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredElementJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredElementJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredElementJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredElementJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredIndexJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredIndexJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredIndexJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredIndexJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredJob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredJob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredJob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/DeleteExpiredJob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/JobCounters.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/JobCounters.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/job/system/JobCounters.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/system/JobCounters.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/ClusterRole.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/ClusterRole.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/ClusterRole.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/ClusterRole.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/ClusterRoleStore.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/ClusterRoleStore.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/ClusterRoleStore.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/ClusterRoleStore.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/Config.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/Config.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/Config.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/Config.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionConfig.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionConfig.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionConfig.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionConfig.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionOptions.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionOptions.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionOptions.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionOptions.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionStateMachine.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionStateMachine.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionStateMachine.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/RoleElectionStateMachine.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardClusterRoleStore.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardClusterRoleStore.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardClusterRoleStore.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardClusterRoleStore.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardRoleElectionStateMachine.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardRoleElectionStateMachine.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardRoleElectionStateMachine.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardRoleElectionStateMachine.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardStateMachineCallback.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardStateMachineCallback.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardStateMachineCallback.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardStateMachineCallback.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StateMachineCallback.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StateMachineCallback.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StateMachineCallback.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StateMachineCallback.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StateMachineContext.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StateMachineContext.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StateMachineContext.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StateMachineContext.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/plugin/HugeGraphGremlinPlugin.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/plugin/HugeGraphGremlinPlugin.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/plugin/HugeGraphGremlinPlugin.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/plugin/HugeGraphGremlinPlugin.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/plugin/HugeGraphPlugin.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/plugin/HugeGraphPlugin.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/plugin/HugeGraphPlugin.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/plugin/HugeGraphPlugin.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/rpc/RpcServiceConfig4Client.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/rpc/RpcServiceConfig4Client.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/rpc/RpcServiceConfig4Client.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/rpc/RpcServiceConfig4Client.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/rpc/RpcServiceConfig4Server.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/rpc/RpcServiceConfig4Server.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/rpc/RpcServiceConfig4Server.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/rpc/RpcServiceConfig4Server.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/EdgeLabel.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/EdgeLabel.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/EdgeLabel.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/EdgeLabel.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/IndexLabel.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/IndexLabel.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/IndexLabel.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/IndexLabel.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/PropertyKey.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/PropertyKey.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/PropertyKey.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/PropertyKey.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaElement.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaElement.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaElement.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaElement.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaLabel.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaLabel.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaLabel.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaLabel.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/Userdata.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/Userdata.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/Userdata.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/Userdata.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/VertexLabel.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/VertexLabel.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/VertexLabel.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/VertexLabel.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/AbstractBuilder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/AbstractBuilder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/AbstractBuilder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/AbstractBuilder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/EdgeLabelBuilder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/EdgeLabelBuilder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/EdgeLabelBuilder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/EdgeLabelBuilder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/IndexLabelBuilder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/IndexLabelBuilder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/IndexLabelBuilder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/IndexLabelBuilder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/PropertyKeyBuilder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/PropertyKeyBuilder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/PropertyKeyBuilder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/PropertyKeyBuilder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/SchemaBuilder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/SchemaBuilder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/SchemaBuilder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/SchemaBuilder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/VertexLabelBuilder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/VertexLabelBuilder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/VertexLabelBuilder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/VertexLabelBuilder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/security/HugeSecurityManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/security/HugeSecurityManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/security/HugeSecurityManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/security/HugeSecurityManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/structure/GraphType.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/GraphType.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/structure/GraphType.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/GraphType.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeEdge.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeEdge.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeEdge.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeEdge.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeEdgeProperty.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeEdgeProperty.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeEdgeProperty.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeEdgeProperty.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeElement.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeElement.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeElement.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeElement.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeFeatures.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeFeatures.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeFeatures.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeFeatures.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeIndex.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeIndex.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeIndex.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeIndex.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeProperty.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeProperty.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeProperty.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeProperty.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeVertex.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeVertex.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeVertex.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeVertex.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeVertexProperty.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeVertexProperty.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeVertexProperty.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeVertexProperty.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/task/EphemeralJobQueue.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/EphemeralJobQueue.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/task/EphemeralJobQueue.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/EphemeralJobQueue.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeServerInfo.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeServerInfo.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeServerInfo.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeServerInfo.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeTask.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeTask.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeTask.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeTask.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/task/ServerInfoManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/ServerInfoManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/task/ServerInfoManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/ServerInfoManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/task/StandardTaskScheduler.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/StandardTaskScheduler.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/task/StandardTaskScheduler.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/StandardTaskScheduler.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskCallable.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskCallable.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskCallable.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskCallable.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskManager.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskManager.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskManager.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskManager.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskScheduler.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskScheduler.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskScheduler.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskScheduler.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskStatus.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskStatus.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskStatus.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/TaskStatus.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CollectionPathsTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CollectionPathsTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CollectionPathsTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CollectionPathsTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CountTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CountTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CountTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CountTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CustomizePathsTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CustomizePathsTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CustomizePathsTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CustomizePathsTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CustomizedCrosspointsTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CustomizedCrosspointsTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CustomizedCrosspointsTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/CustomizedCrosspointsTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/FusiformSimilarityTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/FusiformSimilarityTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/FusiformSimilarityTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/FusiformSimilarityTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/HugeTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/HugeTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/HugeTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/HugeTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/JaccardSimilarTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/JaccardSimilarTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/JaccardSimilarTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/JaccardSimilarTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KneighborTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KneighborTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KneighborTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KneighborTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KoutTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KoutTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KoutTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KoutTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/MultiNodeShortestPathTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/MultiNodeShortestPathTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/MultiNodeShortestPathTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/MultiNodeShortestPathTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/NeighborRankTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/NeighborRankTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/NeighborRankTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/NeighborRankTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/OltpTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/OltpTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/OltpTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/OltpTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathsTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathsTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathsTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathsTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PersonalRankTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PersonalRankTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PersonalRankTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PersonalRankTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PredictionTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PredictionTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PredictionTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PredictionTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SameNeighborTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SameNeighborTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SameNeighborTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SameNeighborTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/ShortestPathTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/ShortestPathTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/ShortestPathTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/ShortestPathTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SingleSourceShortestPathTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SingleSourceShortestPathTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SingleSourceShortestPathTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SingleSourceShortestPathTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SubGraphTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SubGraphTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SubGraphTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SubGraphTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/TemplatePathsTraverser.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/TemplatePathsTraverser.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/TemplatePathsTraverser.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/TemplatePathsTraverser.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/iterator/NestedIterator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/iterator/NestedIterator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/iterator/NestedIterator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/iterator/NestedIterator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/AbstractRecords.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/AbstractRecords.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/AbstractRecords.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/AbstractRecords.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/DoubleWayMultiPathsRecords.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/DoubleWayMultiPathsRecords.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/DoubleWayMultiPathsRecords.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/DoubleWayMultiPathsRecords.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KneighborRecords.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KneighborRecords.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KneighborRecords.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KneighborRecords.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KoutRecords.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KoutRecords.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KoutRecords.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/KoutRecords.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/PathsRecords.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/PathsRecords.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/PathsRecords.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/PathsRecords.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/Records.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/Records.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/Records.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/Records.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/ShortestPathRecords.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/ShortestPathRecords.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/ShortestPathRecords.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/ShortestPathRecords.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/SingleWayMultiPathsRecords.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/SingleWayMultiPathsRecords.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/SingleWayMultiPathsRecords.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/SingleWayMultiPathsRecords.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2ArrayRecord.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2ArrayRecord.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2ArrayRecord.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2ArrayRecord.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2IntRecord.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2IntRecord.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2IntRecord.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2IntRecord.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2SetRecord.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2SetRecord.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2SetRecord.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Int2SetRecord.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Record.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Record.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Record.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/Record.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/RecordFactory.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/RecordFactory.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/RecordFactory.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/RecordFactory.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/RecordType.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/RecordType.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/RecordType.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/RecordType.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/SyncRecord.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/SyncRecord.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/SyncRecord.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/records/record/SyncRecord.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/EdgeStep.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/EdgeStep.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/EdgeStep.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/EdgeStep.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/RepeatEdgeStep.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/RepeatEdgeStep.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/RepeatEdgeStep.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/RepeatEdgeStep.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/Steps.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/Steps.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/Steps.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/Steps.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/WeightedEdgeStep.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/WeightedEdgeStep.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/WeightedEdgeStep.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/steps/WeightedEdgeStep.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/ConcurrentTraverseStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/ConcurrentTraverseStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/ConcurrentTraverseStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/ConcurrentTraverseStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/SingleTraverseStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/SingleTraverseStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/SingleTraverseStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/SingleTraverseStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/TraverseStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/TraverseStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/TraverseStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/strategy/TraverseStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/ConditionP.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/ConditionP.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/ConditionP.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/ConditionP.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeCountStep.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeCountStep.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeCountStep.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeCountStep.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeCountStepStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeCountStepStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeCountStepStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeCountStepStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeGraphStep.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeGraphStep.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeGraphStep.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeGraphStep.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeGraphStepStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeGraphStepStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeGraphStepStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeGraphStepStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugePrimaryKeyStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugePrimaryKeyStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugePrimaryKeyStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugePrimaryKeyStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeScriptTraversal.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeScriptTraversal.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeScriptTraversal.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeScriptTraversal.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStep.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStep.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStep.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStep.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStepByBatch.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStepByBatch.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStepByBatch.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStepByBatch.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStepStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStepStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStepStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/HugeVertexStepStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/QueryHolder.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/QueryHolder.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/QueryHolder.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/QueryHolder.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/Text.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/Text.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/Text.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/Text.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/TraversalUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/TraversalUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/TraversalUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/TraversalUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/HugeType.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/HugeType.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/HugeType.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/HugeType.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/Idfiable.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Idfiable.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/Idfiable.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Idfiable.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/Indexable.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Indexable.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/Indexable.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Indexable.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/Nameable.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Nameable.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/Nameable.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Nameable.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/Propertiable.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Propertiable.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/Propertiable.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Propertiable.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/Typeable.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Typeable.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/Typeable.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/Typeable.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Action.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Action.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Action.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Action.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/AggregateType.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/AggregateType.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/AggregateType.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/AggregateType.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Cardinality.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Cardinality.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Cardinality.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Cardinality.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/CollectionType.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/CollectionType.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/CollectionType.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/CollectionType.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/DataType.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/DataType.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/DataType.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/DataType.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Directions.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Directions.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Directions.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Directions.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Frequency.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Frequency.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Frequency.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/Frequency.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/GraphMode.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/GraphMode.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/GraphMode.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/GraphMode.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/GraphReadMode.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/GraphReadMode.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/GraphReadMode.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/GraphReadMode.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/HugeKeys.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/HugeKeys.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/HugeKeys.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/HugeKeys.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/IdStrategy.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/IdStrategy.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/IdStrategy.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/IdStrategy.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/IndexType.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/IndexType.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/IndexType.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/IndexType.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/NodeRole.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/NodeRole.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/NodeRole.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/NodeRole.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/SchemaStatus.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/SchemaStatus.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/SchemaStatus.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/SchemaStatus.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/SerialEnum.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/SerialEnum.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/SerialEnum.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/SerialEnum.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/WriteType.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/WriteType.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/type/define/WriteType.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/WriteType.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/Blob.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/Blob.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/Blob.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/Blob.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/CompressUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/CompressUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/CompressUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/CompressUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/ConfigUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/ConfigUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/ConfigUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/ConfigUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/Consumers.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/Consumers.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/Consumers.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/Consumers.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/CopyUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/CopyUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/CopyUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/CopyUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/Events.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/Events.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/Events.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/Events.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/FixedTimerWindowRateLimiter.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/FixedTimerWindowRateLimiter.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/FixedTimerWindowRateLimiter.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/FixedTimerWindowRateLimiter.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/FixedWatchWindowRateLimiter.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/FixedWatchWindowRateLimiter.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/FixedWatchWindowRateLimiter.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/FixedWatchWindowRateLimiter.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/GZipUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/GZipUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/GZipUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/GZipUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/JsonUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/JsonUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/JsonUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/JsonUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/KryoUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/KryoUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/KryoUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/KryoUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/LZ4Util.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/LZ4Util.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/LZ4Util.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/LZ4Util.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/LockUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/LockUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/LockUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/LockUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/ParameterUtil.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/ParameterUtil.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/ParameterUtil.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/ParameterUtil.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/RateLimiter.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/RateLimiter.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/RateLimiter.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/RateLimiter.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/Reflection.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/Reflection.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/Reflection.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/Reflection.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/StringEncoding.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/StringEncoding.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/StringEncoding.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/StringEncoding.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/CollectionFactory.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/CollectionFactory.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/CollectionFactory.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/CollectionFactory.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IdSet.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IdSet.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IdSet.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IdSet.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/Int2IntsMap.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/Int2IntsMap.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/Int2IntsMap.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/Int2IntsMap.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntIterator.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntIterator.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntIterator.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntIterator.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntMap.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntMap.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntMap.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntMap.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntSet.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntSet.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntSet.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/IntSet.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/ObjectIntMapping.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/ObjectIntMapping.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/ObjectIntMapping.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/ObjectIntMapping.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/ObjectIntMappingFactory.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/ObjectIntMappingFactory.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/ObjectIntMappingFactory.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/collection/ObjectIntMappingFactory.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/variables/HugeVariables.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/variables/HugeVariables.java
similarity index 100%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/variables/HugeVariables.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/variables/HugeVariables.java
diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/version/CoreVersion.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/version/CoreVersion.java
similarity index 96%
rename from hugegraph-core/src/main/java/org/apache/hugegraph/version/CoreVersion.java
rename to hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/version/CoreVersion.java
index b47f944..480236f 100644
--- a/hugegraph-core/src/main/java/org/apache/hugegraph/version/CoreVersion.java
+++ b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/version/CoreVersion.java
@@ -29,7 +29,7 @@
 
     public static final String NAME = "hugegraph-core";
 
-    public static final String DEFAULT_VERSION = "1.0.0";
+    public static final String DEFAULT_VERSION = "1.5.0";
 
     // The second parameter of Version.of() is for IDE running without JAR
     public static final Version VERSION = Version.of(CoreVersion.class, DEFAULT_VERSION);
diff --git a/hugegraph-core/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin b/hugegraph-server/hugegraph-core/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin
similarity index 100%
rename from hugegraph-core/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin
rename to hugegraph-server/hugegraph-core/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin
diff --git a/hugegraph-core/src/main/resources/hugegraph.properties b/hugegraph-server/hugegraph-core/src/main/resources/hugegraph.properties
similarity index 100%
rename from hugegraph-core/src/main/resources/hugegraph.properties
rename to hugegraph-server/hugegraph-core/src/main/resources/hugegraph.properties
diff --git a/hugegraph-core/src/main/resources/proto/raft.proto b/hugegraph-server/hugegraph-core/src/main/resources/proto/raft.proto
similarity index 100%
rename from hugegraph-core/src/main/resources/proto/raft.proto
rename to hugegraph-server/hugegraph-core/src/main/resources/proto/raft.proto
diff --git a/hugegraph-dist/README.md b/hugegraph-server/hugegraph-dist/README.md
similarity index 100%
rename from hugegraph-dist/README.md
rename to hugegraph-server/hugegraph-dist/README.md
diff --git a/hugegraph-dist/dist.sh b/hugegraph-server/hugegraph-dist/dist.sh
similarity index 100%
rename from hugegraph-dist/dist.sh
rename to hugegraph-server/hugegraph-dist/dist.sh
diff --git a/hugegraph-dist/docker/docker-entrypoint.sh b/hugegraph-server/hugegraph-dist/docker/docker-entrypoint.sh
similarity index 100%
rename from hugegraph-dist/docker/docker-entrypoint.sh
rename to hugegraph-server/hugegraph-dist/docker/docker-entrypoint.sh
diff --git a/hugegraph-dist/docker/example/docker-compose-cassandra.yml b/hugegraph-server/hugegraph-dist/docker/example/docker-compose-cassandra.yml
similarity index 100%
rename from hugegraph-dist/docker/example/docker-compose-cassandra.yml
rename to hugegraph-server/hugegraph-dist/docker/example/docker-compose-cassandra.yml
diff --git a/hugegraph-dist/docker/scripts/detect-storage.groovy b/hugegraph-server/hugegraph-dist/docker/scripts/detect-storage.groovy
similarity index 100%
rename from hugegraph-dist/docker/scripts/detect-storage.groovy
rename to hugegraph-server/hugegraph-dist/docker/scripts/detect-storage.groovy
diff --git a/hugegraph-dist/docker/scripts/remote-connect.groovy b/hugegraph-server/hugegraph-dist/docker/scripts/remote-connect.groovy
similarity index 100%
rename from hugegraph-dist/docker/scripts/remote-connect.groovy
rename to hugegraph-server/hugegraph-dist/docker/scripts/remote-connect.groovy
diff --git a/hugegraph-dist/pom.xml b/hugegraph-server/hugegraph-dist/pom.xml
similarity index 99%
rename from hugegraph-dist/pom.xml
rename to hugegraph-server/hugegraph-dist/pom.xml
index 48ad201..9a58ac7 100644
--- a/hugegraph-dist/pom.xml
+++ b/hugegraph-server/hugegraph-dist/pom.xml
@@ -19,7 +19,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <groupId>org.apache.hugegraph</groupId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
diff --git a/hugegraph-dist/release-docs/LICENSE b/hugegraph-server/hugegraph-dist/release-docs/LICENSE
similarity index 100%
rename from hugegraph-dist/release-docs/LICENSE
rename to hugegraph-server/hugegraph-dist/release-docs/LICENSE
diff --git a/hugegraph-dist/release-docs/NOTICE b/hugegraph-server/hugegraph-dist/release-docs/NOTICE
similarity index 100%
rename from hugegraph-dist/release-docs/NOTICE
rename to hugegraph-server/hugegraph-dist/release-docs/NOTICE
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-HdrHistogram.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-HdrHistogram.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-HdrHistogram.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-HdrHistogram.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-ST4.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-ST4.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-ST4.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-ST4.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-arthas-agent-attach.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-arthas-agent-attach.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-arthas-agent-attach.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-arthas-agent-attach.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-arthas-packaging.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-arthas-packaging.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-arthas-packaging.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-arthas-packaging.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-audience-annotations.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-audience-annotations.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-audience-annotations.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-audience-annotations.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy-agent-1.11.6.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy-agent-1.11.6.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy-agent-1.11.6.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy-agent-1.11.6.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy-agent.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy-agent.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy-agent.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy-agent.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-byte-buddy.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-cassandra-all.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-cassandra-all.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-cassandra-all.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-cassandra-all.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-beanutils.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-beanutils.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-beanutils.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-beanutils.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-cli.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-cli.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-cli.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-cli.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-codec.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-codec.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-codec.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-codec.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-collections.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-collections.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-collections.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-collections.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-compress.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-compress.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-compress.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-compress.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-configuration.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-configuration.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-configuration.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-configuration.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-configuration2.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-configuration2.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-configuration2.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-configuration2.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-io.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-io.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-io.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-io.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-lang.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-lang.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-lang.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-lang.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-lang3.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-lang3.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-lang3.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-lang3.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-logging.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-logging.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-logging.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-logging.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-math3.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-math3.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-math3.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-math3.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-commons-text.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-text.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-commons-text.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-commons-text.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-compress-lzf.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-compress-lzf.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-compress-lzf.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-compress-lzf.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-concurrent-trees.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-concurrent-trees.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-concurrent-trees.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-concurrent-trees.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-concurrentlinkedhashmap-lru.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-concurrentlinkedhashmap-lru.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-concurrentlinkedhashmap-lru.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-concurrentlinkedhashmap-lru.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-disruptor.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-disruptor.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-disruptor.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-disruptor.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-error-prone.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-error-prone.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-error-prone.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-error-prone.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-exp4j.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-exp4j.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-exp4j.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-exp4j.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-expressions-9.0.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-expressions-9.0.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-expressions-9.0.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-expressions-9.0.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-fastutil.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-fastutil.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-fastutil.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-fastutil.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-findbugs-annotations.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-findbugs-annotations.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-findbugs-annotations.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-findbugs-annotations.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-front-end.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-front-end.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-front-end.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-front-end.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-console.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-console.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-gremlin-console.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-console.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-core.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-core.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-gremlin-core.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-core.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-driver.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-driver.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-gremlin-driver.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-driver.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-groovy.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-groovy.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-gremlin-groovy.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-groovy.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-server.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-server.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-gremlin-server.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-server.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-shaded.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-shaded.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-gremlin-shaded.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-shaded.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-test.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-test.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-gremlin-test.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-gremlin-test.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-groovy-2.5.14.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-2.5.14.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-groovy-2.5.14.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-2.5.14.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-groovy-cli-picocli.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-cli-picocli.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-groovy-cli-picocli.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-cli-picocli.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-groovy-console.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-console.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-groovy-console.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-console.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-groovy-groovysh.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-groovysh.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-groovy-groovysh.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-groovysh.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-groovy-json.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-json.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-groovy-json.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-json.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-groovy-jsr223.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-jsr223.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-groovy-jsr223.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-jsr223.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-groovy-swing.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-swing.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-groovy-swing.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-swing.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-groovy-templates.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-templates.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-groovy-templates.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-templates.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-groovy-xml.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-xml.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-groovy-xml.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-groovy-xml.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-hamcrest.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-hamcrest.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-hamcrest.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-hamcrest.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-hbase-shaded-endpoint.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-hbase-shaded-endpoint.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-hbase-shaded-endpoint.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-hbase-shaded-endpoint.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-hppc.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-hppc.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-hppc.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-hppc.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-htrace-core4-4.2.0.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-htrace-core4-4.2.0.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-htrace-core4-4.2.0.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-htrace-core4-4.2.0.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-httpclient.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-httpclient.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-httpclient.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-httpclient.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-httpcore.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-httpcore.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-httpcore.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-httpcore.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-ikanalyzer-2012_u6.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-ikanalyzer-2012_u6.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-ikanalyzer-2012_u6.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-ikanalyzer-2012_u6.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-ivy.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-ivy.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-ivy.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-ivy.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jackson-annotations.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-annotations.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jackson-annotations.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-annotations.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jackson-core.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-core.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jackson-core.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-core.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jackson-databind.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-databind.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jackson-databind.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-databind.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jackson-dataformat-yaml.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-dataformat-yaml.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jackson-dataformat-yaml.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-dataformat-yaml.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jackson-datatype-jsr310.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-datatype-jsr310.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jackson-datatype-jsr310.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-datatype-jsr310.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-base.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-base.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-base.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-base.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-json-provider-2.12.1.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-json-provider-2.12.1.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-json-provider-2.12.1.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-json-provider-2.12.1.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-json-provider.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-json-provider.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-json-provider.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-jaxrs-json-provider.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jackson-module-jaxb-annotations.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-module-jaxb-annotations.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jackson-module-jaxb-annotations.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jackson-module-jaxb-annotations.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-javax.json.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-javax.json.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-javax.json.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-javax.json.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jcabi-log.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jcabi-log.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jcabi-log.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jcabi-log.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jcabi-manifests.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jcabi-manifests.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jcabi-manifests.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jcabi-manifests.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jcl-over-slf4j.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jcl-over-slf4j.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jcl-over-slf4j.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jcl-over-slf4j.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jersey-client.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jersey-client.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jersey-client.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jersey-client.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jflex.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jflex.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jflex.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jflex.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jieba-analysis.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jieba-analysis.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jieba-analysis.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jieba-analysis.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-jna.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jna.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-jna.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-jna.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-json-simple.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-json-simple.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-json-simple.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-json-simple.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-json-smart.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-json-smart.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-json-smart.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-json-smart.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerb-admin.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-admin.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerb-admin.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-admin.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerb-client.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-client.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerb-client.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-client.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerb-common.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-common.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerb-common.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-common.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerb-core.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-core.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerb-core.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-core.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerb-crypto.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-crypto.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerb-crypto.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-crypto.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerb-identity.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-identity.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerb-identity.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-identity.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerb-server.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-server.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerb-server.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-server.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerb-simplekdc.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-simplekdc.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerb-simplekdc.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-simplekdc.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerb-util.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-util.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerb-util.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerb-util.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerby-asn1.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-asn1.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerby-asn1.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-asn1.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerby-config.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-config.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerby-config.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-config.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerby-pkix.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-pkix.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerby-pkix.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-pkix.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerby-util.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-util.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerby-util.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-util.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-kerby-xdr.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-xdr.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-kerby-xdr.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-kerby-xdr.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-log4j-api.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-log4j-api.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-log4j-api.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-log4j-api.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-log4j-core.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-log4j-core.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-log4j-core.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-log4j-core.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-log4j-slf4j-impl.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-log4j-slf4j-impl.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-log4j-slf4j-impl.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-log4j-slf4j-impl.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-objenesis.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-objenesis.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-objenesis.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-objenesis.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-ohc-core.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-ohc-core.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-ohc-core.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-ohc-core.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-opencypher-ast-9.0.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-opencypher-ast-9.0.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-opencypher-ast-9.0.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-opencypher-ast-9.0.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-parboiled-core.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-parboiled-core.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-parboiled-core.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-parboiled-core.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-parboiled-scala_2.12.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-parboiled-scala_2.12.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-parboiled-scala_2.12.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-parboiled-scala_2.12.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-parser-9.0.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-parser-9.0.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-parser-9.0.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-parser-9.0.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-postgresql.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-postgresql.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-postgresql.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-postgresql.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-rewriting-9.0.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-rewriting-9.0.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-rewriting-9.0.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-rewriting-9.0.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-rocksdbjni.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-rocksdbjni.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-rocksdbjni.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-rocksdbjni.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-sigar.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-sigar.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-sigar.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-sigar.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-snakeyaml.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-snakeyaml.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-snakeyaml.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-snakeyaml.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-snowball-stemmer.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-snowball-stemmer.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-snowball-stemmer.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-snowball-stemmer.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-swagger-annotations.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-swagger-annotations.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-swagger-annotations.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-swagger-annotations.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-swagger-models.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-swagger-models.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-swagger-models.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-swagger-models.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-tinkergraph-gremlin.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-tinkergraph-gremlin.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-tinkergraph-gremlin.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-tinkergraph-gremlin.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-token-provider.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-token-provider.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-token-provider.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-token-provider.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-tracer-core.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-tracer-core.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-tracer-core.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-tracer-core.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-util-9.0.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-util-9.0.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-util-9.0.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-util-9.0.txt
diff --git a/hugegraph-dist/release-docs/licenses/LICENSE-zt-zip.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-zt-zip.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LICENSE-zt-zip.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LICENSE-zt-zip.txt
diff --git a/hugegraph-dist/release-docs/licenses/LINCENSE-jopt-simple.txt b/hugegraph-server/hugegraph-dist/release-docs/licenses/LINCENSE-jopt-simple.txt
similarity index 100%
rename from hugegraph-dist/release-docs/licenses/LINCENSE-jopt-simple.txt
rename to hugegraph-server/hugegraph-dist/release-docs/licenses/LINCENSE-jopt-simple.txt
diff --git a/hugegraph-dist/scripts/apache-release.sh b/hugegraph-server/hugegraph-dist/scripts/apache-release.sh
similarity index 95%
rename from hugegraph-dist/scripts/apache-release.sh
rename to hugegraph-server/hugegraph-dist/scripts/apache-release.sh
index 463373c..a92a59b 100755
--- a/hugegraph-dist/scripts/apache-release.sh
+++ b/hugegraph-server/hugegraph-dist/scripts/apache-release.sh
@@ -41,7 +41,7 @@
 # step1: package the source code
 cd ../../
 git archive --format=tar.gz \
-  --output="hugegraph-dist/scripts/dist/apache-${REPO}/apache-${REPO}-incubating-${RELEASE_VERSION}-src.tar.gz" \
+  --output="hugegraph-server/hugegraph-dist/scripts/dist/apache-${REPO}/apache-${REPO}-incubating-${RELEASE_VERSION}-src.tar.gz" \
   --prefix=apache-${REPO}-incubating-"${RELEASE_VERSION}"-src/ "${GIT_BRANCH}" || exit
 cd - || exit
 
diff --git a/hugegraph-dist/scripts/dependency/check_dependencies.sh b/hugegraph-server/hugegraph-dist/scripts/dependency/check_dependencies.sh
similarity index 100%
rename from hugegraph-dist/scripts/dependency/check_dependencies.sh
rename to hugegraph-server/hugegraph-dist/scripts/dependency/check_dependencies.sh
diff --git a/hugegraph-dist/scripts/dependency/known-dependencies.txt b/hugegraph-server/hugegraph-dist/scripts/dependency/known-dependencies.txt
similarity index 94%
rename from hugegraph-dist/scripts/dependency/known-dependencies.txt
rename to hugegraph-server/hugegraph-dist/scripts/dependency/known-dependencies.txt
index d40b204..0069eea 100644
--- a/hugegraph-dist/scripts/dependency/known-dependencies.txt
+++ b/hugegraph-server/hugegraph-dist/scripts/dependency/known-dependencies.txt
@@ -1,8 +1,6 @@
-HdrHistogram-2.1.9.jar
-ST4-4.0.8.jar
 accessors-smart-1.2.jar
 airline-0.8.jar
-animal-sniffer-annotations-1.14.jar
+animal-sniffer-annotations-1.19.jar
 annotations-4.1.1.4.jar
 ansj_seg-5.1.6.jar
 antlr-runtime-3.5.2.jar
@@ -25,7 +23,8 @@
 caffeine-2.5.6.jar
 cassandra-all-4.0.10.jar
 cassandra-driver-core-3.6.0.jar
-checker-qual-2.0.0.jar
+checker-compat-qual-2.5.5.jar
+checker-qual-3.12.0.jar
 checker-qual-3.5.0.jar
 chronicle-bytes-2.20.111.jar
 chronicle-core-2.20.126.jar
@@ -55,10 +54,11 @@
 disruptor-3.3.7.jar
 eclipse-collections-11.1.0.jar
 eclipse-collections-api-11.1.0.jar
-error_prone_annotations-2.1.3.jar
 error_prone_annotations-2.10.0.jar
+error_prone_annotations-2.3.4.jar
 exp4j-0.4.8.jar
 expressions-9.0-9.0.20190305.jar
+failureaccess-1.0.1.jar
 fastparse_2.12-2.0.4.jar
 fastutil-8.5.9.jar
 findbugs-annotations-1.3.9-1.jar
@@ -88,12 +88,17 @@
 grpc-context-1.47.0.jar
 grpc-core-1.47.0.jar
 grpc-netty-shaded-1.47.0.jar
+grpc-protobuf-1.28.0.jar
+grpc-protobuf-lite-1.28.0.jar
 gson-2.9.0.jar
-guava-25.1-jre.jar
+guava-27.0-jre.jar
+guava-30.0-jre.jar
+guava-31.0.1-android.jar
 hamcrest-2.2.jar
 hamcrest-core-1.3.jar
 hanlp-portable-1.8.3.jar
 hbase-shaded-endpoint-2.0.6.jar
+HdrHistogram-2.1.9.jar
 hessian-3.3.6.jar
 high-scale-lib-1.0.6.jar
 hk2-api-3.0.1.jar
@@ -106,7 +111,6 @@
 httpcore-4.4.13.jar
 ikanalyzer-2012_u6.jar
 ivy-2.4.0.jar
-j2objc-annotations-1.1.jar
 j2objc-annotations-1.3.jar
 jackson-annotations-2.13.2.jar
 jackson-annotations-2.14.0-rc1.jar
@@ -165,8 +169,8 @@
 jersey-server-3.0.3.jar
 jersey-test-framework-core-3.0.3.jar
 jersey-test-framework-provider-grizzly2-3.0.3.jar
-jffi-1.2.16-native.jar
 jffi-1.2.16.jar
+jffi-1.2.16-native.jar
 jflex-1.8.2.jar
 jieba-analysis-1.0.2.jar
 jjwt-api-0.11.5.jar
@@ -181,7 +185,7 @@
 json-simple-1.1.jar
 json-smart-2.3.jar
 jsr305-3.0.1.jar
-junit-4.12.jar
+junit-4.13.1.jar
 jvm-attach-api-1.5.jar
 kerb-admin-2.0.0.jar
 kerb-client-2.0.0.jar
@@ -197,6 +201,7 @@
 kerby-pkix-2.0.0.jar
 kerby-util-2.0.0.jar
 kerby-xdr-2.0.0.jar
+listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
 log4j-api-2.17.1.jar
 log4j-core-2.17.1.jar
 log4j-slf4j-impl-2.17.1.jar
@@ -237,11 +242,12 @@
 parser-9.0-9.0.20190305.jar
 perfmark-api-0.25.0.jar
 picocli-4.3.2.jar
-postgresql-42.4.1.jar
+postgresql-42.4.3.jar
 protobuf-java-3.21.7.jar
+proto-google-common-protos-1.17.0.jar
 psjava-0.1.19.jar
-reporter-config-base-3.0.3.jar
 reporter-config3-3.0.3.jar
+reporter-config-base-3.0.3.jar
 rewriting-9.0-9.0.20190305.jar
 rocksdbjni-7.2.2.jar
 scala-java8-compat_2.12-0.8.0.jar
@@ -261,6 +267,7 @@
 sofa-common-tools-1.0.12.jar
 sofa-rpc-all-5.7.6.jar
 sourcecode_2.12-0.1.4.jar
+ST4-4.0.8.jar
 stream-2.5.2.jar
 swagger-annotations-1.5.18.jar
 swagger-annotations-jakarta-2.2.18.jar
diff --git a/hugegraph-dist/scripts/dependency/regenerate_known_dependencies.sh b/hugegraph-server/hugegraph-dist/scripts/dependency/regenerate_known_dependencies.sh
similarity index 100%
rename from hugegraph-dist/scripts/dependency/regenerate_known_dependencies.sh
rename to hugegraph-server/hugegraph-dist/scripts/dependency/regenerate_known_dependencies.sh
diff --git a/hugegraph-dist/src/assembly/descriptor/assembly.xml b/hugegraph-server/hugegraph-dist/src/assembly/descriptor/assembly.xml
similarity index 96%
rename from hugegraph-dist/src/assembly/descriptor/assembly.xml
rename to hugegraph-server/hugegraph-dist/src/assembly/descriptor/assembly.xml
index a5b3002..4ae2286 100644
--- a/hugegraph-dist/src/assembly/descriptor/assembly.xml
+++ b/hugegraph-server/hugegraph-dist/src/assembly/descriptor/assembly.xml
@@ -49,7 +49,7 @@
             </includes>
         </fileSet>
         <fileSet>
-            <directory>${top.level.dir}/hugegraph-dist/release-docs/</directory>
+            <directory>${top.level.dir}/hugegraph-server/hugegraph-dist/release-docs/</directory>
             <outputDirectory>/</outputDirectory>
         </fileSet>
         <fileSet>
diff --git a/hugegraph-dist/src/assembly/jenkins/build.sh b/hugegraph-server/hugegraph-dist/src/assembly/jenkins/build.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/jenkins/build.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/jenkins/build.sh
diff --git a/hugegraph-dist/src/assembly/jenkins/config.sh b/hugegraph-server/hugegraph-dist/src/assembly/jenkins/config.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/jenkins/config.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/jenkins/config.sh
diff --git a/hugegraph-dist/src/assembly/jenkins/deploy.sh b/hugegraph-server/hugegraph-dist/src/assembly/jenkins/deploy.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/jenkins/deploy.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/jenkins/deploy.sh
diff --git a/hugegraph-dist/src/assembly/jenkins/jenkins.sh b/hugegraph-server/hugegraph-dist/src/assembly/jenkins/jenkins.sh
similarity index 97%
rename from hugegraph-dist/src/assembly/jenkins/jenkins.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/jenkins/jenkins.sh
index c177c03..559bf80 100644
--- a/hugegraph-dist/src/assembly/jenkins/jenkins.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/jenkins/jenkins.sh
@@ -18,7 +18,7 @@
 # Backends contains [memory, rocksdb, cassandra, scylladb, mysql]
 export BACKEND=memory
 # The jenkins script store path
-export SCRIPT_DIR="hugegraph-dist/src/assembly/jenkins"
+export SCRIPT_DIR="hugegraph-server/hugegraph-dist/src/assembly/jenkins"
 
 # The jenkins job integrated behavior: [test, deploy, publish]
 export ACTION=${ACTION}
diff --git a/hugegraph-dist/src/assembly/jenkins/publish.sh b/hugegraph-server/hugegraph-dist/src/assembly/jenkins/publish.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/jenkins/publish.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/jenkins/publish.sh
diff --git a/hugegraph-dist/src/assembly/jenkins/test.sh b/hugegraph-server/hugegraph-dist/src/assembly/jenkins/test.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/jenkins/test.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/jenkins/test.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/checksocket.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/checksocket.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/checksocket.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/checksocket.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/docker-entrypoint.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/docker-entrypoint.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/docker-entrypoint.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/docker-entrypoint.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/dump-conf.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/dump-conf.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/dump-conf.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/dump-conf.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/dump-store.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/dump-store.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/dump-store.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/dump-store.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/gremlin-console.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/gremlin-console.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/gremlin-console.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/gremlin-console.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/hugegraph b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/hugegraph
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph
diff --git a/hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/hugegraph.service b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph.service
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/hugegraph.service
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph.service
diff --git a/hugegraph-dist/src/assembly/static/bin/init-store.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/init-store.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/init-store.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/init-store.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/install.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/install.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/install.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/install.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/monitor-hugegraph.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/monitor-hugegraph.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/monitor-hugegraph.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/monitor-hugegraph.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/raft-tools.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/raft-tools.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/raft-tools.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/raft-tools.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/start-hugegraph.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/start-hugegraph.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/start-hugegraph.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/start-hugegraph.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/start-monitor.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/start-monitor.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/start-monitor.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/start-monitor.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/stop-hugegraph.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/stop-hugegraph.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/stop-hugegraph.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/stop-hugegraph.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/stop-monitor.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/stop-monitor.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/stop-monitor.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/stop-monitor.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/util.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/util.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/util.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/util.sh
diff --git a/hugegraph-dist/src/assembly/static/bin/wait-storage.sh b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/wait-storage.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/static/bin/wait-storage.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/static/bin/wait-storage.sh
diff --git a/hugegraph-dist/src/assembly/static/conf/computer.yaml b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/computer.yaml
similarity index 100%
rename from hugegraph-dist/src/assembly/static/conf/computer.yaml
rename to hugegraph-server/hugegraph-dist/src/assembly/static/conf/computer.yaml
diff --git a/hugegraph-dist/src/assembly/static/conf/graphs/hugegraph.properties b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/graphs/hugegraph.properties
similarity index 100%
rename from hugegraph-dist/src/assembly/static/conf/graphs/hugegraph.properties
rename to hugegraph-server/hugegraph-dist/src/assembly/static/conf/graphs/hugegraph.properties
diff --git a/hugegraph-dist/src/assembly/static/conf/gremlin-driver-settings.yaml b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/gremlin-driver-settings.yaml
similarity index 100%
rename from hugegraph-dist/src/assembly/static/conf/gremlin-driver-settings.yaml
rename to hugegraph-server/hugegraph-dist/src/assembly/static/conf/gremlin-driver-settings.yaml
diff --git a/hugegraph-dist/src/assembly/static/conf/gremlin-server.yaml b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/gremlin-server.yaml
similarity index 100%
rename from hugegraph-dist/src/assembly/static/conf/gremlin-server.yaml
rename to hugegraph-server/hugegraph-dist/src/assembly/static/conf/gremlin-server.yaml
diff --git a/hugegraph-dist/src/assembly/static/conf/log4j2.xml b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/log4j2.xml
similarity index 100%
rename from hugegraph-dist/src/assembly/static/conf/log4j2.xml
rename to hugegraph-server/hugegraph-dist/src/assembly/static/conf/log4j2.xml
diff --git a/hugegraph-dist/src/assembly/static/conf/remote-objects.yaml b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/remote-objects.yaml
similarity index 100%
rename from hugegraph-dist/src/assembly/static/conf/remote-objects.yaml
rename to hugegraph-server/hugegraph-dist/src/assembly/static/conf/remote-objects.yaml
diff --git a/hugegraph-dist/src/assembly/static/conf/remote.yaml b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/remote.yaml
similarity index 100%
rename from hugegraph-dist/src/assembly/static/conf/remote.yaml
rename to hugegraph-server/hugegraph-dist/src/assembly/static/conf/remote.yaml
diff --git a/hugegraph-dist/src/assembly/static/conf/rest-server.properties b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties
similarity index 100%
rename from hugegraph-dist/src/assembly/static/conf/rest-server.properties
rename to hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties
diff --git a/hugegraph-dist/src/assembly/static/ext/README.txt b/hugegraph-server/hugegraph-dist/src/assembly/static/ext/README.txt
similarity index 100%
rename from hugegraph-dist/src/assembly/static/ext/README.txt
rename to hugegraph-server/hugegraph-dist/src/assembly/static/ext/README.txt
diff --git a/hugegraph-dist/src/assembly/static/ext/plugins.txt b/hugegraph-server/hugegraph-dist/src/assembly/static/ext/plugins.txt
similarity index 100%
rename from hugegraph-dist/src/assembly/static/ext/plugins.txt
rename to hugegraph-server/hugegraph-dist/src/assembly/static/ext/plugins.txt
diff --git a/hugegraph-dist/src/assembly/static/scripts/empty-sample.groovy b/hugegraph-server/hugegraph-dist/src/assembly/static/scripts/empty-sample.groovy
similarity index 100%
rename from hugegraph-dist/src/assembly/static/scripts/empty-sample.groovy
rename to hugegraph-server/hugegraph-dist/src/assembly/static/scripts/empty-sample.groovy
diff --git a/hugegraph-dist/src/assembly/static/scripts/example.groovy b/hugegraph-server/hugegraph-dist/src/assembly/static/scripts/example.groovy
similarity index 100%
rename from hugegraph-dist/src/assembly/static/scripts/example.groovy
rename to hugegraph-server/hugegraph-dist/src/assembly/static/scripts/example.groovy
diff --git a/hugegraph-dist/src/assembly/travis/build-report.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/build-report.sh
similarity index 97%
rename from hugegraph-dist/src/assembly/travis/build-report.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/build-report.sh
index 7d51833..5420b51 100755
--- a/hugegraph-dist/src/assembly/travis/build-report.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/build-report.sh
@@ -27,7 +27,7 @@
     OPTION_CLASS_FILES_BACKEND=""
 fi
 
-cd hugegraph-test
+cd hugegraph-server/hugegraph-test
 mvn jacoco:dump@pull-test-data -Dapp.host=localhost -Dapp.port=$JACOCO_PORT -Dskip.dump=false
 cd ../
 
diff --git a/hugegraph-dist/src/assembly/travis/conf-raft1/graphs/hugegraph.properties b/hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft1/graphs/hugegraph.properties
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/conf-raft1/graphs/hugegraph.properties
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft1/graphs/hugegraph.properties
diff --git a/hugegraph-dist/src/assembly/travis/conf-raft1/gremlin-server.yaml b/hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft1/gremlin-server.yaml
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/conf-raft1/gremlin-server.yaml
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft1/gremlin-server.yaml
diff --git a/hugegraph-dist/src/assembly/travis/conf-raft1/rest-server.properties b/hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft1/rest-server.properties
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/conf-raft1/rest-server.properties
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft1/rest-server.properties
diff --git a/hugegraph-dist/src/assembly/travis/conf-raft2/graphs/hugegraph.properties b/hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft2/graphs/hugegraph.properties
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/conf-raft2/graphs/hugegraph.properties
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft2/graphs/hugegraph.properties
diff --git a/hugegraph-dist/src/assembly/travis/conf-raft2/gremlin-server.yaml b/hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft2/gremlin-server.yaml
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/conf-raft2/gremlin-server.yaml
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft2/gremlin-server.yaml
diff --git a/hugegraph-dist/src/assembly/travis/conf-raft2/rest-server.properties b/hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft2/rest-server.properties
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/conf-raft2/rest-server.properties
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft2/rest-server.properties
diff --git a/hugegraph-dist/src/assembly/travis/conf-raft3/graphs/hugegraph.properties b/hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft3/graphs/hugegraph.properties
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/conf-raft3/graphs/hugegraph.properties
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft3/graphs/hugegraph.properties
diff --git a/hugegraph-dist/src/assembly/travis/conf-raft3/gremlin-server.yaml b/hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft3/gremlin-server.yaml
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/conf-raft3/gremlin-server.yaml
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft3/gremlin-server.yaml
diff --git a/hugegraph-dist/src/assembly/travis/conf-raft3/rest-server.properties b/hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft3/rest-server.properties
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/conf-raft3/rest-server.properties
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft3/rest-server.properties
diff --git a/hugegraph-dist/src/assembly/travis/hbase-site.xml b/hugegraph-server/hugegraph-dist/src/assembly/travis/hbase-site.xml
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/hbase-site.xml
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/hbase-site.xml
diff --git a/hugegraph-dist/src/assembly/travis/install-backend.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-backend.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/install-backend.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/install-backend.sh
diff --git a/hugegraph-dist/src/assembly/travis/install-cassandra.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-cassandra.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/install-cassandra.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/install-cassandra.sh
diff --git a/hugegraph-dist/src/assembly/travis/install-hbase.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-hbase.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/install-hbase.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/install-hbase.sh
diff --git a/hugegraph-dist/src/assembly/travis/install-mysql-via-docker.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-mysql-via-docker.sh
similarity index 93%
rename from hugegraph-dist/src/assembly/travis/install-mysql-via-docker.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/install-mysql-via-docker.sh
index ade8170..7239098 100755
--- a/hugegraph-dist/src/assembly/travis/install-mysql-via-docker.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-mysql-via-docker.sh
@@ -20,7 +20,7 @@
 TRAVIS_DIR=$(dirname "$0")
 
 # Need speed up it
-CONF=hugegraph-test/src/main/resources/hugegraph.properties
+CONF=hugegraph-server/hugegraph-test/src/main/resources/hugegraph.properties
 MYSQL_USERNAME=root
 
 # Set MySQL configurations
diff --git a/hugegraph-dist/src/assembly/travis/install-mysql.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-mysql.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/install-mysql.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/install-mysql.sh
diff --git a/hugegraph-dist/src/assembly/travis/install-postgresql-via-docker.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-postgresql-via-docker.sh
similarity index 94%
rename from hugegraph-dist/src/assembly/travis/install-postgresql-via-docker.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/install-postgresql-via-docker.sh
index d9354e4..62d35d2 100755
--- a/hugegraph-dist/src/assembly/travis/install-postgresql-via-docker.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-postgresql-via-docker.sh
@@ -18,7 +18,7 @@
 set -ev
 
 TRAVIS_DIR=$(dirname "$0")
-CONF=hugegraph-test/src/main/resources/hugegraph.properties
+CONF=hugegraph-server/hugegraph-test/src/main/resources/hugegraph.properties
 
 POSTGRESQL_DRIVER=org.postgresql.Driver
 POSTGRESQL_URL=jdbc:postgresql://localhost:5432/
diff --git a/hugegraph-dist/src/assembly/travis/install-postgresql.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-postgresql.sh
similarity index 93%
rename from hugegraph-dist/src/assembly/travis/install-postgresql.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/install-postgresql.sh
index 12185e8..04562c1 100755
--- a/hugegraph-dist/src/assembly/travis/install-postgresql.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-postgresql.sh
@@ -18,7 +18,7 @@
 set -ev
 
 TRAVIS_DIR=$(dirname "$0")
-CONF=hugegraph-test/src/main/resources/hugegraph.properties
+CONF=hugegraph-server/hugegraph-test/src/main/resources/hugegraph.properties
 
 POSTGRESQL_DRIVER=org.postgresql.Driver
 POSTGRESQL_URL=jdbc:postgresql://localhost:5432/
diff --git a/hugegraph-dist/src/assembly/travis/install-scylladb.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/install-scylladb.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/install-scylladb.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/install-scylladb.sh
diff --git a/hugegraph-dist/src/assembly/travis/maven.xml b/hugegraph-server/hugegraph-dist/src/assembly/travis/maven.xml
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/maven.xml
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/maven.xml
diff --git a/hugegraph-dist/src/assembly/travis/mysql.cnf b/hugegraph-server/hugegraph-dist/src/assembly/travis/mysql.cnf
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/mysql.cnf
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/mysql.cnf
diff --git a/hugegraph-dist/src/assembly/travis/run-api-test-for-raft.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test-for-raft.sh
similarity index 92%
rename from hugegraph-dist/src/assembly/travis/run-api-test-for-raft.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test-for-raft.sh
index 1c0eaaf..889b05e 100755
--- a/hugegraph-dist/src/assembly/travis/run-api-test-for-raft.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test-for-raft.sh
@@ -23,7 +23,7 @@
 
 TRAVIS_DIR=`dirname $0`
 VERSION=`mvn help:evaluate -Dexpression=project.version -q -DforceStdout`
-SERVER_DIR=apache-hugegraph-incubating-$VERSION
+SERVER_DIR=hugegraph-server/apache-hugegraph-incubating-$VERSION
 RAFT1_DIR=hugegraph-raft1
 RAFT2_DIR=hugegraph-raft2
 RAFT3_DIR=hugegraph-raft3
@@ -57,7 +57,7 @@
 $RAFT_TOOLS --set-leader "hugegraph" "$RAFT_LEADER"
 
 # run api-test
-mvn test -P api-test,$BACKEND || (cat $RAFT1_DIR/logs/hugegraph-server.log && exit 1)
+mvn test -pl hugegraph-server/hugegraph-test -am -P api-test,$BACKEND || (cat $RAFT1_DIR/logs/hugegraph-server.log && exit 1)
 
 $TRAVIS_DIR/build-report.sh $BACKEND $JACOCO_PORT $REPORT_FILE
 
diff --git a/hugegraph-dist/src/assembly/travis/run-api-test.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test.sh
similarity index 92%
rename from hugegraph-dist/src/assembly/travis/run-api-test.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test.sh
index c856ac5..755bb4b 100755
--- a/hugegraph-dist/src/assembly/travis/run-api-test.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test.sh
@@ -23,7 +23,7 @@
 
 TRAVIS_DIR=$(dirname $0)
 VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
-SERVER_DIR=apache-hugegraph-incubating-$VERSION
+SERVER_DIR=hugegraph-server/apache-hugegraph-incubating-$VERSION/
 CONF=$SERVER_DIR/conf/graphs/hugegraph.properties
 REST_SERVER_CONF=$SERVER_DIR/conf/rest-server.properties
 GREMLIN_SERVER_CONF=$SERVER_DIR/conf/gremlin-server.yaml
@@ -31,7 +31,6 @@
 
 mvn package -DskipTests -ntp
 
-
 # add mysql dependency
 wget -P $SERVER_DIR/lib/ https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar
 
@@ -58,7 +57,7 @@
 $TRAVIS_DIR/start-server.sh $SERVER_DIR $BACKEND $JACOCO_PORT || (cat $SERVER_DIR/logs/hugegraph-server.log && exit 1)
 
 # run api-test
-mvn test -P api-test,$BACKEND || (cat $SERVER_DIR/logs/hugegraph-server.log && exit 1)
+mvn test -pl hugegraph-server/hugegraph-test -am -P api-test,$BACKEND || (cat $SERVER_DIR/logs/hugegraph-server.log && exit 1)
 
 $TRAVIS_DIR/build-report.sh $BACKEND $JACOCO_PORT $REPORT_FILE
 
diff --git a/hugegraph-dist/src/assembly/travis/run-unit-test.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-core-test.sh
similarity index 91%
copy from hugegraph-dist/src/assembly/travis/run-unit-test.sh
copy to hugegraph-server/hugegraph-dist/src/assembly/travis/run-core-test.sh
index 340bc6b..9ead291 100755
--- a/hugegraph-dist/src/assembly/travis/run-unit-test.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-core-test.sh
@@ -19,6 +19,4 @@
 
 BACKEND=$1
 
-if [[ "$BACKEND" == "memory" ]]; then
-    mvn test -P unit-test
-fi
+mvn test -pl hugegraph-server/hugegraph-test -am -P core-test,$BACKEND
diff --git a/hugegraph-dist/src/assembly/travis/run-tinkerpop-test.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-tinkerpop-test.sh
similarity index 84%
rename from hugegraph-dist/src/assembly/travis/run-tinkerpop-test.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/run-tinkerpop-test.sh
index b7855d5..e706e8b 100755
--- a/hugegraph-dist/src/assembly/travis/run-tinkerpop-test.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-tinkerpop-test.sh
@@ -21,9 +21,9 @@
 SUITE=$2
 
 if [[ "$SUITE" == "structure" || "$SUITE" == "tinkerpop" ]]; then
-    mvn test -P tinkerpop-structure-test,$BACKEND
+    mvn test -pl hugegraph-server/hugegraph-test -am -P tinkerpop-structure-test,$BACKEND
 fi
 
 if [[ "$SUITE" == "process" || "$SUITE" == "tinkerpop" ]]; then
-    mvn test -P tinkerpop-process-test,$BACKEND
+    mvn test -pl hugegraph-server/hugegraph-test -am -P tinkerpop-process-test,$BACKEND
 fi
diff --git a/hugegraph-dist/src/assembly/travis/run-unit-test.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-unit-test.sh
similarity index 92%
rename from hugegraph-dist/src/assembly/travis/run-unit-test.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/run-unit-test.sh
index 340bc6b..f9d9a63 100755
--- a/hugegraph-dist/src/assembly/travis/run-unit-test.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-unit-test.sh
@@ -20,5 +20,5 @@
 BACKEND=$1
 
 if [[ "$BACKEND" == "memory" ]]; then
-    mvn test -P unit-test
+    mvn test -pl hugegraph-server/hugegraph-test -am -P unit-test
 fi
diff --git a/hugegraph-dist/src/assembly/travis/start-server.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/start-server.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/start-server.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/start-server.sh
diff --git a/hugegraph-dist/src/assembly/travis/stop-server.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/stop-server.sh
similarity index 100%
rename from hugegraph-dist/src/assembly/travis/stop-server.sh
rename to hugegraph-server/hugegraph-dist/src/assembly/travis/stop-server.sh
diff --git a/hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/ConfDumper.java b/hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/ConfDumper.java
similarity index 100%
rename from hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/ConfDumper.java
rename to hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/ConfDumper.java
diff --git a/hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/InitStore.java b/hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/InitStore.java
similarity index 100%
rename from hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/InitStore.java
rename to hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/InitStore.java
diff --git a/hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/StoreDumper.java b/hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/StoreDumper.java
similarity index 100%
rename from hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/StoreDumper.java
rename to hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/StoreDumper.java
diff --git a/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/DistOptions.java b/hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/DistOptions.java
similarity index 100%
rename from hugegraph-dist/src/main/java/org/apache/hugegraph/dist/DistOptions.java
rename to hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/DistOptions.java
diff --git a/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeGraphServer.java b/hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeGraphServer.java
similarity index 100%
rename from hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeGraphServer.java
rename to hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeGraphServer.java
diff --git a/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeGremlinServer.java b/hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeGremlinServer.java
similarity index 100%
rename from hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeGremlinServer.java
rename to hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeGremlinServer.java
diff --git a/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeRestServer.java b/hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeRestServer.java
similarity index 100%
rename from hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeRestServer.java
rename to hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/HugeRestServer.java
diff --git a/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/RegisterUtil.java b/hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/RegisterUtil.java
similarity index 100%
rename from hugegraph-dist/src/main/java/org/apache/hugegraph/dist/RegisterUtil.java
rename to hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/RegisterUtil.java
diff --git a/hugegraph-dist/src/main/resources/backend.properties b/hugegraph-server/hugegraph-dist/src/main/resources/backend.properties
similarity index 100%
rename from hugegraph-dist/src/main/resources/backend.properties
rename to hugegraph-server/hugegraph-dist/src/main/resources/backend.properties
diff --git a/hugegraph-dist/src/main/resources/log4j2.xml b/hugegraph-server/hugegraph-dist/src/main/resources/log4j2.xml
similarity index 100%
rename from hugegraph-dist/src/main/resources/log4j2.xml
rename to hugegraph-server/hugegraph-dist/src/main/resources/log4j2.xml
diff --git a/hugegraph-example/pom.xml b/hugegraph-server/hugegraph-example/pom.xml
similarity index 97%
rename from hugegraph-example/pom.xml
rename to hugegraph-server/hugegraph-example/pom.xml
index 1a96b2a..3e75e2a 100644
--- a/hugegraph-example/pom.xml
+++ b/hugegraph-server/hugegraph-example/pom.xml
@@ -19,7 +19,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <groupId>org.apache.hugegraph</groupId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/Example1.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/Example1.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/Example1.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/Example1.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/Example2.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/Example2.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/Example2.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/Example2.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/Example3.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/Example3.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/Example3.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/Example3.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/ExampleUtil.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/ExampleUtil.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/ExampleUtil.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/ExampleUtil.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/GraphOfTheMoviesExample.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/GraphOfTheMoviesExample.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/GraphOfTheMoviesExample.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/GraphOfTheMoviesExample.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample1.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample1.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample1.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample1.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample2.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample2.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample2.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample2.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample3.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample3.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample3.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample3.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample4.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample4.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample4.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExample4.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExampleBase.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExampleBase.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExampleBase.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/PerfExampleBase.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/TaskExample.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/TaskExample.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/TaskExample.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/TaskExample.java
diff --git a/hugegraph-example/src/main/java/org/apache/hugegraph/example/ThreadRangePerfTest.java b/hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/ThreadRangePerfTest.java
similarity index 100%
rename from hugegraph-example/src/main/java/org/apache/hugegraph/example/ThreadRangePerfTest.java
rename to hugegraph-server/hugegraph-example/src/main/java/org/apache/hugegraph/example/ThreadRangePerfTest.java
diff --git a/hugegraph-example/src/main/resources/hugegraph.properties b/hugegraph-server/hugegraph-example/src/main/resources/hugegraph.properties
similarity index 100%
rename from hugegraph-example/src/main/resources/hugegraph.properties
rename to hugegraph-server/hugegraph-example/src/main/resources/hugegraph.properties
diff --git a/hugegraph-example/src/main/resources/log4j2.xml b/hugegraph-server/hugegraph-example/src/main/resources/log4j2.xml
similarity index 100%
rename from hugegraph-example/src/main/resources/log4j2.xml
rename to hugegraph-server/hugegraph-example/src/main/resources/log4j2.xml
diff --git a/hugegraph-hbase/pom.xml b/hugegraph-server/hugegraph-hbase/pom.xml
similarity index 97%
rename from hugegraph-hbase/pom.xml
rename to hugegraph-server/hugegraph-hbase/pom.xml
index 9c9edd3..d408459 100644
--- a/hugegraph-hbase/pom.xml
+++ b/hugegraph-server/hugegraph-hbase/pom.xml
@@ -19,7 +19,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <groupId>org.apache.hugegraph</groupId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
diff --git a/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseFeatures.java b/hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseFeatures.java
similarity index 100%
rename from hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseFeatures.java
rename to hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseFeatures.java
diff --git a/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseMetrics.java b/hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseMetrics.java
similarity index 100%
rename from hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseMetrics.java
rename to hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseMetrics.java
diff --git a/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseOptions.java b/hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseOptions.java
similarity index 100%
rename from hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseOptions.java
rename to hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseOptions.java
diff --git a/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSerializer.java b/hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSerializer.java
similarity index 100%
rename from hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSerializer.java
rename to hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSerializer.java
diff --git a/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSessions.java b/hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSessions.java
similarity index 100%
rename from hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSessions.java
rename to hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSessions.java
diff --git a/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseStore.java b/hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseStore.java
similarity index 100%
rename from hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseStore.java
rename to hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseStore.java
diff --git a/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseStoreProvider.java b/hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseStoreProvider.java
similarity index 100%
rename from hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseStoreProvider.java
rename to hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseStoreProvider.java
diff --git a/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseTable.java b/hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseTable.java
similarity index 100%
rename from hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseTable.java
rename to hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseTable.java
diff --git a/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseTables.java b/hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseTables.java
similarity index 100%
rename from hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseTables.java
rename to hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseTables.java
diff --git a/hugegraph-mysql/pom.xml b/hugegraph-server/hugegraph-mysql/pom.xml
similarity index 97%
rename from hugegraph-mysql/pom.xml
rename to hugegraph-server/hugegraph-mysql/pom.xml
index 0b2e782..ddbf721 100644
--- a/hugegraph-mysql/pom.xml
+++ b/hugegraph-server/hugegraph-mysql/pom.xml
@@ -19,7 +19,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <groupId>org.apache.hugegraph</groupId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlBackendEntry.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlBackendEntry.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlBackendEntry.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlBackendEntry.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlEntryIterator.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlEntryIterator.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlEntryIterator.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlEntryIterator.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlFeatures.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlFeatures.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlFeatures.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlFeatures.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlMetrics.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlMetrics.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlMetrics.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlMetrics.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlOptions.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlOptions.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlOptions.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlOptions.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlSerializer.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlSerializer.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlSerializer.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlSerializer.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlSessions.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlSessions.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlSessions.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlSessions.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlStore.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlStore.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlStore.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlStore.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlStoreProvider.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlStoreProvider.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlStoreProvider.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlStoreProvider.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlTable.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlTable.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlTable.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlTable.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlTables.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlTables.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlTables.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlTables.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlUtil.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlUtil.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlUtil.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/MysqlUtil.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/ResultSetWrapper.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/ResultSetWrapper.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/ResultSetWrapper.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/ResultSetWrapper.java
diff --git a/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/WhereBuilder.java b/hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/WhereBuilder.java
similarity index 100%
rename from hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/WhereBuilder.java
rename to hugegraph-server/hugegraph-mysql/src/main/java/org/apache/hugegraph/backend/store/mysql/WhereBuilder.java
diff --git a/hugegraph-palo/pom.xml b/hugegraph-server/hugegraph-palo/pom.xml
similarity index 97%
rename from hugegraph-palo/pom.xml
rename to hugegraph-server/hugegraph-palo/pom.xml
index cdeba95..a1fecc4 100644
--- a/hugegraph-palo/pom.xml
+++ b/hugegraph-server/hugegraph-palo/pom.xml
@@ -19,7 +19,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <groupId>org.apache.hugegraph</groupId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloFeatures.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloFeatures.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloFeatures.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloFeatures.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloFile.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloFile.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloFile.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloFile.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloHttpClient.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloHttpClient.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloHttpClient.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloHttpClient.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloLoadInfo.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloLoadInfo.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloLoadInfo.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloLoadInfo.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloOptions.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloOptions.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloOptions.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloOptions.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloSerializer.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloSerializer.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloSerializer.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloSerializer.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloSessions.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloSessions.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloSessions.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloSessions.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloStore.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloStore.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloStore.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloStore.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloStoreProvider.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloStoreProvider.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloStoreProvider.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloStoreProvider.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloTable.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloTable.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloTable.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloTable.java
diff --git a/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloTables.java b/hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloTables.java
similarity index 100%
rename from hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloTables.java
rename to hugegraph-server/hugegraph-palo/src/main/java/org/apache/hugegraph/backend/store/palo/PaloTables.java
diff --git a/hugegraph-postgresql/pom.xml b/hugegraph-server/hugegraph-postgresql/pom.xml
similarity index 95%
rename from hugegraph-postgresql/pom.xml
rename to hugegraph-server/hugegraph-postgresql/pom.xml
index 343c226..57c9ad8 100644
--- a/hugegraph-postgresql/pom.xml
+++ b/hugegraph-server/hugegraph-postgresql/pom.xml
@@ -19,7 +19,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <groupId>org.apache.hugegraph</groupId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
@@ -42,7 +42,7 @@
         <dependency>
             <groupId>org.postgresql</groupId>
             <artifactId>postgresql</artifactId>
-            <version>42.4.1</version>
+            <version>42.4.3</version>
         </dependency>
     </dependencies>
 </project>
diff --git a/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlOptions.java b/hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlOptions.java
similarity index 100%
rename from hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlOptions.java
rename to hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlOptions.java
diff --git a/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlSerializer.java b/hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlSerializer.java
similarity index 100%
rename from hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlSerializer.java
rename to hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlSerializer.java
diff --git a/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlSessions.java b/hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlSessions.java
similarity index 100%
rename from hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlSessions.java
rename to hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlSessions.java
diff --git a/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlStore.java b/hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlStore.java
similarity index 100%
rename from hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlStore.java
rename to hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlStore.java
diff --git a/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlStoreProvider.java b/hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlStoreProvider.java
similarity index 100%
rename from hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlStoreProvider.java
rename to hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlStoreProvider.java
diff --git a/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlTable.java b/hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlTable.java
similarity index 100%
rename from hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlTable.java
rename to hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlTable.java
diff --git a/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlTables.java b/hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlTables.java
similarity index 100%
rename from hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlTables.java
rename to hugegraph-server/hugegraph-postgresql/src/main/java/org/apache/hugegraph/backend/store/postgresql/PostgresqlTables.java
diff --git a/hugegraph-rocksdb/pom.xml b/hugegraph-server/hugegraph-rocksdb/pom.xml
similarity index 96%
rename from hugegraph-rocksdb/pom.xml
rename to hugegraph-server/hugegraph-rocksdb/pom.xml
index 2c27392..444e9a4 100644
--- a/hugegraph-rocksdb/pom.xml
+++ b/hugegraph-server/hugegraph-rocksdb/pom.xml
@@ -19,7 +19,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <groupId>org.apache.hugegraph</groupId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/OpenedRocksDB.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/OpenedRocksDB.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/OpenedRocksDB.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/OpenedRocksDB.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBFeatures.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBFeatures.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBFeatures.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBFeatures.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBIngester.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBIngester.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBIngester.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBIngester.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBIteratorPool.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBIteratorPool.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBIteratorPool.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBIteratorPool.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBMetrics.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBMetrics.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBMetrics.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBMetrics.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBOptions.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBOptions.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBOptions.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBOptions.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBSessions.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBSessions.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBSessions.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBSessions.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStore.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStore.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStore.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStore.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStoreProvider.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStoreProvider.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStoreProvider.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBStoreProvider.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBTable.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBTable.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBTable.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBTable.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBTables.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBTables.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBTables.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdb/RocksDBTables.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstSessions.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstSessions.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstSessions.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstSessions.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstStore.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstStore.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstStore.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstStore.java
diff --git a/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstStoreProvider.java b/hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstStoreProvider.java
similarity index 100%
rename from hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstStoreProvider.java
rename to hugegraph-server/hugegraph-rocksdb/src/main/java/org/apache/hugegraph/backend/store/rocksdbsst/RocksDBSstStoreProvider.java
diff --git a/hugegraph-scylladb/pom.xml b/hugegraph-server/hugegraph-scylladb/pom.xml
similarity index 96%
rename from hugegraph-scylladb/pom.xml
rename to hugegraph-server/hugegraph-scylladb/pom.xml
index e7f1f6c..c967680 100644
--- a/hugegraph-scylladb/pom.xml
+++ b/hugegraph-server/hugegraph-scylladb/pom.xml
@@ -19,7 +19,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <groupId>org.apache.hugegraph</groupId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
diff --git a/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBFeatures.java b/hugegraph-server/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBFeatures.java
similarity index 100%
rename from hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBFeatures.java
rename to hugegraph-server/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBFeatures.java
diff --git a/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBMetrics.java b/hugegraph-server/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBMetrics.java
similarity index 100%
rename from hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBMetrics.java
rename to hugegraph-server/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBMetrics.java
diff --git a/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBStoreProvider.java b/hugegraph-server/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBStoreProvider.java
similarity index 100%
rename from hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBStoreProvider.java
rename to hugegraph-server/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBStoreProvider.java
diff --git a/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBTablesWithMV.java b/hugegraph-server/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBTablesWithMV.java
similarity index 100%
rename from hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBTablesWithMV.java
rename to hugegraph-server/hugegraph-scylladb/src/main/java/org/apache/hugegraph/backend/store/scylladb/ScyllaDBTablesWithMV.java
diff --git a/hugegraph-test/pom.xml b/hugegraph-server/hugegraph-test/pom.xml
similarity index 99%
rename from hugegraph-test/pom.xml
rename to hugegraph-server/hugegraph-test/pom.xml
index 75e8caf..d4ba1de 100644
--- a/hugegraph-test/pom.xml
+++ b/hugegraph-server/hugegraph-test/pom.xml
@@ -19,7 +19,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>hugegraph</artifactId>
+        <artifactId>hugegraph-server</artifactId>
         <groupId>org.apache.hugegraph</groupId>
         <version>${revision}</version>
         <relativePath>../pom.xml</relativePath>
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/ApiTestSuite.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/ApiTestSuite.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/ApiTestSuite.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/ApiTestSuite.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/ArthasApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/ArthasApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/ArthasApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/ArthasApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/BaseApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/BaseApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/BaseApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/BaseApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/CypherApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/CypherApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/CypherApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/CypherApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/EdgeApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/EdgeApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/EdgeApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/EdgeApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/EdgeLabelApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/EdgeLabelApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/EdgeLabelApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/EdgeLabelApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/GremlinApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/GremlinApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/GremlinApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/GremlinApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/IndexLabelApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/IndexLabelApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/IndexLabelApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/IndexLabelApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/LoginApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/LoginApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/LoginApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/LoginApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/MetricsApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/MetricsApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/MetricsApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/MetricsApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/ProjectApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/ProjectApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/ProjectApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/ProjectApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/PropertyKeyApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/PropertyKeyApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/PropertyKeyApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/PropertyKeyApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/SchemaApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/SchemaApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/SchemaApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/SchemaApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/TaskApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/TaskApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/TaskApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/TaskApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/UserApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/UserApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/UserApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/UserApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/VertexApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/VertexApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/VertexApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/VertexApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/VertexLabelApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/VertexLabelApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/VertexLabelApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/VertexLabelApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/AdamicAdarAPITest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/AdamicAdarAPITest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/AdamicAdarAPITest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/AdamicAdarAPITest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/AllShortestPathsApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/AllShortestPathsApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/AllShortestPathsApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/AllShortestPathsApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CountApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CountApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CountApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CountApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CrosspointsApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CrosspointsApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CrosspointsApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CrosspointsApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CustomizedCrosspointsApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CustomizedCrosspointsApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CustomizedCrosspointsApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/CustomizedCrosspointsApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/EdgesApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/EdgesApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/EdgesApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/EdgesApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/FusiformSimilarityApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/FusiformSimilarityApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/FusiformSimilarityApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/FusiformSimilarityApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/JaccardSimilarityApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/JaccardSimilarityApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/JaccardSimilarityApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/JaccardSimilarityApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/KneighborApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/KneighborApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/KneighborApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/KneighborApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/KoutApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/KoutApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/KoutApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/KoutApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/MultiNodeShortestPathApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/MultiNodeShortestPathApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/MultiNodeShortestPathApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/MultiNodeShortestPathApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/NeighborRankApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/NeighborRankApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/NeighborRankApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/NeighborRankApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/PathsApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/PathsApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/PathsApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/PathsApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/PersonalRankApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/PersonalRankApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/PersonalRankApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/PersonalRankApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/RaysApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/RaysApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/RaysApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/RaysApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/ResourceAllocationAPITest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/ResourceAllocationAPITest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/ResourceAllocationAPITest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/ResourceAllocationAPITest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/RingsApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/RingsApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/RingsApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/RingsApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/SameNeighborsApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/SameNeighborsApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/SameNeighborsApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/SameNeighborsApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/ShortestPathApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/ShortestPathApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/ShortestPathApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/ShortestPathApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/SingleSourceShortestPathApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/SingleSourceShortestPathApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/SingleSourceShortestPathApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/SingleSourceShortestPathApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/TemplatePathsApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/TemplatePathsApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/TemplatePathsApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/TemplatePathsApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/TraversersApiTestSuite.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/TraversersApiTestSuite.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/TraversersApiTestSuite.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/TraversersApiTestSuite.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/WeightedShortestPathApiTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/WeightedShortestPathApiTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/WeightedShortestPathApiTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/api/traversers/WeightedShortestPathApiTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/AuthTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/AuthTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/AuthTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/AuthTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/BaseCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/BaseCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/BaseCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/BaseCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/CoreTestSuite.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/CoreTestSuite.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/CoreTestSuite.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/CoreTestSuite.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/EdgeCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/EdgeCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/EdgeCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/EdgeCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/EdgeLabelCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/EdgeLabelCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/EdgeLabelCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/EdgeLabelCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/IndexLabelCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/IndexLabelCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/IndexLabelCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/IndexLabelCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/MultiGraphsTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/MultiGraphsTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/MultiGraphsTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/MultiGraphsTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/PropertyCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/PropertyCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/PropertyCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/PropertyCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/PropertyKeyCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/PropertyKeyCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/PropertyKeyCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/PropertyKeyCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/RamTableTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/RamTableTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/RamTableTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/RamTableTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/RestoreCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/RestoreCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/RestoreCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/RestoreCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/RoleElectionStateMachineTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/RoleElectionStateMachineTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/RoleElectionStateMachineTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/RoleElectionStateMachineTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/SchemaCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/SchemaCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/SchemaCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/SchemaCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/TaskCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/TaskCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/TaskCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/TaskCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/VertexCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/VertexCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/VertexCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/VertexCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/core/VertexLabelCoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/VertexLabelCoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/core/VertexLabelCoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/VertexLabelCoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/testutil/FakeObjects.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/testutil/FakeObjects.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/testutil/FakeObjects.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/testutil/FakeObjects.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/testutil/Utils.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/testutil/Utils.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/testutil/Utils.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/testutil/Utils.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessBasicSuite.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessBasicSuite.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessBasicSuite.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessBasicSuite.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessStandardTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessStandardTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessStandardTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessStandardTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessTestGraphProvider.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessTestGraphProvider.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessTestGraphProvider.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/ProcessTestGraphProvider.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureBasicSuite.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureBasicSuite.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureBasicSuite.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureBasicSuite.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureStandardTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureStandardTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureStandardTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureStandardTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureTestGraphProvider.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureTestGraphProvider.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureTestGraphProvider.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureTestGraphProvider.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraph.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraph.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraph.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraph.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraphFactory.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraphFactory.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraphFactory.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraphFactory.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraphProvider.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraphProvider.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraphProvider.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/TestGraphProvider.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/tests/HugeGraphWriteTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/tests/HugeGraphWriteTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/tests/HugeGraphWriteTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/tests/HugeGraphWriteTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/BaseUnitTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/BaseUnitTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/BaseUnitTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/BaseUnitTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/FakeObjects.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/FakeObjects.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/FakeObjects.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/FakeObjects.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/UnitTestSuite.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/UnitTestSuite.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/UnitTestSuite.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/UnitTestSuite.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CacheManagerTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CacheManagerTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CacheManagerTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CacheManagerTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CacheTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CacheTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CacheTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CacheTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CachedGraphTransactionTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CachedGraphTransactionTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CachedGraphTransactionTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CachedGraphTransactionTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CachedSchemaTransactionTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CachedSchemaTransactionTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CachedSchemaTransactionTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/CachedSchemaTransactionTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/RamTableTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/RamTableTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/RamTableTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cache/RamTableTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cassandra/CassandraTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cassandra/CassandraTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/cassandra/CassandraTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/cassandra/CassandraTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/AnalyzerTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/AnalyzerTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/AnalyzerTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/AnalyzerTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/BackendMutationTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/BackendMutationTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/BackendMutationTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/BackendMutationTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/BackendStoreInfoTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/BackendStoreInfoTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/BackendStoreInfoTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/BackendStoreInfoTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ConditionQueryFlattenTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ConditionQueryFlattenTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ConditionQueryFlattenTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ConditionQueryFlattenTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ConditionTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ConditionTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ConditionTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ConditionTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/DataTypeTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/DataTypeTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/DataTypeTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/DataTypeTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/DirectionsTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/DirectionsTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/DirectionsTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/DirectionsTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ExceptionTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ExceptionTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ExceptionTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/ExceptionTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/LocksTableTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/LocksTableTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/LocksTableTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/LocksTableTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/PageStateTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/PageStateTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/PageStateTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/PageStateTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/QueryTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/QueryTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/QueryTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/QueryTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RangeTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RangeTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RangeTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RangeTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RolePermissionTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RolePermissionTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RolePermissionTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RolePermissionTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RowLockTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RowLockTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RowLockTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/RowLockTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SecurityManagerTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SecurityManagerTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SecurityManagerTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SecurityManagerTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SerialEnumTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SerialEnumTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SerialEnumTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SerialEnumTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SystemSchemaStoreTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SystemSchemaStoreTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SystemSchemaStoreTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/SystemSchemaStoreTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/TraversalUtilTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/TraversalUtilTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/TraversalUtilTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/core/TraversalUtilTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/EdgeIdTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/EdgeIdTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/EdgeIdTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/EdgeIdTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/IdTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/IdTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/IdTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/IdTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/IdUtilTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/IdUtilTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/IdUtilTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/IdUtilTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/SplicingIdGeneratorTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/SplicingIdGeneratorTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/SplicingIdGeneratorTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/id/SplicingIdGeneratorTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/mysql/MysqlUtilTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/mysql/MysqlUtilTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/mysql/MysqlUtilTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/mysql/MysqlUtilTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/mysql/WhereBuilderTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/mysql/WhereBuilderTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/mysql/WhereBuilderTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/mysql/WhereBuilderTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/BaseRocksDBUnitTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/BaseRocksDBUnitTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/BaseRocksDBUnitTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/BaseRocksDBUnitTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBCountersTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBCountersTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBCountersTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBCountersTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBPerfTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBPerfTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBPerfTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBPerfTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBSessionTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBSessionTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBSessionTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBSessionTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBSessionsTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBSessionsTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBSessionsTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/rocksdb/RocksDBSessionsTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinaryBackendEntryTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinaryBackendEntryTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinaryBackendEntryTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinaryBackendEntryTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinaryScatterSerializerTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinaryScatterSerializerTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinaryScatterSerializerTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinaryScatterSerializerTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinarySerializerTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinarySerializerTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinarySerializerTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BinarySerializerTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BytesBufferTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BytesBufferTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BytesBufferTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BytesBufferTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/SerializerFactoryTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/SerializerFactoryTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/SerializerFactoryTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/SerializerFactoryTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/StoreSerializerTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/StoreSerializerTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/StoreSerializerTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/StoreSerializerTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/TableBackendEntryTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/TableBackendEntryTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/TableBackendEntryTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/TableBackendEntryTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/TextBackendEntryTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/TextBackendEntryTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/TextBackendEntryTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/TextBackendEntryTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/store/RamIntObjectMapTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/store/RamIntObjectMapTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/store/RamIntObjectMapTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/store/RamIntObjectMapTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/CompressUtilTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/CompressUtilTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/CompressUtilTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/CompressUtilTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/JsonUtilTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/JsonUtilTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/JsonUtilTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/JsonUtilTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/RateLimiterTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/RateLimiterTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/RateLimiterTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/RateLimiterTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/StringEncodingTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/StringEncodingTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/StringEncodingTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/StringEncodingTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/VersionTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/VersionTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/VersionTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/VersionTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/CollectionFactoryTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/CollectionFactoryTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/CollectionFactoryTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/CollectionFactoryTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IdSetTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IdSetTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IdSetTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IdSetTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/Int2IntsMapTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/Int2IntsMapTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/Int2IntsMapTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/Int2IntsMapTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IntMapTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IntMapTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IntMapTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IntMapTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IntSetTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IntSetTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IntSetTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/IntSetTest.java
diff --git a/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/ObjectIntMappingTest.java b/hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/ObjectIntMappingTest.java
similarity index 100%
rename from hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/ObjectIntMappingTest.java
rename to hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/util/collection/ObjectIntMappingTest.java
diff --git a/hugegraph-test/src/main/resources/fast-methods.filter b/hugegraph-server/hugegraph-test/src/main/resources/fast-methods.filter
similarity index 100%
rename from hugegraph-test/src/main/resources/fast-methods.filter
rename to hugegraph-server/hugegraph-test/src/main/resources/fast-methods.filter
diff --git a/hugegraph-test/src/main/resources/hugegraph.properties b/hugegraph-server/hugegraph-test/src/main/resources/hugegraph.properties
similarity index 100%
rename from hugegraph-test/src/main/resources/hugegraph.properties
rename to hugegraph-server/hugegraph-test/src/main/resources/hugegraph.properties
diff --git a/hugegraph-test/src/main/resources/log4j2.xml b/hugegraph-server/hugegraph-test/src/main/resources/log4j2.xml
similarity index 100%
rename from hugegraph-test/src/main/resources/log4j2.xml
rename to hugegraph-server/hugegraph-test/src/main/resources/log4j2.xml
diff --git a/hugegraph-test/src/main/resources/methods.filter b/hugegraph-server/hugegraph-test/src/main/resources/methods.filter
similarity index 100%
rename from hugegraph-test/src/main/resources/methods.filter
rename to hugegraph-server/hugegraph-test/src/main/resources/methods.filter
diff --git a/hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/BenchmarkConstants.java b/hugegraph-server/hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/BenchmarkConstants.java
similarity index 100%
rename from hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/BenchmarkConstants.java
rename to hugegraph-server/hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/BenchmarkConstants.java
diff --git a/hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/SimpleRandom.java b/hugegraph-server/hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/SimpleRandom.java
similarity index 100%
rename from hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/SimpleRandom.java
rename to hugegraph-server/hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/SimpleRandom.java
diff --git a/hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/map/MapRandomGetPutThroughputTest.java b/hugegraph-server/hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/map/MapRandomGetPutThroughputTest.java
similarity index 100%
rename from hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/map/MapRandomGetPutThroughputTest.java
rename to hugegraph-server/hugegraph-test/src/test/java/org/apache/hugegraph/benchmark/map/MapRandomGetPutThroughputTest.java
diff --git a/hugegraph-server/pom.xml b/hugegraph-server/pom.xml
new file mode 100644
index 0000000..6ab44d9
--- /dev/null
+++ b/hugegraph-server/pom.xml
@@ -0,0 +1,484 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements. See the NOTICE file distributed with this
+  work for additional information regarding copyright ownership. The ASF
+  licenses this file to You under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+  License for the specific language governing permissions and limitations
+  under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>hugegraph-server</artifactId>
+    <version>${revision}</version>
+    <packaging>pom</packaging>
+
+    <name>${project.artifactId}</name>
+    <url>https://github.com/apache/hugegraph/tree/master/hugegraph-server</url>
+    <description>
+        HugeGraph server is the graph engine layer of HugeGraph, including REST-API, OLTP engine and backends interface.
+    </description>
+
+    <parent>
+        <groupId>org.apache.hugegraph</groupId>
+        <artifactId>hugegraph</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <top.level.dir>${project.basedir}/..</top.level.dir>
+        <release.name>hugegraph</release.name>
+        <final.name>apache-${release.name}-incubating-${project.version}</final.name>
+        <final.destfile>${top.level.dir}/${final.name}.tar.gz</final.destfile>
+        <compiler.source>1.8</compiler.source>
+        <compiler.target>1.8</compiler.target>
+        <slf4j.version>1.7.5</slf4j.version>
+        <log4j.version>1.2.17</log4j.version>
+        <log4j2.version>2.17.1</log4j2.version>
+        <junit.version>4.13.1</junit.version>
+        <tinkerpop.version>3.5.1</tinkerpop.version>
+        <commons.io.version>2.7</commons.io.version>
+        <guava.version>25.1-jre</guava.version>
+        <httpclient.version>4.5.13</httpclient.version>
+        <jersey.version>3.0.3</jersey.version>
+        <metrics.version>4.2.4</metrics.version>
+        <javassist.version>3.21.0-GA</javassist.version>
+        <shell-executable>bash</shell-executable>
+        <checkstyle.plugin.version>3.1.2</checkstyle.plugin.version>
+        <checkstyle.version>8.45</checkstyle.version>
+        <hugegraph-commons.version>1.0.0</hugegraph-commons.version>
+        <grpc.version>1.47.0</grpc.version>
+        <protobuf.version>3.21.7</protobuf.version>
+        <jmh.version>1.36</jmh.version>
+        <arthas.version>3.7.1</arthas.version>
+        <swagger.version>2.2.18</swagger.version>
+    </properties>
+
+    <modules>
+        <module>hugegraph-core</module>
+        <module>hugegraph-api</module>
+        <module>hugegraph-example</module>
+        <module>hugegraph-dist</module>
+        <module>hugegraph-test</module>
+        <module>hugegraph-cassandra</module>
+        <module>hugegraph-scylladb</module>
+        <module>hugegraph-rocksdb</module>
+        <module>hugegraph-mysql</module>
+        <module>hugegraph-palo</module>
+        <module>hugegraph-hbase</module>
+        <module>hugegraph-postgresql</module>
+    </modules>
+
+    <dependencyManagement>
+        <dependencies>
+            <!-- TODO: could we merge them to hugegraph-commons only? -->
+            <dependency>
+                <groupId>org.apache.hugegraph</groupId>
+                <artifactId>hugegraph-rpc</artifactId>
+                <version>${hugegraph-commons.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.hugegraph</groupId>
+                <artifactId>hugegraph-common</artifactId>
+                <version>${hugegraph-commons.version}</version>
+            </dependency>
+
+            <!-- logging -->
+            <dependency>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-api</artifactId>
+                <version>${log4j2.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-core</artifactId>
+                <version>${log4j2.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-slf4j-impl</artifactId>
+                <version>${log4j2.version}</version>
+            </dependency>
+
+            <!-- junit -->
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>${junit.version}</version>
+            </dependency>
+
+            <!-- tinkerpop -->
+            <dependency>
+                <groupId>org.apache.tinkerpop</groupId>
+                <artifactId>gremlin-core</artifactId>
+                <version>${tinkerpop.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.tinkerpop</groupId>
+                <artifactId>gremlin-server</artifactId>
+                <version>${tinkerpop.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.github.jeremyh</groupId>
+                        <artifactId>jBCrypt</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.tinkerpop</groupId>
+                <artifactId>gremlin-console</artifactId>
+                <version>${tinkerpop.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.github.jeremyh</groupId>
+                        <artifactId>jBCrypt</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.tinkerpop</groupId>
+                <artifactId>gremlin-groovy</artifactId>
+                <version>${tinkerpop.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.github.jeremyh</groupId>
+                        <artifactId>jBCrypt</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.tinkerpop</groupId>
+                <artifactId>tinkergraph-gremlin</artifactId>
+                <version>${tinkerpop.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.tinkerpop</groupId>
+                <artifactId>gremlin-test</artifactId>
+                <version>${tinkerpop.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.tinkerpop</groupId>
+                <artifactId>gremlin-groovy-test</artifactId>
+                <version>3.2.11</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.tinkerpop</groupId>
+                <artifactId>gremlin-driver</artifactId>
+                <version>${tinkerpop.version}</version>
+            </dependency>
+
+            <!-- utility -->
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons.io.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpclient</artifactId>
+                <version>${httpclient.version}</version>
+            </dependency>
+
+            <!-- jersey -->
+            <dependency>
+                <groupId>org.glassfish.jersey.core</groupId>
+                <artifactId>jersey-server</artifactId>
+                <version>${jersey.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.jersey.containers</groupId>
+                <artifactId>jersey-container-grizzly2-http</artifactId>
+                <version>${jersey.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.jersey.containers</groupId>
+                <artifactId>jersey-container-grizzly2-servlet</artifactId>
+                <version>${jersey.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.jersey.media</groupId>
+                <artifactId>jersey-media-json-jackson</artifactId>
+                <version>${jersey.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+                <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+                <version>${jersey.version}</version>
+            </dependency>
+
+            <!-- metrics -->
+            <dependency>
+                <groupId>io.dropwizard.metrics</groupId>
+                <artifactId>metrics-json</artifactId>
+                <version>${metrics.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.dropwizard.metrics</groupId>
+                <artifactId>metrics-jersey3</artifactId>
+                <version>${metrics.version}</version>
+            </dependency>
+
+            <!-- javassist -->
+            <dependency>
+                <groupId>org.javassist</groupId>
+                <artifactId>javassist</artifactId>
+                <version>${javassist.version}</version>
+            </dependency>
+
+            <!-- protobuf -->
+            <dependency>
+                <groupId>io.grpc</groupId>
+                <artifactId>grpc-netty</artifactId>
+                <version>${grpc.version}</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>io.grpc</groupId>
+                <artifactId>grpc-stub</artifactId>
+                <version>${grpc.version}</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>com.google.protobuf</groupId>
+                <artifactId>protobuf-java</artifactId>
+                <version>${protobuf.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-text</artifactId>
+                <version>1.10.0</version>
+            </dependency>
+            <dependency>
+                <groupId>org.openjdk.jmh</groupId>
+                <artifactId>jmh-core</artifactId>
+                <version>${jmh.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.openjdk.jmh</groupId>
+                <artifactId>jmh-generator-annprocess</artifactId>
+                <version>${jmh.version}</version>
+                <scope>test</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>3.1</version>
+                    <configuration>
+                        <source>${compiler.source}</source>
+                        <target>${compiler.target}</target>
+                        <compilerArguments>
+                            <Xmaxerrs>500</Xmaxerrs>
+                        </compilerArguments>
+                        <compilerArgs>
+                            <arg>-Xlint:unchecked</arg>
+                        </compilerArgs>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-clean-plugin</artifactId>
+                    <configuration>
+                        <filesets>
+                            <fileset>
+                                <directory>${project.basedir}/</directory>
+                                <includes>
+                                    <include>*.tar</include>
+                                    <include>*.tar.gz</include>
+                                    <include>.flattened-pom.xml</include>
+                                    <include>${final.name}/**</include>
+                                </includes>
+                                <followSymlinks>false</followSymlinks>
+                            </fileset>
+                            <fileset>
+                                <directory>${final.name}</directory>
+                            </fileset>
+                        </filesets>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <version>${checkstyle.plugin.version}</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>com.puppycrawl.tools</groupId>
+                        <artifactId>checkstyle</artifactId>
+                        <version>${checkstyle.version}</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <configLocation>style/checkstyle.xml</configLocation>
+                    <encoding>UTF-8</encoding>
+                    <consoleOutput>true</consoleOutput>
+                    <failsOnError>true</failsOnError>
+                    <linkXRef>false</linkXRef>
+                    <includeTestSourceDirectory>false</includeTestSourceDirectory>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>validate</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>flatten-maven-plugin</artifactId>
+                <version>1.2.7</version>
+                <configuration>
+                    <updatePomFile>true</updatePomFile>
+                    <flattenMode>resolveCiFriendliesOnly</flattenMode>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>flatten</id>
+                        <phase>process-resources</phase>
+                        <goals>
+                            <goal>flatten</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>flatten.clean</id>
+                        <phase>clean</phase>
+                        <goals>
+                            <goal>clean</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+
+    </build>
+
+    <profiles>
+        <profile>
+            <id>core-test</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>core-test</id>
+                                <goals>
+                                    <goal>test</goal>
+                                </goals>
+                                <phase>test</phase>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>unit-test</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>unit-test</id>
+                                <goals>
+                                    <goal>test</goal>
+                                </goals>
+                                <phase>test</phase>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>api-test</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>api-test</id>
+                                <goals>
+                                    <goal>test</goal>
+                                </goals>
+                                <phase>test</phase>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>tinkerpop-structure-test</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>tinkerpop-structure-test</id>
+                                <goals>
+                                    <goal>test</goal>
+                                </goals>
+                                <phase>test</phase>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>tinkerpop-process-test</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>tinkerpop-process-test</id>
+                                <goals>
+                                    <goal>test</goal>
+                                </goals>
+                                <phase>test</phase>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
diff --git a/hugegraph-store/README.md b/hugegraph-store/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/hugegraph-store/README.md
diff --git a/pom.xml b/pom.xml
index 270182e..308d2ff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,10 +23,10 @@
     <version>${revision}</version>
     <packaging>pom</packaging>
 
-    <name>hugegraph</name>
+    <name>${project.artifactId}</name>
     <url>https://github.com/apache/hugegraph</url>
     <description>
-        hugegraph is a fast-speed, highly-scalable, transactional graph database developed by baidu
+        HugeGraph is a fast-speed and highly-scalable graph database.
     </description>
 
     <parent>
@@ -45,37 +45,37 @@
     </licenses>
 
     <developers>
-      <developer>
-        <id>Apache Hugegraph(incubating)</id>
-        <email>dev-subscribe@hugegraph.apache.org</email>
-        <url>https://hugegraph.apache.org/</url>
-      </developer>
+        <developer>
+            <id>Apache Hugegraph(incubating)</id>
+            <email>dev-subscribe@hugegraph.apache.org</email>
+            <url>https://hugegraph.apache.org/</url>
+        </developer>
     </developers>
 
     <mailingLists>
-      <mailingList>
-        <name>Development Mailing List</name>
-        <subscribe>dev-subscribe@hugegraph.apache.org</subscribe>
-        <unsubscribe>dev-unsubscribe@hugegraph.apache.org</unsubscribe>
-        <post>dev@hugegraph.incubator.apache.org</post>
-      </mailingList>
-      <mailingList>
-        <name>Commits List</name>
-        <subscribe>commits-subscribe@hugegraph.apache.org</subscribe>
-        <unsubscribe>commits-unsubscribe@hugegraph.apache.org</unsubscribe>
-        <post>commits@hugegraph.apache.org</post>
-      </mailingList>
-      <mailingList>
-        <name>Issues List</name>
-        <subscribe>issues-subscribe@hugegraph.apache.org</subscribe>
-        <unsubscribe>issues-unsubscribe@hugegraph.apache.org</unsubscribe>
-        <post>issues@hugegraph.apache.org</post>
-      </mailingList>
+        <mailingList>
+            <name>Development Mailing List</name>
+            <subscribe>dev-subscribe@hugegraph.apache.org</subscribe>
+            <unsubscribe>dev-unsubscribe@hugegraph.apache.org</unsubscribe>
+            <post>dev@hugegraph.incubator.apache.org</post>
+        </mailingList>
+        <mailingList>
+            <name>Commits List</name>
+            <subscribe>commits-subscribe@hugegraph.apache.org</subscribe>
+            <unsubscribe>commits-unsubscribe@hugegraph.apache.org</unsubscribe>
+            <post>commits@hugegraph.apache.org</post>
+        </mailingList>
+        <mailingList>
+            <name>Issues List</name>
+            <subscribe>issues-subscribe@hugegraph.apache.org</subscribe>
+            <unsubscribe>issues-unsubscribe@hugegraph.apache.org</unsubscribe>
+            <post>issues@hugegraph.apache.org</post>
+        </mailingList>
     </mailingLists>
 
     <issueManagement>
-      <system>Github Issues</system>
-      <url>https://github.com/apache/hugegraph/issues</url>
+        <system>Github Issues</system>
+        <url>https://github.com/apache/hugegraph/issues</url>
     </issueManagement>
 
     <scm>
@@ -89,257 +89,16 @@
     </prerequisites>
 
     <properties>
-        <revision>1.0.0</revision>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <top.level.dir>${project.basedir}/..</top.level.dir>
-        <release.name>hugegraph</release.name>
-        <final.name>apache-${release.name}-incubating-${project.version}</final.name>
-        <final.destfile>${top.level.dir}/${final.name}.tar.gz</final.destfile>
-        <compiler.source>1.8</compiler.source>
-        <compiler.target>1.8</compiler.target>
-        <slf4j.version>1.7.5</slf4j.version>
-        <log4j.version>1.2.17</log4j.version>
-        <log4j2.version>2.17.1</log4j2.version>
-        <junit.version>4.12</junit.version>
-        <tinkerpop.version>3.5.1</tinkerpop.version>
-        <commons.io.version>2.7</commons.io.version>
-        <guava.version>25.1-jre</guava.version>
-        <httpclient.version>4.5.13</httpclient.version>
-        <jersey.version>3.0.3</jersey.version>
-        <metrics.version>4.2.4</metrics.version>
-        <javassist.version>3.21.0-GA</javassist.version>
-        <shell-executable>bash</shell-executable>
-        <checkstyle.plugin.version>3.1.2</checkstyle.plugin.version>
-        <checkstyle.version>8.45</checkstyle.version>
-        <hugegraph-commons.version>1.0.0</hugegraph-commons.version>
-        <grpc.version>1.47.0</grpc.version>
-        <protobuf.version>3.21.7</protobuf.version>
-        <jmh.version>1.36</jmh.version>
-        <arthas.version>3.7.1</arthas.version>
-        <swagger.version>2.2.18</swagger.version>
+        <revision>1.5.0</revision>
     </properties>
 
     <modules>
-        <module>hugegraph-core</module>
-        <module>hugegraph-api</module>
-        <module>hugegraph-example</module>
-        <module>hugegraph-dist</module>
-        <module>hugegraph-test</module>
-        <module>hugegraph-cassandra</module>
-        <module>hugegraph-scylladb</module>
-        <module>hugegraph-rocksdb</module>
-        <module>hugegraph-mysql</module>
-        <module>hugegraph-palo</module>
-        <module>hugegraph-hbase</module>
-        <module>hugegraph-postgresql</module>
+        <module>hugegraph-server</module>
+        <!-- TODO: uncomment when merge into pd and store -->
+        <!-- <module>hugegraph-pd</module> -->
+        <!-- <module>hugegraph-store</module> -->
     </modules>
 
-    <dependencyManagement>
-        <dependencies>
-            <!-- TODO: could we merge them to hugegraph-commons only? -->
-            <dependency>
-                <groupId>org.apache.hugegraph</groupId>
-                <artifactId>hugegraph-rpc</artifactId>
-                <version>${hugegraph-commons.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.hugegraph</groupId>
-                <artifactId>hugegraph-common</artifactId>
-                <version>${hugegraph-commons.version}</version>
-            </dependency>
-
-            <!-- logging -->
-            <dependency>
-                <groupId>org.apache.logging.log4j</groupId>
-                <artifactId>log4j-api</artifactId>
-                <version>${log4j2.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.logging.log4j</groupId>
-                <artifactId>log4j-core</artifactId>
-                <version>${log4j2.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.logging.log4j</groupId>
-                <artifactId>log4j-slf4j-impl</artifactId>
-                <version>${log4j2.version}</version>
-            </dependency>
-
-            <!-- junit -->
-            <dependency>
-                <groupId>junit</groupId>
-                <artifactId>junit</artifactId>
-                <version>${junit.version}</version>
-            </dependency>
-
-            <!-- tinkerpop -->
-            <dependency>
-                <groupId>org.apache.tinkerpop</groupId>
-                <artifactId>gremlin-core</artifactId>
-                <version>${tinkerpop.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.tinkerpop</groupId>
-                <artifactId>gremlin-server</artifactId>
-                <version>${tinkerpop.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>com.github.jeremyh</groupId>
-                        <artifactId>jBCrypt</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.tinkerpop</groupId>
-                <artifactId>gremlin-console</artifactId>
-                <version>${tinkerpop.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>com.github.jeremyh</groupId>
-                        <artifactId>jBCrypt</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.tinkerpop</groupId>
-                <artifactId>gremlin-groovy</artifactId>
-                <version>${tinkerpop.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>com.github.jeremyh</groupId>
-                        <artifactId>jBCrypt</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.tinkerpop</groupId>
-                <artifactId>tinkergraph-gremlin</artifactId>
-                <version>${tinkerpop.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.tinkerpop</groupId>
-                <artifactId>gremlin-test</artifactId>
-                <version>${tinkerpop.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.tinkerpop</groupId>
-                <artifactId>gremlin-groovy-test</artifactId>
-                <version>3.2.11</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.tinkerpop</groupId>
-                <artifactId>gremlin-driver</artifactId>
-                <version>${tinkerpop.version}</version>
-            </dependency>
-
-            <!-- utility -->
-            <dependency>
-                <groupId>commons-io</groupId>
-                <artifactId>commons-io</artifactId>
-                <version>${commons.io.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.google.guava</groupId>
-                <artifactId>guava</artifactId>
-                <version>${guava.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.httpcomponents</groupId>
-                <artifactId>httpclient</artifactId>
-                <version>${httpclient.version}</version>
-            </dependency>
-
-            <!-- jersey -->
-            <dependency>
-                <groupId>org.glassfish.jersey.core</groupId>
-                <artifactId>jersey-server</artifactId>
-                <version>${jersey.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.jersey.containers</groupId>
-                <artifactId>jersey-container-grizzly2-http</artifactId>
-                <version>${jersey.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.jersey.containers</groupId>
-                <artifactId>jersey-container-grizzly2-servlet</artifactId>
-                <version>${jersey.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.jersey.media</groupId>
-                <artifactId>jersey-media-json-jackson</artifactId>
-                <version>${jersey.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-                <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
-                <version>${jersey.version}</version>
-            </dependency>
-
-            <!-- metrics -->
-            <dependency>
-                <groupId>io.dropwizard.metrics</groupId>
-                <artifactId>metrics-json</artifactId>
-                <version>${metrics.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.dropwizard.metrics</groupId>
-                <artifactId>metrics-jersey3</artifactId>
-                <version>${metrics.version}</version>
-            </dependency>
-
-            <!-- javassist -->
-            <dependency>
-                <groupId>org.javassist</groupId>
-                <artifactId>javassist</artifactId>
-                <version>${javassist.version}</version>
-            </dependency>
-
-            <!-- protobuf -->
-            <dependency>
-                <groupId>io.grpc</groupId>
-                <artifactId>grpc-netty</artifactId>
-                <version>${grpc.version}</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>io.grpc</groupId>
-                <artifactId>grpc-protobuf</artifactId>
-                <version>${grpc.version}</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>io.grpc</groupId>
-                <artifactId>grpc-stub</artifactId>
-                <version>${grpc.version}</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>com.google.protobuf</groupId>
-                <artifactId>protobuf-java</artifactId>
-                <version>${protobuf.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.commons</groupId>
-                <artifactId>commons-text</artifactId>
-                <version>1.10.0</version>
-            </dependency>
-            <dependency>
-                <groupId>org.openjdk.jmh</groupId>
-                <artifactId>jmh-core</artifactId>
-                <version>${jmh.version}</version>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.openjdk.jmh</groupId>
-                <artifactId>jmh-generator-annprocess</artifactId>
-                <version>${jmh.version}</version>
-                <scope>test</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
     <build>
         <pluginManagement>
             <plugins>
@@ -375,41 +134,6 @@
                         </execution>
                     </executions>
                 </plugin>
-                <plugin>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.1</version>
-                    <configuration>
-                        <source>${compiler.source}</source>
-                        <target>${compiler.target}</target>
-                        <compilerArguments>
-                            <Xmaxerrs>500</Xmaxerrs>
-                        </compilerArguments>
-                        <compilerArgs>
-                            <arg>-Xlint:unchecked</arg>
-                        </compilerArgs>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-clean-plugin</artifactId>
-                    <configuration>
-                        <filesets>
-                            <fileset>
-                                <directory>${project.basedir}/</directory>
-                                <includes>
-                                    <include>*.tar</include>
-                                    <include>*.tar.gz</include>
-                                    <include>.flattened-pom.xml</include>
-                                    <include>${final.name}/**</include>
-                                </includes>
-                                <followSymlinks>false</followSymlinks>
-                            </fileset>
-                            <fileset>
-                                <directory>${final.name}</directory>
-                            </fileset>
-                        </filesets>
-                    </configuration>
-                </plugin>
                 <!-- Apache RAT for license check -->
                 <plugin>
                     <groupId>org.apache.rat</groupId>
@@ -483,172 +207,10 @@
                 </plugin>
             </plugins>
         </pluginManagement>
-
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>${checkstyle.plugin.version}</version>
-                <dependencies>
-                    <dependency>
-                        <groupId>com.puppycrawl.tools</groupId>
-                        <artifactId>checkstyle</artifactId>
-                        <version>${checkstyle.version}</version>
-                    </dependency>
-                </dependencies>
-                <configuration>
-                    <configLocation>style/checkstyle.xml</configLocation>
-                    <encoding>UTF-8</encoding>
-                    <consoleOutput>true</consoleOutput>
-                    <failsOnError>true</failsOnError>
-                    <linkXRef>false</linkXRef>
-                    <includeTestSourceDirectory>false</includeTestSourceDirectory>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>validate</id>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>flatten-maven-plugin</artifactId>
-                <version>1.2.7</version>
-                <configuration>
-                    <updatePomFile>true</updatePomFile>
-                    <flattenMode>resolveCiFriendliesOnly</flattenMode>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>flatten</id>
-                        <phase>process-resources</phase>
-                        <goals>
-                            <goal>flatten</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>flatten.clean</id>
-                        <phase>clean</phase>
-                        <goals>
-                            <goal>clean</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-
     </build>
 
     <profiles>
         <profile>
-            <id>core-test</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>core-test</id>
-                                <goals>
-                                    <goal>test</goal>
-                                </goals>
-                                <phase>test</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>unit-test</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>unit-test</id>
-                                <goals>
-                                    <goal>test</goal>
-                                </goals>
-                                <phase>test</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>api-test</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>api-test</id>
-                                <goals>
-                                    <goal>test</goal>
-                                </goals>
-                                <phase>test</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>tinkerpop-structure-test</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>tinkerpop-structure-test</id>
-                                <goals>
-                                    <goal>test</goal>
-                                </goals>
-                                <phase>test</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>tinkerpop-process-test</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>tinkerpop-process-test</id>
-                                <goals>
-                                    <goal>test</goal>
-                                </goals>
-                                <phase>test</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
             <id>apache-release</id>
             <build>
                 <plugins>