From 35258e5adfc7faa67fb0f2985636994d5458e171 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 10:25:07 +0800 Subject: [PATCH 001/101] change to 2.5.0 --- .github/workflows/deploy.yml | 21 ++++++--------------- mkdocs.yml | 10 +++++----- overrides/partials/search.html | 2 -- 3 files changed, 11 insertions(+), 22 deletions(-) delete mode 100644 overrides/partials/search.html diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 954f814455a..916958aa40b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -2,11 +2,11 @@ name: Publish docs via GitHub Pages on: push: branches: - - master + - v2.5.0 jobs: deploy: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: @@ -29,21 +29,12 @@ jobs: pip3 install -r ./requirements.txt - name: Git Config - run: git config user.name jerry.liang && git config user.email ${{secrets.GIT_EMAIL}} - - - name: mike list delete - run: | - #mike delete 2.0.0 -p - mike list + run: git config user.name whitewum && git config user.email min.wu@vesoft.com - name: Mike Deploy - run: mike deploy master -p --rebase - -# - name: set-default -# run: mike set-default 2.0.1 -p - - - name: mike list - run: mike list + mike deploy 2.5.0 -p --rebase + mike set-default 2.5.0 -p --rebase + mike list # - name: Deploy # uses: peaceiris/actions-gh-pages@v3 diff --git a/mkdocs.yml b/mkdocs.yml index 43e14da499c..fb07fcd9297 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,8 +2,8 @@ site_name: Nebula Graph Database Manual site_description: Documentation for Nebula Graph Database site_author: Nebula Graph -site_url: https://docs.nebula-graph.io/master/ -edit_uri: 'edit/master/docs-2.0/' +site_url: https://docs.nebula-graph.io/v2.5.0/ +edit_uri: 'edit/v2.5.0/docs-2.0/' docs_dir: docs-2.0 # repository @@ -20,8 +20,8 @@ theme: logo: 'https://cloud-cdn.nebula-graph.com.cn/vesoft-nebula-logo-white.png' favicon: 'assets/images/favicon.ico' palette: - primary: 'teal' - accent: 'light green' + primary: 'cyan' + accent: 'lime' features: - navigation.top language: 'en' @@ -434,7 +434,7 @@ plugins: - git-revision-date-localized - with-pdf: copyright: 2021 Vesoft Inc. - cover_subtitle: master + cover_subtitle: 2.5.0 author: Min Wu, Yao Zhou, Cooper Liang, foesa Yang, Max Zhu cover: true back_cover: true diff --git a/overrides/partials/search.html b/overrides/partials/search.html deleted file mode 100644 index 4a1dbd3a81a..00000000000 --- a/overrides/partials/search.html +++ /dev/null @@ -1,2 +0,0 @@ - From 63b582bf598aa18dd4c7bcf438d219693163e3e6 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 10:25:07 +0800 Subject: [PATCH 002/101] change to 2.5.0 --- .github/workflows/deploy.yml | 20 ++++++-------------- mkdocs.yml | 10 +++++----- overrides/partials/search.html | 2 -- 3 files changed, 11 insertions(+), 21 deletions(-) delete mode 100644 overrides/partials/search.html diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 954f814455a..22b8cafb2c1 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -2,11 +2,11 @@ name: Publish docs via GitHub Pages on: push: branches: - - master + - v2.5.0 jobs: deploy: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: @@ -29,22 +29,14 @@ jobs: pip3 install -r ./requirements.txt - name: Git Config - run: git config user.name jerry.liang && git config user.email ${{secrets.GIT_EMAIL}} + run: git config user.name whitewum && git config user.email min.wu@vesoft.com - - name: mike list delete + - name: Mike Deploy run: | - #mike delete 2.0.0 -p + mike deploy 2.5.0 -p --rebase + mike set-default 2.5.0 -p --rebase mike list - - name: Mike Deploy - run: mike deploy master -p --rebase - -# - name: set-default -# run: mike set-default 2.0.1 -p - - - name: mike list - run: mike list - # - name: Deploy # uses: peaceiris/actions-gh-pages@v3 # with: diff --git a/mkdocs.yml b/mkdocs.yml index 43e14da499c..fb07fcd9297 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,8 +2,8 @@ site_name: Nebula Graph Database Manual site_description: Documentation for Nebula Graph Database site_author: Nebula Graph -site_url: https://docs.nebula-graph.io/master/ -edit_uri: 'edit/master/docs-2.0/' +site_url: https://docs.nebula-graph.io/v2.5.0/ +edit_uri: 'edit/v2.5.0/docs-2.0/' docs_dir: docs-2.0 # repository @@ -20,8 +20,8 @@ theme: logo: 'https://cloud-cdn.nebula-graph.com.cn/vesoft-nebula-logo-white.png' favicon: 'assets/images/favicon.ico' palette: - primary: 'teal' - accent: 'light green' + primary: 'cyan' + accent: 'lime' features: - navigation.top language: 'en' @@ -434,7 +434,7 @@ plugins: - git-revision-date-localized - with-pdf: copyright: 2021 Vesoft Inc. - cover_subtitle: master + cover_subtitle: 2.5.0 author: Min Wu, Yao Zhou, Cooper Liang, foesa Yang, Max Zhu cover: true back_cover: true diff --git a/overrides/partials/search.html b/overrides/partials/search.html deleted file mode 100644 index 4a1dbd3a81a..00000000000 --- a/overrides/partials/search.html +++ /dev/null @@ -1,2 +0,0 @@ - From a4fb6fd07eddc5532d959b9b742b39a1841357ab Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 10:38:29 +0800 Subject: [PATCH 003/101] Delete header.html --- overrides/partials/header.html | 90 ---------------------------------- 1 file changed, 90 deletions(-) delete mode 100644 overrides/partials/header.html diff --git a/overrides/partials/header.html b/overrides/partials/header.html deleted file mode 100644 index 07ed13181ec..00000000000 --- a/overrides/partials/header.html +++ /dev/null @@ -1,90 +0,0 @@ -{#- - This file was automatically generated - do not edit --#} -
-
- - -
- From c5bc2262636a4da5018a782f0a73f5c02e9a6bdd Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 10:45:13 +0800 Subject: [PATCH 004/101] Update README.md --- docs-2.0/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/README.md b/docs-2.0/README.md index 7bc84ad8168..e09eba23f08 100644 --- a/docs-2.0/README.md +++ b/docs-2.0/README.md @@ -21,7 +21,7 @@ Nebula Graph is a distributed, scalable, and lightning-fast graph database. It i - [Video](https://www.youtube.com/channel/UC73V8q795eSEMxDX4Pvdwmw) - [Chinese Docs](https://docs.nebula-graph.com.cn/master/) -## Graphic Illustrations +## Symbols used in this manual diff --git a/docs-2.0/2.quick-start/4.nebula-graph-crud.md b/docs-2.0/2.quick-start/4.nebula-graph-crud.md index 75e537eac13..8f6a7d30227 100644 --- a/docs-2.0/2.quick-start/4.nebula-graph-crud.md +++ b/docs-2.0/2.quick-start/4.nebula-graph-crud.md @@ -1,4 +1,4 @@ -# Step 4: Use nGQL(CRUD) +# Step 4: Use nGQL (CRUD) This topic will describe the basic CRUD operations in Nebula Graph. diff --git a/docs-2.0/3.ngql-guide/5.operators/9.precedence.md b/docs-2.0/3.ngql-guide/5.operators/9.precedence.md index 5980af291b9..fc65f6838be 100644 --- a/docs-2.0/3.ngql-guide/5.operators/9.precedence.md +++ b/docs-2.0/3.ngql-guide/5.operators/9.precedence.md @@ -2,8 +2,7 @@ The following list shows the precedence of nGQL operators in descending order. Operators that are shown together on a line have the same precedence. - -- `-`(negative number) +- `-` (negative number) - `!`, `NOT` - `*`, `/`, `%` - `-`, `+` diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md index 1b969740942..06736d562b4 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md @@ -23,7 +23,7 @@ For all parameters and their current values, see [Configurations](1.configuratio | ----------- | ----------------------- | ---------------------------------------------------- | | `daemonize` | `true` | When set to `true`, the process is a daemon process. | | `pid_file` | `pids/nebula-metad.pid` | The file that records the process ID. | -| `timezone_name` | - | Specifies the Nebula Graph time zone. This parameter is not predefined in the initial configuration files. You can manually set it if you need it. The system default value is `UTC+00:00:00`. For the format of the parameter value, see [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual"). For example, `--timezone_name=CST-8` represents the GMT+8 time zone.| +| `timezone_name` | - | Specifies the Nebula Graph time zone. This parameter is not predefined in the initial configuration files. You can manually set it if you need it. The system default value is `UTC+00:00:00`. For the format of the parameter value, see [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual"). For example, `--timezone_name=CST-8` represents the GMT+8 time zone.| | `local_config` | `true` | When set to `true`, the process gets configurations from the configuration files. | |`minimum_reserved_bytes`|-|Specifies the minimum remaining space of each data storage path. When the value is lower than this standard, the cluster metadata operation may fail. This configuration is measured in bytes. The default value is `1073741824`, namely, 1GB.| diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md index 2ae39c33a69..747d2b3f108 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md @@ -27,7 +27,7 @@ For all parameters and their current values, see [Configurations](1.configuratio | :----------- | :----------------------- | :------------------| | `daemonize` | `true` | When set to `true`, the process is a daemon process. | | `pid_file` | `pids/nebula-storaged.pid` | The file that records the process ID. | -| `timezone_name` | - | Specifies the Nebula Graph time zone. This parameter is not predefined in the initial configuration files. The system default value is `UTC+00:00:00`. For the format of the parameter value, see [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual"). For example, `--timezone_name=CST-8` represents the GMT+8 time zone. | +| `timezone_name` | - | Specifies the Nebula Graph time zone. This parameter is not predefined in the initial configuration files. The system default value is `UTC+00:00:00`. For the format of the parameter value, see [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual"). For example, `--timezone_name=CST-8` represents the GMT+8 time zone. | | `local_config` | `true` | When set to `true`, the process gets configurations from the configuration files. | !!! note diff --git a/docs-2.0/nebula-bench.md b/docs-2.0/nebula-bench.md index ce24922a141..92b51305bae 100644 --- a/docs-2.0/nebula-bench.md +++ b/docs-2.0/nebula-bench.md @@ -16,4 +16,4 @@ Nebula Bench is a performance test tool for Nebula Graph using the LDBC data set 3. Performance testing by using K6 with the XK6-Nebula plug-in. -For detailed usage instructions, see [Nebula Bench](https://github.com/vesoft-inc/nebula-bench/blob/{{bench.branch}}/README.md)。 \ No newline at end of file +For detailed usage instructions, see [Nebula Bench](https://github.com/vesoft-inc/nebula-bench/blob/{{bench.branch}}/README.md). diff --git a/docs-2.0/nebula-exchange/about-exchange/ex-ug-limitations.md b/docs-2.0/nebula-exchange/about-exchange/ex-ug-limitations.md index 3fe16af084c..1e7473bce92 100644 --- a/docs-2.0/nebula-exchange/about-exchange/ex-ug-limitations.md +++ b/docs-2.0/nebula-exchange/about-exchange/ex-ug-limitations.md @@ -10,9 +10,9 @@ The correspondence between the Nebula Exchange release (the JAR version) and the |:---|:---| |2.5-SNAPSHOT|v2-nightly| |{{exchange.release}}|{{nebula.release}}| -|2.1.0|2.0.0、2.0.1| -|2.0.1|2.0.0、2.0.1| -|2.0.0|2.0.0、2.0.1| +|2.1.0|2.0.0, 2.0.1| +|2.0.1|2.0.0, 2.0.1| +|2.0.0|2.0.0, 2.0.1| JAR packages are available in two ways: [compile them yourself](../ex-ug-compile.md) or download them from the Maven repository. @@ -33,7 +33,7 @@ To ensure the normal operation of Exchange, ensure that the following software h - Java: 1.8 -- Scala: 2.10.7、2.11.12 or 2.12.10 +- Scala: 2.10.7, 2.11.12 or 2.12.10 Hadoop Distributed File System (HDFS) needs to be deployed in the following scenarios: diff --git a/docs-2.0/nebula-exchange/about-exchange/ex-ug-terms.md b/docs-2.0/nebula-exchange/about-exchange/ex-ug-terms.md index b166f159a6f..120d3824435 100644 --- a/docs-2.0/nebula-exchange/about-exchange/ex-ug-terms.md +++ b/docs-2.0/nebula-exchange/about-exchange/ex-ug-terms.md @@ -1,6 +1,6 @@ + + +## Nebula Bench + +[Nebula Bench](https://github.com/vesoft-inc/nebula-bench) is used to test the baseline performance data of Nebula Graph. It uses the standard data set of LDBC v0.3.3. + +|Nebula Graph version|[Nebula Bench](https://github.com/vesoft-inc/nebula-bench) version (commit id)| +|:---|:---| +| {{ nebula.release }} | {{bench.release}}(661f871) | + +## API, SDK + +!!! compatibility + + Select the latest version of `X.Y.*` which is the same as the kernel version. + +|Nebula Graph version| Language (commit id) | +|:---| :--- | +| {{ nebula.release }}| [C++](https://github.com/vesoft-inc/nebula-cpp)(00e2625) | +| {{ nebula.release }}| [Go](https://github.com/vesoft-inc/nebula-go/tree/{{go.branch}})(8a1495a) | +| {{ nebula.release }}| [Python](https://github.com/vesoft-inc/nebula-python)(98e08e4) | +| {{ nebula.release }}| [Java Client](https://github.com/vesoft-inc/nebula-java/tree/{{java.branch}})(0fbc3c6) | + +## Unpublished + +- API + + -[Rust Client](https://github.com/vesoft-inc/nebula-rust) + + -[Node.js Client](https://github.com/vesoft-inc/nebula-node) + + -[HTTP Client](https://github.com/vesoft-inc/nebula-http-gateway) + + -[Object Graph Mapping Library (OGM, or ORM)] Java, Python (TODO: in design) + +- Monitoring + + -[Promethus connector](https://github.com/vesoft-inc/nebula-stats-exporter) + + -[Graph Computing] (TODO: in coding) + +- Test + + -[Chaos Test](https://github.com/vesoft-inc/nebula-chaos) diff --git a/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md b/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md index 88cd04136ab..3b14374adcd 100644 --- a/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md +++ b/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md @@ -4,7 +4,7 @@ Nebula Graph supports querying the monitoring metrics through HTTP ports. ## Metrics -Each metric of Nebula Graph consists of three fields: name, type, and time range. The fields are separated by periods, for example, `num_queries.sum.600`. The detailed description is as follows. +Each metric of Nebula Graph consists of three fields: name, type, and time range. The fields are separated by periods, for example, `num_queries.sum.600`. Different Nebula Graph services (Graph, Storage, or Meta) support different metrics. The detailed description is as follows. |Field|Example|Description| |-|-|-| @@ -12,14 +12,12 @@ Each metric of Nebula Graph consists of three fields: name, type, and time range |Metric type|`sum`|Indicates how the metrics are collected. Supported types are SUM, COUNT, AVG, RATE, and the P-th sample quantiles such as P75, P95, P99, and P99.9.| |Time range|`600`|The time range in seconds for the metric collection. Supported values are 5, 60, 600, and 3600, representing the last 5 seconds, 1 minute, 10 minutes, and 1 hour.| -Different Nebula Graph services (Graph, Storage, or Meta) support different metrics, for more information, see Metric list (TODO: doc). - ## Query metrics over HTTP ### Syntax ```bash -$ curl -G "http://:/stats?stats=[&format=json]" +curl -G "http://:/stats?stats= [&format=json]" ``` |Parameter|Description| @@ -33,11 +31,11 @@ $ curl -G "http://:/stats?stats=[&format=json]" If Nebula Graph is deployed with [Docker Compose](../2.quick-start/2.deploy-nebula-graph-with-docker-compose.md), run `docker-compose ps` to check the ports that are mapped from the service ports inside of the container and then query through them. -### Example +### Examples * Query a single metric - Query the query number in the last 10 minutes in the Graph Service. + Query the query number in the last 10 minutes in the Graph Service. ```bash $ curl -G "http://192.168.8.40:19669/stats?stats=num_queries.sum.600" @@ -46,7 +44,8 @@ $ curl -G "http://:/stats?stats=[&format=json]" * Query multiple metrics - Query the following metrics together: + Query the following metrics together: + * The average heartbeat latency in the last 1 minute. * The average latency of the slowest 1% heartbeats, i.e., the P99 heartbeats, in the last 10 minutes. @@ -58,7 +57,7 @@ $ curl -G "http://:/stats?stats=[&format=json]" * Return a JSON result. - Query the number of new vertices in the Storage Service in the last 10 minutes and return the result in the JSON format. + Query the number of new vertices in the Storage Service in the last 10 minutes and return the result in the JSON format. ```bash $ curl -G "http://192.168.8.40:19779/stats?stats=num_add_vertices.sum.600&format=json" @@ -67,7 +66,7 @@ $ curl -G "http://:/stats?stats=[&format=json]" * Query all metrics in a service. - If no metric is specified in the query, Nebula Graph returns all metrics in the service. + If no metric is specified in the query, Nebula Graph returns all metrics in the service. ```bash $ curl -G "http://192.168.8.40:19559/stats" From eaf305da174f7eb731e48b5cbc7ea802646e30ea Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 12:27:00 +0800 Subject: [PATCH 016/101] commit id --- docs-2.0/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs-2.0/README.md b/docs-2.0/README.md index 9891c4430ad..4770a3954b4 100644 --- a/docs-2.0/README.md +++ b/docs-2.0/README.md @@ -1,6 +1,10 @@ # Welcome to Nebula Graph {{ nebula.release }} Documentation -!!! note "This manual is revised on {{ now().year }}-{{ now().month }}-{{ now().day }}, with [GitHub commit](https://github.com/vesoft-inc/nebula-docs) {{ git.short_commit }}." +!!! note "This manual is revised on {{ now().year }}-{{ now().month }}-{{ now().day }}, with [GitHub commit](https://github.com/vesoft-inc/nebula-docs/commits/v2.5.0) {{ git.short_commit }}." + + Nebula Graph is a distributed, scalable, and lightning-fast graph database. It is the optimal solution in the world capable of hosting graphs with dozens of billions of vertices (nodes) and trillions of edges (relationships) with millisecond latency. From dd95627f234dce09422ad8bf49b5c63d69e79502 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 12:27:00 +0800 Subject: [PATCH 017/101] commit id --- docs-2.0/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs-2.0/README.md b/docs-2.0/README.md index 9891c4430ad..53249ee76c7 100644 --- a/docs-2.0/README.md +++ b/docs-2.0/README.md @@ -1,6 +1,12 @@ # Welcome to Nebula Graph {{ nebula.release }} Documentation -!!! note "This manual is revised on {{ now().year }}-{{ now().month }}-{{ now().day }}, with [GitHub commit](https://github.com/vesoft-inc/nebula-docs) {{ git.short_commit }}." +!!! note "Check the manual version" + + This manual is revised on {{ now().year }}-{{ now().month }}-{{ now().day }}, with [GitHub commit](https://github.com/vesoft-inc/nebula-docs/commits/v{{nebula.release}}) {{ git.short_commit }}." + + Nebula Graph is a distributed, scalable, and lightning-fast graph database. It is the optimal solution in the world capable of hosting graphs with dozens of billions of vertices (nodes) and trillions of edges (relationships) with millisecond latency. From 87ef95052f4b787db482ea0be0b15cf098f413f7 Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Thu, 2 Sep 2021 13:32:55 +0800 Subject: [PATCH 018/101] Update README.md --- docs-2.0/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/README.md b/docs-2.0/README.md index 53249ee76c7..431d39d3ad0 100644 --- a/docs-2.0/README.md +++ b/docs-2.0/README.md @@ -2,7 +2,7 @@ !!! note "Check the manual version" - This manual is revised on {{ now().year }}-{{ now().month }}-{{ now().day }}, with [GitHub commit](https://github.com/vesoft-inc/nebula-docs/commits/v{{nebula.release}}) {{ git.short_commit }}." + This manual is revised on {{ now().year }}-{{ now().month }}-{{ now().day }}, with [GitHub commit](https://github.com/vesoft-inc/nebula-docs/commits/v{{nebula.release}}) {{ git.short_commit }}. From 6580b11a49bbdb31be9d94642c81352cd2e4e304 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 2 Sep 2021 13:48:17 +0800 Subject: [PATCH 022/101] repair links (#681) --- .../4.storage-service.md | 2 +- docs-2.0/20.appendix/write-tools.md | 2 +- .../11.edge-type-statements/3.alter-edge.md | 2 +- .../16.subgraph-and-path/1.get-subgraph.md | 2 +- .../3.ngql-guide/3.data-types/1.numeric.md | 2 +- ...deploy-nebula-graph-with-docker-compose.md | 10 +-- .../1.query-performance-metrics.md | 2 +- docs-2.0/README.md | 2 +- docs-2.0/images/write-choice.png | Bin 0 -> 108567 bytes docs-2.0/nebula-exchange/nebula-exchange.md | 61 ------------------ docs-2.0/nebula-spark-connector.md | 4 +- docs-2.0/nebula-studio/st-ug-toc.md | 14 ++-- .../reuse/source_connect-to-nebula-graph.md | 2 +- ...urce_install-nebula-graph-by-rpm-or-deb.md | 2 +- mkdocs.yml | 14 +++- 15 files changed, 37 insertions(+), 84 deletions(-) create mode 100644 docs-2.0/images/write-choice.png delete mode 100644 docs-2.0/nebula-exchange/nebula-exchange.md diff --git a/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md b/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md index d2b164a62a2..627d5319715 100644 --- a/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md +++ b/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md @@ -14,7 +14,7 @@ The other is the Storage Service that stores the data, which is run by the nebul - High availability (Raft) -- Supports synchronizing with the third party systems, such as [Elasticsearch](../4.deployment-and-installation/6.deploy-text-based-index/2.deploy-es.md). +- Supports synchronizing with the third party systems, such as [Elasticsearch](../../4.deployment-and-installation/6.deploy-text-based-index/2.deploy-es.md). ## The architecture of Storage Service diff --git a/docs-2.0/20.appendix/write-tools.md b/docs-2.0/20.appendix/write-tools.md index 54f837b2df0..29d34ce1873 100644 --- a/docs-2.0/20.appendix/write-tools.md +++ b/docs-2.0/20.appendix/write-tools.md @@ -6,7 +6,7 @@ There are many ways to write Nebula Graph {{ nebula.release }}: - Import with [Studio](../nebula-studio/quick-start/st-ug-import-data.md): This method uses a browser to import multiple csv files of this machine. A single file cannot exceed 100 MB, and its format is limited. - Import with [Importer](../nebula-importer/use-importer.md): This method imports multiple csv files on a single machine with unlimited size and flexible format. - Import with [Exchange](../nebula-exchange/about-exchange/ex-ug-what-is-exchange.md): This method imports from various distribution sources, such as Neo4j, Hive, MySQL, etc., which requires a Spark cluster. -- Import with [Spark-connector](../spark-connector/sc-ug-what-is-spark-connector.md)/[Flink-connector](../nebula-flink/nf-ug-what-is-flink-connector.md): This method has corresponding components (Spark/Flink) and writes a small amount of code. +- Import with [Spark-connector](../nebula-spark-connector.md)/[Flink-connector](../nebula-flink-connector.md): This method has corresponding components (Spark/Flink) and writes a small amount of code. - Import with [C++/GO/Java/Python SDK](../20.appendix/6.eco-tool-version.md): This method imports in the way of writing programs, which requires certain programming and tuning skills. The following figure shows the positions of these ways: diff --git a/docs-2.0/3.ngql-guide/11.edge-type-statements/3.alter-edge.md b/docs-2.0/3.ngql-guide/11.edge-type-statements/3.alter-edge.md index 7b2862e90aa..1f54954c5c3 100644 --- a/docs-2.0/3.ngql-guide/11.edge-type-statements/3.alter-edge.md +++ b/docs-2.0/3.ngql-guide/11.edge-type-statements/3.alter-edge.md @@ -44,7 +44,7 @@ Trying to use a newly altered edge type may fail because the alteration of the e Nebula Graph implements the alteration of the edge type in the next heartbeat cycle. To make sure the alteration is successful, take one of the following approaches: -- Use [`DESCRIBE EDGE`](5.describe-tag.md) to confirm that the edge type information is updated. If it is not, wait a few seconds and try again. +- Use [`DESCRIBE EDGE`](5.describe-edge.md) to confirm that the edge type information is updated. If it is not, wait a few seconds and try again. - Wait for two heartbeat cycles, i.e., 20 seconds. diff --git a/docs-2.0/3.ngql-guide/16.subgraph-and-path/1.get-subgraph.md b/docs-2.0/3.ngql-guide/16.subgraph-and-path/1.get-subgraph.md index e28db913a07..999aee5a1d8 100644 --- a/docs-2.0/3.ngql-guide/16.subgraph-and-path/1.get-subgraph.md +++ b/docs-2.0/3.ngql-guide/16.subgraph-and-path/1.get-subgraph.md @@ -90,7 +90,7 @@ To show the completeness of the subgraph, an additional hop is made on all verti - The returned path of `GET SUBGRAPH 1 STEPS FROM "A" IN follow;` is `B->A`. To show the completeness of the subgraph, an additional hop is made on all vertices that meet the conditions, namely `A->B`. -If you only query paths or vertices that meet the conditions, we suggest you use [MATCH](../7.general-query-statements/2.match.md) or [GO](../7.general-query-statements/3 .go.md). The example is as follows. +If you only query paths or vertices that meet the conditions, we suggest you use [MATCH](../7.general-query-statements/2.match.md) or [GO](../7.general-query-statements/3.go.md). The example is as follows. ```ngql nebula> match p= (v:player) -- (v2) where id(v)=="A" return p; diff --git a/docs-2.0/3.ngql-guide/3.data-types/1.numeric.md b/docs-2.0/3.ngql-guide/3.data-types/1.numeric.md index d9c76019c66..9c00669b4a6 100644 --- a/docs-2.0/3.ngql-guide/3.data-types/1.numeric.md +++ b/docs-2.0/3.ngql-guide/3.data-types/1.numeric.md @@ -41,7 +41,7 @@ When writing and reading different types of data, nGQL complies with the followi | FLOAT | Not supported | Supported | DOUBLE | | DOUBLE | Not supported | Supported | DOUBLE | -For example, nGQL does not support setting [VID](../../1.introduction/3.vid.md) as INT8, but supports setting a certain property type of [TAG](../10.tag-statements/1.create- tag.md) or [Edge type](../11.edge-type-statements/1.create-edge.md) as INT8. When using the nGQL statement to read the property of INT8, the resulted type is INT64. +For example, nGQL does not support setting [VID](../../1.introduction/3.vid.md) as INT8, but supports setting a certain property type of [TAG](../10.tag-statements/1.create-tag.md) or [Edge type](../11.edge-type-statements/1.create-edge.md) as INT8. When using the nGQL statement to read the property of INT8, the resulted type is INT64. Multiple formats are supported: diff --git a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md index 38e8b2cbd70..90697bd5030 100644 --- a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md +++ b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md @@ -57,7 +57,7 @@ Using Docker Compose can quickly deploy Nebula Graph services based on the prepa !!! Note - For more information of the preceding services, see [Nebula Graph architecture](../1.introduction/3.nebula-graph-architecture/1.architecture-overview.md). + For more information of the preceding services, see [Nebula Graph architecture](../../1.introduction/3.nebula-graph-architecture/1.architecture-overview.md). 4. Connect to Nebula Graph. @@ -88,7 +88,7 @@ Using Docker Compose can quickly deploy Nebula Graph services based on the prepa !!! Note - By default, the authentication is off, you can only log in with an existing username (the default is `root`) and any password. To turn it on, see [Enable authentication](../7.data-security/1.authentication/1.authentication.md). + By default, the authentication is off, you can only log in with an existing username (the default is `root`) and any password. To turn it on, see [Enable authentication](../../7.data-security/1.authentication/1.authentication.md). 3. Run the `SHOW HOSTS` statement to check the status of the `nebula-storaged` processes. @@ -271,6 +271,6 @@ The data format has been modified on Jan 27, 2021, and is incompatible with the ## Related documents -- [Install and deploy Nebula Graph with the source code](../4.deployment-and-installation/2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) -- [Install Nebula Graph by RPM or DEB](../4.deployment-and-installation/2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md) -- [Connect to Nebula Graph](3.connect-to-nebula-graph.md) +- [Install and deploy Nebula Graph with the source code](../../4.deployment-and-installation/2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) +- [Install Nebula Graph by RPM or DEB](../../4.deployment-and-installation/2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md) +- [Connect to Nebula Graph](../3.connect-to-nebula-graph.md) diff --git a/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md b/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md index 3b14374adcd..9aadb76f629 100644 --- a/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md +++ b/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md @@ -29,7 +29,7 @@ curl -G "http://:/stats?stats= [&format=json]" !!! note - If Nebula Graph is deployed with [Docker Compose](../2.quick-start/2.deploy-nebula-graph-with-docker-compose.md), run `docker-compose ps` to check the ports that are mapped from the service ports inside of the container and then query through them. + If Nebula Graph is deployed with [Docker Compose](..//4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md), run `docker-compose ps` to check the ports that are mapped from the service ports inside of the container and then query through them. ### Examples diff --git a/docs-2.0/README.md b/docs-2.0/README.md index 431d39d3ad0..cf2a52a3a28 100644 --- a/docs-2.0/README.md +++ b/docs-2.0/README.md @@ -15,7 +15,7 @@ Nebula Graph is a distributed, scalable, and lightning-fast graph database. It i * [What is Nebula Graph](1.introduction/1.what-is-nebula-graph.md) * [Quick start workflow](2.quick-start/1.quick-start-workflow.md) * [Configuration](4.deployment-and-installation/1.resource-preparations.md) -* [FAQ](19.FAQ/0.FAQ.md) +* [FAQ](20.appendix/0.FAQ.md) * [Ecosystem Tools](20.appendix/6.eco-tool-version.md) ## Other Sources diff --git a/docs-2.0/images/write-choice.png b/docs-2.0/images/write-choice.png new file mode 100644 index 0000000000000000000000000000000000000000..b53a9716b422cbf50fc0d209dace4bde001db497 GIT binary patch literal 108567 zcmeFZcT|(v_CBtNf`TB56p^9~DhdPy=>!}^kSe|RULzes6CLSAMygcl9qA=BMTin1 z(n}~x3_U>To$tx0Gjs3#c<0aG`mJ?mEtVPbo^#%_&pG?-{XEYm^r5os*)x~U96NUG z>;t)bYR8U|bsRfJ%1eF<{3hWSfe*)y9e->qE&cF;v^3j87nqf;gXOVfH)709ObX?= zZoD@&H8FYLb&KF#hNQ9b6OIvGKYa81;lXkYWL<57*4Cg+#J-*Z*&8)fIWJM9)!1d9>i4#k){ZkgFPTi+s6XVDc7NLKCYOY6t=f=(B6*I?1 z8gLvZ*)|#3^s~ulrP%h4hon-O1{^Pc(duxG>h;U#Y}Rc0r{2@aJ$daewdh8UIrUDt zTTbzK#ofc+z`EmcL8QZo25x-mYEPsrAaeM~DhL$5(+nQI+;LzqNbNb`+|WNk*(FV%9gZ}=g)Dzb0h zw|+X7O+^bkhm|A?bTpwAi#~^X`LWf65EK|#f96VjMM|J)xWtL4UcA35`U!q|u*}Hd z@f-awbR2J)(c6*F&b0`44U@l}b~ZCHY1%qEvc7Zb)aC<9%7E*KM@K$AM@IqlC-A_S zkJ!kL)%4r@aSgX^gC)_j)Olc~q;%{i_)LE6c(Cm;Qt;_G__+jrjvYJkd(bg5@b7u> zb1#GB$G2o187F>xCgmkQcvoHe!2|HGy19#`rIV`-%+0;@b0Fwy*j7WwO-D&l)Ewr> zV`>32v*ht|d_-(=Ox#Npd~~#QGiCE~bZ~MN^^&;y#}lI9Gx67ut89Nf;$|;#RY&O| zn>5VDl1-3@mxuQ%^b8vto4AXGm8jai``?>`|C6|C1F%ZNKUTbrv)YmA$|klff7cx>~wO!yLh&ZqUEh=6mD6fBC(kID|O&zuDrO zq5t?Tur&0HIONY&gPu8az6|UPsbdfB-PQ0qzBqom(b0Tdcm)|QpZ$^M=9+l!+pdSx zS7d@tosFHpqxG8{=NZ+QE3e*jt@)1M&J|L#I}UwKVT>8|DQiNDY%RHV zL-+jC(ZNj}))EVdO%dzy4Sn=-QfYi#_Bl4G$H$J7kdpu8Lm>3xb~;o7k|*{-T+}x-f_1^{skCJxyk^StQzQ1lp*-6rlz1>w&k$)KU9K#m# zKTWfl?i|DN0&3ywKMX2mGUoYDme|#kGHEP>l)Yg8@3sX7oBTePpLY2_gZa(u%eai zwA&6Yf!f7BndWbI-`{5e&ii`U<5sUSgVT66DHBEV#g?N(^UTys5B}|`zlHiML62Lv zndowX1`lV2&%T*BY)<)_d?+D*E*7oe6XLd#-YeYzBC{&Q1K zTm*^AxP6u-DR~6V@um*s`)9q1Kbxz`OYn5M6{P9Hb*YThRui9a`n`oaMsnM~{4_IJ z|7&GUB7o_k9XyHCKV7N5Sg=q6?)9l$$4O3{rmU{@QceE{^DLhR=9#$DbCra&Bmc1x z)_nb~t>E8%^xxO{(-sK{)-ND5mF+mm(~F6{6H_t=@JRae(9?h0#Q!>%CJr{<3H>2y zd-8J(SQ2<-G=U<2=V$hmGCrfIjgmJ`OL}ot>akP;X>PJpL+8u=-C~RK=RZwRKe>{? zBeupkdf0wu`0vX-OEjj?oq?b4u5UY8;yQR|*Mxgd|33GBoz@>S$Vdj}81L7h|CznM zw^>gC8Sww!ivJ((z*frfV#S}FkWYqzbGgZ-h>L}h#FNocELEb# zROvYMh$M?U1G#Nud>ncGAC90YaM7$(u!f}M1J}YGn+gj=~EIK|14N_@rS2w72teWG?4pY&7=3P zm2J3^f%Foh9k}}s_LR5<+-haQ{kH#f82|E{3?>q_0#9jG=I=uU@=(aV7_odf@WUU2 z8~2Mx$LzB{haWdrVA_RG=8ZEvp{IU4^DjOA^v0-hf&f6VO1q`yBpD*}SO zG{i5L?)}yF-yZq4)5mE+B$J!l@RRX=w8@wO5t7f+?>6UtGT@JM#_OD`ejNYaRan3cTEB#6h@iJL$Kj6wY0vqxa~|N%fDnzCA4ENoqB#e8=v}Uz_A# zXPJA?#=kl|nFaUr6N2Q$H6?jM`mg^sxj$l#Wr{}2+}d@2_Uh-Y$4G)%{k@<9t;dpe zl|US%N|R`+5jCGd8l?N#_-I#Kbh&Zulz3-whu;nE#`kYeI0?lI3h#V<(dWO1Pe}8c z3f(Vh%!${#$?W|##&)dE*?dl*D(*im+bY1p+eXPUq@qsWNUh>A<#(a)RWQqFu=R8- z`MFv8;{mpNIC;_NQ-Stn^@4t1D2#1%wC+@*p?ldUsDv}@1`-WCHb<=U(Egj1XB}HM z2KD=bn4A(1*YhNEIO26OO;Z{FufqtJHrbuaTaFB}IT^@#&g*bzrcYLKw`aXyT}A25 zga_EWt?$XfWpcYa>h@cbh0cvpM>A5(QanK?6SnP3?2guvIhp^cATTEQ3e`);GSUTEo$BRm8 z^ums;Qr!o4J)S0QBP9=GN}D!E-Hr~n^2k`c*veovBUTD)ANf`E;Bz^Bbovf46ECX+ zZg7kqEEpe&D#5+gL^rC``;sU3r+v3{{NJ3U|B8jkqDRSpp<4)23n0B>?2U^%?&;l^ zJP{itHq0`#+rb1=6dHRZ-GGbNSId5C?A9aGXBN&KFF0n>Ca`z8l6ts%`YcPpKEdtF zGy2@UB?P2>-M*|TKEQh7V97HtI$+V0Oy){g@P_BaX%!m!4Gf$Z zOggEvhHcquT6VO-hC`YYmzic>zd6O!KP9GHDw%sU6L6TfxltC-gyjoD98Nzq4mjAT zo?g~=MPRKVKBqIhhicZ;eVA2*zx<|WFf;8@m5eqbEl_$XP*5Q;-h4Q|omA{FdxM)R zIZExq<#;J$^6X||itBeXp0$Q_iEa15 zIBJWnTFVYrd^xg9cBpuuaIE4oL(8hC_8_#poi6Tf4|zn(;qHRBpJjOA9Jvb>?Wd1$ z!6B=3zfHJ)RvOXM)nJ?u0~IWb)zeaT#m3gD?l;Rc1XIj09!P%`$ql#W=E9Ql;{A_K zuLB9-o~_*6K?gLyI*>V_5$*~~C~l`9^&E4SwM@?Q_yX=9-GKTlQHak^C3WkZlbB1a7HrUT1eqF{S}X8 zJ@UdNuw3Q!Z@;MBUr~JQtUDc^JAlRI{S|H`!_satHN)hA*Bds)Oh?o5sjyqqkZT%E zznqsmL8zqPbH6!W7o~eGwI~2cRbfxQ}8Y=Hj%C>Q{rZ7`Z0=xtDM89vZ)@c;MYIf)*$G zTdmgR#Da@elE+D;FNUzlwd@X*1?^9=9&ICEv2<<{BMIJTBug}T=StBYOcaw(xh{Hh z!yRPx*>&i3PbVwHS2S*Rdp1`d?iY|pfK?dTu*A7?=dw%fmcaaqu!8M1?bc&hjW{HW zPjQay9wcA~6{K_oHYIL^KD;3eP5z5uLSd^#xt}l5tuteo-)v`63i7gGWL4J4spyem zX>Y#>j{(2!QNUX1b^3~eyOE>=Y3t|@7Yb!tQ?$mBpqYjgS4R~;vc(8>JFjh3r&edYF@0s!JXZZrCump z4VK)0Ws1m`gxd-wkXPKN9yJVMFru*?Ydh%0D3;|!i$l3wd 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 literal 0 HcmV?d00001 diff --git a/docs-2.0/nebula-exchange/nebula-exchange.md b/docs-2.0/nebula-exchange/nebula-exchange.md deleted file mode 100644 index fb3497487ad..00000000000 --- a/docs-2.0/nebula-exchange/nebula-exchange.md +++ /dev/null @@ -1,61 +0,0 @@ -# Nebula Exchange - -[Nebula Exchange](https://github.com/vesoft-inc/nebula-spark-utils/tree/v2.0.0/nebula-exchange) (hereinafter referred to as Exchange) is an Apache Spark™ application for migrating data into Nebula Graph from distributed systems. Exchange supports the migration of migrating batch data and stream data of different formats. - - - -## Use cases - -Exchange applies to transforming the following data into vertices and edges in [Nebula Graph](../1.introduction/1.what-is-nebula-graph.md): - -* Stream data stored in Kafka or Pulsar, including Logs, online shopping records, online game player activities, social network information, financial trading data, and geospatial service data. -* Telemeasuring data recorded by equipment connected to IDCs. -* Batch data stored in relational databases such as MySQL or distributed file systems such as HDFS. - -## Benefits - -* Adaptable. Exchange supports importing data with many different formats and sources into the Nebula Graph for easy data migration. - -* Supports SST import. Exchange can transform data from different sources into SST files for importing. - - !!! note - - SST import is only supported on Linux. - -* Supports breakpoint continuous transmission. To save time and improve efficiency, Exchange can continue the data transmission after the transmission is stopped. - - !!! note - - For now, breakpoint continuous transmission is only supported when importing Neo4j data. - -* Asynchronous operations. Exchange generates a writing statement and then sends it to the Graph Service for data insertion. - -* Flexible. Exchange supports importing data with multiple tags and edge types that originated from different data formats or sources. - -* Supports statistics. Exchange uses Apache Spark™ Accumulators to make statistics for successful and failed insertion operations. - -* Easy to use. Exchange applies the Human-Optimized Config Object Notation (HOCON) format for configuration files. HOCON is object-oriented and easy to understand and use. - -## Data formats and origins - -Exchange 2.0 can migrate data with the following formats or origins. - -* Data stored in HDFS, including: - - Apache Parquet - - Apache ORC - - JSON - - CSV - -* Apache HBase™ - -* Data warehouse: Hive - -* Graph database: Neo4j - -* Relational database: MySQL - -* Event streaming platform: Apache Kafka® - -* Message publishing/subscribing platform: Apache Pulsar 2.4.5 diff --git a/docs-2.0/nebula-spark-connector.md b/docs-2.0/nebula-spark-connector.md index 20f34f281c2..7eb4f161acd 100644 --- a/docs-2.0/nebula-spark-connector.md +++ b/docs-2.0/nebula-spark-connector.md @@ -217,7 +217,7 @@ df.write.nebula(config, nebulaWriteVertexConfig).writeVertices() |`withVidField` |Yes| The column in the DataFrame as the vertex ID. | |`withVidPolicy` |No| When writing the vertex ID, Nebula Graph 2.x use mapping function, supports HASH only. No mapping is performed by default. | |`withVidAsProp` |No| Whether the column in the DataFrame that is the vertex ID is also written as an property. The default value is `false`. If set to `true`, make sure the Tag has the same property name as `VidField`. | - |`withUser` |No| Nebula Graph user name. If [authentication]((7.data-security/1.authentication/1.authentication.md)) is disabled, you do not need to configure the user name and password. | + |`withUser` |No| Nebula Graph user name. If [authentication](7.data-security/1.authentication/1.authentication.md) is disabled, you do not need to configure the user name and password. | |`withPasswd` |No| The password for the Nebula Graph user name. | |`withBatch` |Yes| The number of rows of data written at a time. The default value is `1000`. | |`withWriteMode`|No|Write mode. The optional values are `insert` and `update`. The default value is `insert`.| @@ -236,7 +236,7 @@ df.write.nebula(config, nebulaWriteVertexConfig).writeVertices() |`withSrcAsProperty` |No| Whether the column in the DataFrame that is the starting vertex is also written as an property. The default value is `false`. If set to `true`, make sure Edge type has the same property name as `SrcIdField`. | |`withDstAsProperty` |No| Whether column that are destination vertex in the DataFrame are also written as property. The default value is `false`. If set to `true`, make sure Edge type has the same property name as `DstIdField`. | |`withRankAsProperty` |No| Whether column in the DataFrame that is the rank is also written as property.The default value is `false`. If set to `true`, make sure Edge type has the same property name as `RankField`. | - |`withUser` |No| Nebula Graph user name. If [authentication]((7.data-security/1.authentication/1.authentication.md)) is disabled, you do not need to configure the user name and password. | + |`withUser` |No| Nebula Graph user name. If [authentication](7.data-security/1.authentication/1.authentication.md) is disabled, you do not need to configure the user name and password. | |`withPasswd` |No| The password for the Nebula Graph user name. | |`withBatch` |Yes| The number of rows of data written at a time. The default value is `1000`. | |`withWriteMode`|No|Write mode. The optional values are `insert` and `update`. The default value is `insert`.| diff --git a/docs-2.0/nebula-studio/st-ug-toc.md b/docs-2.0/nebula-studio/st-ug-toc.md index 874beffa37a..ee43ef8b184 100644 --- a/docs-2.0/nebula-studio/st-ug-toc.md +++ b/docs-2.0/nebula-studio/st-ug-toc.md @@ -1,28 +1,29 @@ + + [Glossary] [DOC_TO_DO] - [Limitations](about-studio/st-ug-limitations.md) - [Check updates](about-studio/st-ug-check-updates.md) - + [FAQ] [DOC_TO_DO] - Deploy and connect - [Deploy Studio](install-configure/st-ug-deploy.md) - [Connect to Nebula Graph](install-configure/st-ug-connect.md) - + [Clear connection] [DOC_TO_DO] - [Design a schema](quick-start/st-ug-plan-schema.md) - [Create a schema](quick-start/st-ug-create-schema.md) - [Import data](quick-start/st-ug-import-data.md) - - [Query graph data](quick-start/st-ug-explore.md)--> + - [Query graph data](quick-start/st-ug-explore.md) - Operation guide - + - [Operate indexes](manage-schema/st-ug-crud-index.md) - [Use Explore][DOC_TO_DO] - Use Console - [Open in Explore](use-console/st-ug-open-in-explore.md) @@ -32,3 +33,4 @@ - Troubleshooting [DOC_TO_DO] - Connection - Error messages +--> \ No newline at end of file diff --git a/docs-2.0/reuse/source_connect-to-nebula-graph.md b/docs-2.0/reuse/source_connect-to-nebula-graph.md index b358615d7a6..8d287ec3204 100644 --- a/docs-2.0/reuse/source_connect-to-nebula-graph.md +++ b/docs-2.0/reuse/source_connect-to-nebula-graph.md @@ -12,7 +12,7 @@ If you don't have a Nebula Graph database yet, we recommend that you try the clo ### Prerequisites -* You have started the Nebula Graph services. For how to start the services, see [Start and Stop Nebula Graph](./5.start-stop-service.md). +* You have started the Nebula Graph services. For how to start the services, see [Start and Stop Nebula Graph](../4.deployment-and-installation/manage-service.md). * The machine you plan to run Nebula Console on has network access to the Nebula Graph services. ### Steps diff --git a/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md b/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md index 4021a7373e0..10109b85c32 100644 --- a/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md +++ b/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md @@ -2,7 +2,7 @@ RPM and DEB are common package formats on Linux systems. This topic shows how to ## Prerequisites -Prepare the right [resources](../1.resource-preparations.md). +Prepare the right [resources](../4.deployment-and-installation/1.resource-preparations.md). !!! note diff --git a/mkdocs.yml b/mkdocs.yml index c79fa4a20a6..d00b5f57c59 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -243,7 +243,7 @@ nav: - DROP INDEX: 3.ngql-guide/14.native-index-statements/6.drop-native-index.md - Full-text index statements: - - Index overview: 3.ngql-guide/14.native-index-statements/README.md +# - Index overview: 3.ngql-guide/14.native-index-statements/README.md - Full-text restrictions: 4.deployment-and-installation/6.deploy-text-based-index/1.text-based-index-restrictions.md - Deploy Elasticsearch cluster: 4.deployment-and-installation/6.deploy-text-based-index/2.deploy-es.md - Deploy Raft Listener cluster: 4.deployment-and-installation/6.deploy-text-based-index/3.deploy-listener.md @@ -260,6 +260,7 @@ nav: # - CONFIG syntax: 3.ngql-guide/18.operation-and-maintenance-statements/1.configs-syntax.md - BALANCE syntax: 3.ngql-guide/18.operation-and-maintenance-statements/2.balance-syntax.md - Job statements: 3.ngql-guide/18.operation-and-maintenance-statements/4.job-statements.md + - Kill queries: 3.ngql-guide/18.operation-and-maintenance-statements/6.kill-query.md - Deployment and installation: - Resource preparations: 4.deployment-and-installation/1.resource-preparations.md @@ -303,6 +304,17 @@ nav: - Service Tuning: - Compaction: 8.service-tuning/compaction.md - Storage load balance: 8.service-tuning/load-balance.md + - Modeling suggestions: 8.service-tuning/2.graph-modeling.md + - System design suggestions: 8.service-tuning/3.system-design.md + - Execution plan: 8.service-tuning/4.plan.md + - Processing super vertices: 8.service-tuning/super-node.md + + - Client: + - Clients overview: 14.client/1.nebula-client.md + - Nebula CPP: 14.client/3.nebula-cpp-client.md + - Nebula Java: 14.client/4.nebula-java-client.md + - Nebula Python: 14.client/5.nebula-python-client.md + - Nebula Go: 14.client/6.nebula-go-client.md - Nebula Graph Studio: - Change Log: nebula-studio/about-studio/st-ug-release-note.md From fa0600df074aacc7c0757d4eb3c9f5172dc187b4 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 13:54:37 +0800 Subject: [PATCH 023/101] update --- docs-2.0/reuse/console-1.png | Bin 0 -> 96619 bytes ...urce_install-nebula-graph-by-rpm-or-deb.md | 23 +++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 docs-2.0/reuse/console-1.png diff --git a/docs-2.0/reuse/console-1.png b/docs-2.0/reuse/console-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5f21b0c2e1dd7ecdefc3d627a23bfb068be695cd GIT binary patch literal 96619 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%0AxoR<>D@4-^2 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/nebula-graph--nightly.ubuntu2004.amd64.deb ``` - For example, download the `Centos 7.5` package developed and built in `2021.03.28`: + For example, download the `Centos 7.5` package developed and built in `2021.09.01`: ```bash - wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.03.28/nebula-graph-2021.03.28-nightly.el7.x86_64.rpm - wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.03.28/nebula-graph-2021.03.28-nightly.el7.x86_64.rpm.sha256sum.txt + wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.09.01/nebula-graph-2021.09.01-nightly.el7.x86_64.rpm + wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.09.01/nebula-graph-2021.09.01-nightly.el7.x86_64.rpm.sha256sum.txt ``` - For example, download the `Ubuntu 1804` package developed and built in `2021.03.28`: + For example, download the `Ubuntu 1804` package developed and built in `2021.09.01`: ```bash - wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.03.28/nebula-graph-2021.03.28-nightly.ubuntu1804.amd64.deb - wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.03.28/nebula-graph-2021.03.28-nightly.ubuntu1804.amd64.deb.sha256sum.txt + wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.09.01/nebula-graph-2021.09.01-nightly.ubuntu1804.amd64.deb + wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.09.01/nebula-graph-2021.09.01-nightly.ubuntu1804.amd64.deb.sha256sum.txt ``` ## Download the package from GitHub * Download the release version. - + On the [Nebula Graph Releases](https://github.com/vesoft-inc/nebula-graph/releases) page, find the required version and click **Assets**. - ![Select a Nebula Graph release version](https://github.com/vesoft-inc/nebula-docs/blob/master/docs-2.0/figs/4.deployment-and-installation/2.complie-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb/releases-page.png?raw=true) + + On the [Nebula Graph Releases](https://github.com/vesoft-inc/nebula-graph/releases) page, find the required version and click **Assets**. + ![Select a Nebula Graph release version](../reuse/console-1.png) - + In the **Assets** area, click the package to download it. + + + In the **Assets** area, click the package to download it. * Download the nightly version. @@ -106,10 +107,10 @@ Prepare the right [resources](../4.deployment-and-installation/1.resource-prepar Nightly versions are usually used to test new features. Don't use it for production. - + On the [Nebula Graph package](https://github.com/vesoft-inc/nebula/actions/workflows/package.yaml) page, click the latest package on the top of the package list. + + On the [Nebula Graph package](https://github.com/vesoft-inc/nebula/actions/workflows/package.yaml) page, click the latest package on the top of the package list. ![Select a Nebula Graph nightly version](https://github.com/vesoft-inc/nebula-docs/blob/master/docs-2.0/figs/4.deployment-and-installation/2.complie-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb/nightly-page.png?raw=true) - + In the **Artifacts** area, click the package to download it. + + In the **Artifacts** area, click the package to download it. ## Install Nebula Graph From 1ab2933152931e4ae6bd5c64bb948d82c23d60ed Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:03:43 +0800 Subject: [PATCH 024/101] repair-links (#683) --- .../3.deploy-nebula-graph-with-docker-compose.md | 6 +++--- .../deploy-nebula-graph-cluster.md | 2 +- docs-2.0/nebula-explorer/deploy-connect/ex-ug-connect.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md index 90697bd5030..a998a655050 100644 --- a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md +++ b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md @@ -271,6 +271,6 @@ The data format has been modified on Jan 27, 2021, and is incompatible with the ## Related documents -- [Install and deploy Nebula Graph with the source code](../../4.deployment-and-installation/2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) -- [Install Nebula Graph by RPM or DEB](../../4.deployment-and-installation/2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md) -- [Connect to Nebula Graph](../3.connect-to-nebula-graph.md) +- [Install and deploy Nebula Graph with the source code](../4.deployment-and-installation/2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) +- [Install Nebula Graph by RPM or DEB](../4.deployment-and-installation/2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md) +- [Connect to Nebula Graph](../connect-to-nebula-graph.md) \ No newline at end of file diff --git a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster.md b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster.md index 02fb5f4ddc9..b9ee3120c33 100644 --- a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster.md +++ b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster.md @@ -276,7 +276,7 @@ sudo /usr/local/nebula/scripts/nebula.service start - When the graphd process, the storaged process, and the metad process are all started, you can use `all` instead. - - `/usr/local/nebula` is the default installation path for Nebula Graph. Use the actual path if you have customized the path. For more information about how to start and stop the services, see [Manage Nebula Graph services](../2.quick-start/5.start-stop-service.md). + - `/usr/local/nebula` is the default installation path for Nebula Graph. Use the actual path if you have customized the path. For more information about how to start and stop the services, see [Manage Nebula Graph services](../manage-service.md). ### Step 4: Check the cluster status diff --git a/docs-2.0/nebula-explorer/deploy-connect/ex-ug-connect.md b/docs-2.0/nebula-explorer/deploy-connect/ex-ug-connect.md index d4581d57e1d..99b66a34ac7 100644 --- a/docs-2.0/nebula-explorer/deploy-connect/ex-ug-connect.md +++ b/docs-2.0/nebula-explorer/deploy-connect/ex-ug-connect.md @@ -42,6 +42,6 @@ To connect Explorer to Nebula Graph, follow these steps: If you can see the interface as shown in the below, it means you have successfully connected to the Nebula Graph database. - ![The Console page shows that the connection is successful](../figs/st-ug-051.png "Nebula Graph is connected") + ![The Console page shows that the connection is successful](../figs/ex-ug-051.png "Nebula Graph is connected") One session continues for up to 30 minutes. If you do not operate Explorer within 30 minutes, the active session will time out and you must connect to Nebula Graph again. \ No newline at end of file From 092ad3025c9a47ee31ce4df92bc31fc3adc2255a Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:16:16 +0800 Subject: [PATCH 025/101] Update ex-ug-parameter.md (#684) --- .../parameter-reference/ex-ug-parameter.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs-2.0/nebula-exchange/parameter-reference/ex-ug-parameter.md b/docs-2.0/nebula-exchange/parameter-reference/ex-ug-parameter.md index 55cdc5a40e2..f84b2ad6877 100644 --- a/docs-2.0/nebula-exchange/parameter-reference/ex-ug-parameter.md +++ b/docs-2.0/nebula-exchange/parameter-reference/ex-ug-parameter.md @@ -32,7 +32,7 @@ This document lists only some Spark parameters. For more information, see [Spark Users only need to configure parameters for connecting to Hive if Spark and Hive are deployed in different clusters. Otherwise, please ignore the following configurations. -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`hive.warehouse`|string|-|Yes|The warehouse path in HDFS. Enclose the path in double quotes and start with `hdfs://`.| |`hive.connectionURL`|string|-|Yes|The URL of a JDBC connection. For example, `"jdbc:mysql://127.0.0.1:3306/hive_spark?characterEncoding=UTF-8"`.| @@ -42,7 +42,7 @@ Users only need to configure parameters for connecting to Hive if Spark and Hive ## Nebula Graph Configurations -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`nebula.address.graph`|list\[string\]|`["127.0.0.1:9669"]`|Yes|The addresses of all Graph services, including IPs and ports, separated by commas (,). Example: `["ip1:port1","ip2:port2","ip3:port3"]`.| |`nebula.address.meta`|list\[string\]|`["127.0.0.1:9559"]`|Yes|The addresses of all Meta services, including IPs and ports, separated by commas (,). Example: `["ip1:port1","ip2:port2","ip3:port3"]`.| @@ -66,7 +66,7 @@ For different data sources, the vertex configurations are different. There are m ### General Parameters -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.name`|string|-|Yes|The tag name defined in Nebula Graph.| |`tags.type.source`|string|-|Yes|Specify a data source. For example, `csv`.| @@ -79,13 +79,13 @@ For different data sources, the vertex configurations are different. There are m ### Specific Parameters of Parquet/JSON/ORC Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.path`|string|-|Yes|The path of vertex data files in HDFS. Enclose the path in double quotes and start with `hdfs://`.| ### Specific Parameters of CSV Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.path`|string|-|Yes|The path of vertex data files in HDFS. Enclose the path in double quotes and start with `hdfs://`.| |`tags.separator`|string|`,`|Yes|The separator. The default value is a comma (,).| @@ -93,13 +93,13 @@ For different data sources, the vertex configurations are different. There are m ### Specific Parameters of Hive Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.exec`|string|-|Yes|The statement to query data sources. For example, `select name,age from mooc.users`.| ### Specific Parameters of MaxCompute Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.table`|string|-|Yes|The Maxcompute table name.| |`tags.project`|string|-|Yes|The MaxCompute project name.| @@ -112,7 +112,7 @@ For different data sources, the vertex configurations are different. There are m ### Specific Parameters of Neo4j Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.exec`|string|-|Yes|Statements to query data sources. For example: `match (n:label) return n.neo4j-field-0`.| |`tags.server`|string|`"bolt://127.0.0.1:7687"`|Yes|The Neo4j server address. @@ -123,7 +123,7 @@ For different data sources, the vertex configurations are different. There are m ### Specific Parameters of MySQL Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.host`|string|-|Yes|The MySQL server address.| |`tags.port`|string|-|Yes|The MySQL server port.| @@ -135,7 +135,7 @@ For different data sources, the vertex configurations are different. There are m ### Specific Parameters of ClickHouse Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.url`|string|-|Yes|The JDBC URL of ClickHouse.| |`tags.user`|string|-|Yes|The ClickHouse username with read permissions.| @@ -145,7 +145,7 @@ For different data sources, the vertex configurations are different. There are m ### Specific Parameters of Hbase Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.host`|string|`127.0.0.1`|Yes|The Hbase server address.| |`tags.port`|string|`2181`|Yes|The Hbase server port. @@ -154,7 +154,7 @@ For different data sources, the vertex configurations are different. There are m ### Specific Parameters of Pulsar Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.service`|string|`"pulsar://localhost:6650"`|Yes|The Pulsar server address. |`tags.admin`|string|`"http://localhost:8081"`|Yes|The admin URL used to connect pulsar.| @@ -163,7 +163,7 @@ For different data sources, the vertex configurations are different. There are m ### Specific Parameters of Kafka Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.service`|string|-|Yes|The Kafka server address. |`tags.topic`|string|-|Yes|The message type.| @@ -171,7 +171,7 @@ For different data sources, the vertex configurations are different. There are m ### Specific Parameters of SST Data Sources -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`tags.path`|string|-|Yes|The path of the source file specified to generate SST files.| @@ -183,7 +183,7 @@ For the specific parameters of different data sources for edge configurations, p ### General Parameters -|Parameter|Type|Default Value|Required|Description| +|Parameter|Type|Default Value|Required|Description| |:---|:---|:---|:---|:---| |`edges.name`| string|-|Yes|The edge type name defined in Nebula Graph.| |`edges.type.source`|string|-|Yes|The data source of edges. For example, `csv`.| From a3c082373915f4bbf177a8b5711b9bfa996e2052 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:29:53 +0800 Subject: [PATCH 026/101] Update 1.query-performance-metrics.md --- docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md b/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md index 9aadb76f629..33d32b0eca2 100644 --- a/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md +++ b/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md @@ -47,6 +47,7 @@ curl -G "http://:/stats?stats= [&format=json]" Query the following metrics together: * The average heartbeat latency in the last 1 minute. + * The average latency of the slowest 1% heartbeats, i.e., the P99 heartbeats, in the last 10 minutes. ```bash From e77d38cdc047658a435b1a05fe74978692c060f6 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:37:58 +0800 Subject: [PATCH 027/101] proofread --- docs-2.0/15.contribution/how-to-contribute.md | 4 ++-- docs-2.0/20.appendix/6.eco-tool-version.md | 22 ++++++++++--------- .../about-explorer/ex-ug-what-is-explorer.md | 2 +- .../about-studio/st-ug-limitations.md | 2 +- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/docs-2.0/15.contribution/how-to-contribute.md b/docs-2.0/15.contribution/how-to-contribute.md index eb6e69642df..97a04971d33 100644 --- a/docs-2.0/15.contribution/how-to-contribute.md +++ b/docs-2.0/15.contribution/how-to-contribute.md @@ -108,9 +108,9 @@ The Nebula Graph project has many [repositories](https://github.com/vesoft-inc). git checkout -b myfeature ``` -!!! note + !!! note - Because the PR often consists of several commits, which might be squashed while being merged into upstream. We strongly suggest you to open a separate topic branch to make your changes on. After merged, this topic branch can be just abandoned, thus you could synchronize your master branch with upstream easily with a rebase like above. Otherwise, if you commit your changes directly into master, you need to use a hard reset on the master branch. For example: + Because the PR often consists of several commits, which might be squashed while being merged into upstream. We strongly suggest you to open a separate topic branch to make your changes on. After merged, this topic branch can be just abandoned, thus you could synchronize your master branch with upstream easily with a rebase like above. Otherwise, if you commit your changes directly into master, you need to use a hard reset on the master branch. For example: ```bash git fetch upstream diff --git a/docs-2.0/20.appendix/6.eco-tool-version.md b/docs-2.0/20.appendix/6.eco-tool-version.md index c23a84787c6..c03e0bc4ab8 100644 --- a/docs-2.0/20.appendix/6.eco-tool-version.md +++ b/docs-2.0/20.appendix/6.eco-tool-version.md @@ -4,15 +4,15 @@ !!! compatibility - The kernel release number naming rule is `X.Y.Z`, which means `Major version X`, `Medium version Y`, and `Minor version Z`. The upgrade requirements for the client are: + The core release number naming rule is `X.Y.Z`, which means `Major version X`, `Medium version Y`, and `Minor version Z`. The upgrade requirements for the client are: - - Upgrade the kernel from `X.Y.Z1` to `X.Y.Z2`: It means that the kernel is fully forward compatible and is usually used for bugfixes. It is recommended to upgrade the minor version of the kernel as soon as possible. At this time, the client can stay **not upgraded**. + - Upgrade the core from `X.Y.Z1` to `X.Y.Z2`: It means that the core is fully forward compatible and is usually used for bugfixes. It is recommended to upgrade the minor version of the core as soon as possible. At this time, the client can stay **not upgraded**. - - Upgrade the kernel from `X.Y1.*` to `X.Y2.*`: It means that there is some incompatibility of API, syntax, and return value. It is usually used to add functions, improve performance, and optimize code. The client needs to be upgraded to `X.Y2.*`. + - Upgrade the core from `X.Y1.*` to `X.Y2.*`: It means that there is some incompatibility of API, syntax, and return value. It is usually used to add functions, improve performance, and optimize code. The client needs to be upgraded to `X.Y2.*`. - - Upgrade the kernel from `X1.*.*` to `X2.*.*`: It means that there is a major incompatibility in storage formats, API, syntax, etc. You need to use tools to upgrade the kernel data. The client must be upgraded. + - Upgrade the core from `X1.*.*` to `X2.*.*`: It means that there is a major incompatibility in storage formats, API, syntax, etc. You need to use tools to upgrade the core data. The client must be upgraded. - - The default kernel and client do not support downgrade: You cannot downgrade from `X.Y.Z2` to `X.Y.Z1`. + - The default core and client do not support downgrade: You cannot downgrade from `X.Y.Z2` to `X.Y.Z1`. - The release cycle of a `Y` version is about 6 months, and its maintenance and support cycle is 6 months. @@ -24,7 +24,7 @@ !!! compatibility - All ecosystem tools of 1.x did not support Nebula Graph 2.x kernel. + All ecosystem tools of 1.x did not support Nebula Graph 2.x core. ## Nebula Graph Studio @@ -32,7 +32,7 @@ Nebula Graph Studio (Studio for short) is a graph database visualization tool th !!! Note - The release of the Studio is independent of Nebula Graph kernel, and its naming method is also not the same as the kernel naming rules. The compatible relationship between them is as follows. + The release of the Studio is independent of Nebula Graph core, and its naming method is also not the same as the core naming rules. The compatible relationship between them is as follows. |Nebula Graph|Studio (commit id)| |:---|:---| @@ -48,7 +48,7 @@ Nebula Graph Dashboard (Dashboard for short) is a visualization tool for monitor ## Nebula Graph Explorer -Nebula Graph Explorer (Explorer for short) is a graph exploration visualization tool that can be accessed through the Web. It is used with the Nebula Graph kernel to visualize interaction with graph data. Users can quickly become map experts, even without experience in map data manipulation. For details, see [What is Nebula Graph Explorer](../nebula-explorer/about-explorer/ex-ug-what-is-explorer.md). +Nebula Graph Explorer (Explorer for short) is a graph exploration visualization tool that can be accessed through the Web. It is used with the Nebula Graph core to visualize interaction with graph data. Users can quickly become map experts, even without experience in map data manipulation. For details, see [What is Nebula Graph Explorer](../nebula-explorer/about-explorer/ex-ug-what-is-explorer.md). |Nebula Graph version|Explorer version (commit id)| |:---|:---| @@ -132,7 +132,7 @@ Docker Compose can quickly deploy Nebula Graph clusters. For how to use it, plea !!! compatibility - Select the latest version of `X.Y.*` which is the same as the kernel version. + Select the latest version of `X.Y.*` which is the same as the core version. |Nebula Graph version| Language (commit id) | |:---| :--- | @@ -141,7 +141,7 @@ Docker Compose can quickly deploy Nebula Graph clusters. For how to use it, plea | {{ nebula.release }}| [Python](https://github.com/vesoft-inc/nebula-python)(98e08e4) | | {{ nebula.release }}| [Java Client](https://github.com/vesoft-inc/nebula-java/tree/{{java.branch}})(0fbc3c6) | -## Unpublished +## Not Released - API @@ -162,3 +162,5 @@ Docker Compose can quickly deploy Nebula Graph clusters. For how to use it, plea - Test -[Chaos Test](https://github.com/vesoft-inc/nebula-chaos) + +- Backup & Restore \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md index bd6080ec8d7..ca407753429 100644 --- a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md +++ b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md @@ -1,6 +1,6 @@ # What is Nebula Graph Explorer -Nebula Graph Explorer (Explorer in short) is a browser-based visualization tool. It is used with the Nebula Graph kernel to visualize interaction with graph data. Even if there is no experience in graph database, you can quickly become a graph exploration expert. +Nebula Graph Explorer (Explorer in short) is a browser-based visualization tool. It is used with the Nebula Graph core to visualize interaction with graph data. Even if there is no experience in graph database, you can quickly become a graph exploration expert. !!! enterpriseonly diff --git a/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md b/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md index 2640b1e3918..b41f4032c74 100644 --- a/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md +++ b/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md @@ -6,7 +6,7 @@ This article introduces the limitations of Studio. !!! Note - The Studio version is released independently of the Nebula Graph kernel. The correspondence between the versions of Studio and the Nebula Graph kernel, as shown in the table below. + The Studio version is released independently of the Nebula Graph core. The correspondence between the versions of Studio and the Nebula Graph core, as shown in the table below. | Nebula Graph version | Studio version | | --- | --- | From 0bf6db7e25154f6949f55550ccb0ea509618a35a Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:37:58 +0800 Subject: [PATCH 028/101] proofread --- docs-2.0/15.contribution/how-to-contribute.md | 4 ++-- docs-2.0/20.appendix/6.eco-tool-version.md | 22 ++++++++++--------- .../about-explorer/ex-ug-what-is-explorer.md | 2 +- .../about-studio/st-ug-limitations.md | 2 +- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/docs-2.0/15.contribution/how-to-contribute.md b/docs-2.0/15.contribution/how-to-contribute.md index eb6e69642df..97a04971d33 100644 --- a/docs-2.0/15.contribution/how-to-contribute.md +++ b/docs-2.0/15.contribution/how-to-contribute.md @@ -108,9 +108,9 @@ The Nebula Graph project has many [repositories](https://github.com/vesoft-inc). git checkout -b myfeature ``` -!!! note + !!! note - Because the PR often consists of several commits, which might be squashed while being merged into upstream. We strongly suggest you to open a separate topic branch to make your changes on. After merged, this topic branch can be just abandoned, thus you could synchronize your master branch with upstream easily with a rebase like above. Otherwise, if you commit your changes directly into master, you need to use a hard reset on the master branch. For example: + Because the PR often consists of several commits, which might be squashed while being merged into upstream. We strongly suggest you to open a separate topic branch to make your changes on. After merged, this topic branch can be just abandoned, thus you could synchronize your master branch with upstream easily with a rebase like above. Otherwise, if you commit your changes directly into master, you need to use a hard reset on the master branch. For example: ```bash git fetch upstream diff --git a/docs-2.0/20.appendix/6.eco-tool-version.md b/docs-2.0/20.appendix/6.eco-tool-version.md index c23a84787c6..2d629cd1358 100644 --- a/docs-2.0/20.appendix/6.eco-tool-version.md +++ b/docs-2.0/20.appendix/6.eco-tool-version.md @@ -4,15 +4,15 @@ !!! compatibility - The kernel release number naming rule is `X.Y.Z`, which means `Major version X`, `Medium version Y`, and `Minor version Z`. The upgrade requirements for the client are: + The core release number naming rule is `X.Y.Z`, which means `Major version X`, `Medium version Y`, and `Minor version Z`. The upgrade requirements for the client are: - - Upgrade the kernel from `X.Y.Z1` to `X.Y.Z2`: It means that the kernel is fully forward compatible and is usually used for bugfixes. It is recommended to upgrade the minor version of the kernel as soon as possible. At this time, the client can stay **not upgraded**. + - Upgrade the core from `X.Y.Z1` to `X.Y.Z2`: It means that the core is fully forward compatible and is usually used for bugfixes. It is recommended to upgrade the minor version of the core as soon as possible. At this time, the client can stay **not upgraded**. - - Upgrade the kernel from `X.Y1.*` to `X.Y2.*`: It means that there is some incompatibility of API, syntax, and return value. It is usually used to add functions, improve performance, and optimize code. The client needs to be upgraded to `X.Y2.*`. + - Upgrade the core from `X.Y1.*` to `X.Y2.*`: It means that there is some incompatibility of API, syntax, and return value. It is usually used to add functions, improve performance, and optimize code. The client needs to be upgraded to `X.Y2.*`. - - Upgrade the kernel from `X1.*.*` to `X2.*.*`: It means that there is a major incompatibility in storage formats, API, syntax, etc. You need to use tools to upgrade the kernel data. The client must be upgraded. + - Upgrade the core from `X1.*.*` to `X2.*.*`: It means that there is a major incompatibility in storage formats, API, syntax, etc. You need to use tools to upgrade the core data. The client must be upgraded. - - The default kernel and client do not support downgrade: You cannot downgrade from `X.Y.Z2` to `X.Y.Z1`. + - The default core and client do not support downgrade: You cannot downgrade from `X.Y.Z2` to `X.Y.Z1`. - The release cycle of a `Y` version is about 6 months, and its maintenance and support cycle is 6 months. @@ -24,7 +24,7 @@ !!! compatibility - All ecosystem tools of 1.x did not support Nebula Graph 2.x kernel. + All ecosystem tools of 1.x did not support Nebula Graph 2.x core. ## Nebula Graph Studio @@ -32,7 +32,7 @@ Nebula Graph Studio (Studio for short) is a graph database visualization tool th !!! Note - The release of the Studio is independent of Nebula Graph kernel, and its naming method is also not the same as the kernel naming rules. The compatible relationship between them is as follows. + The release of the Studio is independent of Nebula Graph core, and its naming method is also not the same as the core naming rules. The compatible relationship between them is as follows. |Nebula Graph|Studio (commit id)| |:---|:---| @@ -48,7 +48,7 @@ Nebula Graph Dashboard (Dashboard for short) is a visualization tool for monitor ## Nebula Graph Explorer -Nebula Graph Explorer (Explorer for short) is a graph exploration visualization tool that can be accessed through the Web. It is used with the Nebula Graph kernel to visualize interaction with graph data. Users can quickly become map experts, even without experience in map data manipulation. For details, see [What is Nebula Graph Explorer](../nebula-explorer/about-explorer/ex-ug-what-is-explorer.md). +Nebula Graph Explorer (Explorer for short) is a graph exploration visualization tool that can be accessed through the Web. It is used with the Nebula Graph core to visualize interaction with graph data. Users can quickly become map experts, even without experience in map data manipulation. For details, see [What is Nebula Graph Explorer](../nebula-explorer/about-explorer/ex-ug-what-is-explorer.md). |Nebula Graph version|Explorer version (commit id)| |:---|:---| @@ -132,7 +132,7 @@ Docker Compose can quickly deploy Nebula Graph clusters. For how to use it, plea !!! compatibility - Select the latest version of `X.Y.*` which is the same as the kernel version. + Select the latest version of `X.Y.*` which is the same as the core version. |Nebula Graph version| Language (commit id) | |:---| :--- | @@ -141,7 +141,7 @@ Docker Compose can quickly deploy Nebula Graph clusters. For how to use it, plea | {{ nebula.release }}| [Python](https://github.com/vesoft-inc/nebula-python)(98e08e4) | | {{ nebula.release }}| [Java Client](https://github.com/vesoft-inc/nebula-java/tree/{{java.branch}})(0fbc3c6) | -## Unpublished +## Not Released - API @@ -162,3 +162,5 @@ Docker Compose can quickly deploy Nebula Graph clusters. For how to use it, plea - Test -[Chaos Test](https://github.com/vesoft-inc/nebula-chaos) + +- [Backup&Restore](https://github.com/vesoft-inc/nebula-br) \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md index bd6080ec8d7..ca407753429 100644 --- a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md +++ b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md @@ -1,6 +1,6 @@ # What is Nebula Graph Explorer -Nebula Graph Explorer (Explorer in short) is a browser-based visualization tool. It is used with the Nebula Graph kernel to visualize interaction with graph data. Even if there is no experience in graph database, you can quickly become a graph exploration expert. +Nebula Graph Explorer (Explorer in short) is a browser-based visualization tool. It is used with the Nebula Graph core to visualize interaction with graph data. Even if there is no experience in graph database, you can quickly become a graph exploration expert. !!! enterpriseonly diff --git a/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md b/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md index 2640b1e3918..b41f4032c74 100644 --- a/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md +++ b/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md @@ -6,7 +6,7 @@ This article introduces the limitations of Studio. !!! Note - The Studio version is released independently of the Nebula Graph kernel. The correspondence between the versions of Studio and the Nebula Graph kernel, as shown in the table below. + The Studio version is released independently of the Nebula Graph core. The correspondence between the versions of Studio and the Nebula Graph core, as shown in the table below. | Nebula Graph version | Studio version | | --- | --- | From 7f26fce192c6c03bd1a56781daa12fef6a40bf5e Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:43:41 +0800 Subject: [PATCH 029/101] Update st-ug-connect.md --- docs-2.0/nebula-studio/deploy-connect/st-ug-connect.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs-2.0/nebula-studio/deploy-connect/st-ug-connect.md b/docs-2.0/nebula-studio/deploy-connect/st-ug-connect.md index a5cccae9863..0bcfd36e757 100644 --- a/docs-2.0/nebula-studio/deploy-connect/st-ug-connect.md +++ b/docs-2.0/nebula-studio/deploy-connect/st-ug-connect.md @@ -27,19 +27,19 @@ To connect Studio to Nebula Graph, follow these steps: 1. On the **Config Server** page of Studio, configure these fields: - - **Host**: Enter the IP address and the port of the Graph service of Nebula Graph. The valid format is `IP:port`. The default port is `9669`. + - **Host**: Enter the IP address and the port of the Graph service of Nebula Graph. The valid format is `IP:port`. The default port is `9669`. !!! note When Nebula Graph and Studio are deployed on the same machine, you must enter the IP address of the machine, but not `127.0.0.1` or `localhost`, in the **Host** field. - - **Username** and **Password**: Fill in the log in account according to the authentication settings of Nebula Graph. + - **Username** and **Password**: Fill in the log in account according to the authentication settings of Nebula Graph. - - If authentication is not enabled, you can use `root` and any password as the username and its password. + - If authentication is not enabled, you can use `root` and any password as the username and its password. - - If authentication is enabled and no account information has been created, you can only log in as GOD role and use `root` and `nebula` as the username and its password. + - If authentication is enabled and no account information has been created, you can only log in as GOD role and use `root` and `nebula` as the username and its password. - - If authentication is enabled and different users are created and assigned roles, users in different roles log in with their accounts and passwords. + - If authentication is enabled and different users are created and assigned roles, users in different roles log in with their accounts and passwords. ![The Config Server page shows the fields to be configured for connection](../figs/st-ug-050-1.png "Config Server") From 8d8a29e6240874d1c8ab34a570c85c6e9b7ed077 Mon Sep 17 00:00:00 2001 From: "max.zhu@vesoft.com" <86282370+izhuxiaoqing@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:45:45 +0800 Subject: [PATCH 030/101] update metrics formats (#685) --- docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md b/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md index 33d32b0eca2..f8591e796b0 100644 --- a/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md +++ b/docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md @@ -46,9 +46,9 @@ curl -G "http://:/stats?stats= [&format=json]" Query the following metrics together: - * The average heartbeat latency in the last 1 minute. + * The average heartbeat latency in the last 1 minute. - * The average latency of the slowest 1% heartbeats, i.e., the P99 heartbeats, in the last 10 minutes. + * The average latency of the slowest 1% heartbeats, i.e., the P99 heartbeats, in the last 10 minutes. ```bash $ curl -G "http://192.168.8.40:19559/stats?stats=heartbeat_latency_us.avg.60,heartbeat_latency_us.p99.600" From 2848e96549f2e3d43ad99e2cfca8e75dec788868 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:52:13 +0800 Subject: [PATCH 031/101] Update 2.graph-modeling.md --- docs-2.0/8.service-tuning/2.graph-modeling.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/8.service-tuning/2.graph-modeling.md b/docs-2.0/8.service-tuning/2.graph-modeling.md index 2ba351eafd6..1ec0867b902 100644 --- a/docs-2.0/8.service-tuning/2.graph-modeling.md +++ b/docs-2.0/8.service-tuning/2.graph-modeling.md @@ -1,4 +1,4 @@ -## Graph data modeling suggestions +# Graph data modeling suggestions This section provides general suggestions for modeling data in Nebula Graph. @@ -6,7 +6,7 @@ This section provides general suggestions for modeling data in Nebula Graph. The following suggestions may not apply to some special scenarios. In these cases, find help in the [Nebula Graph community](https://discuss.nebula-graph.io/). -### Model for performance +## Model for performance There is no perfect method to model in Nebula Graph. Graph modeling depends on the questions that you want to know from the data. Your data drives your graph model. Graph data modeling is intuitive and convenient. Create your data model based on your business model. Test your model and gradually optimize it to fit your business. To get better performance, you can change or re-design your model multiple times. From 868bd935098e1979e3203c0abd6f5c63bed9b631 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:53:59 +0800 Subject: [PATCH 032/101] Update st-ug-explore.md --- docs-2.0/nebula-studio/quick-start/st-ug-explore.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs-2.0/nebula-studio/quick-start/st-ug-explore.md b/docs-2.0/nebula-studio/quick-start/st-ug-explore.md index 0d9cde92905..ac712c10387 100644 --- a/docs-2.0/nebula-studio/quick-start/st-ug-explore.md +++ b/docs-2.0/nebula-studio/quick-start/st-ug-explore.md @@ -2,7 +2,11 @@ When data is imported, you can use the **Console** page or the **Explore** page to query graph data. -For example, if you want to query the edge properties of the player named _player100_ to the team named _team204_, you can perform these optional operations: +!!! Note + + Users can also perform the following query operations online through [Studio](https://playground.nebula-graph.io/explore). + +For example, if you want to query the edge properties of the player named `player100` to the team named `team204`, you can perform these optional operations: * On the **Console** tab: Run `FETCH PROP ON serve "player100" -> "team204";`. The result window shows all the property information of this vertex. When the result returns, click the **View Subgraph** button and then you can view the vertex information in a visualized way. ![The information retrieved with Console](../figs/st-ug-036-1.png) From 66129fde280194c19874dd6c80eb08133127590a Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:55:33 +0800 Subject: [PATCH 033/101] Update 3.system-design.md --- docs-2.0/8.service-tuning/3.system-design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/8.service-tuning/3.system-design.md b/docs-2.0/8.service-tuning/3.system-design.md index 1d3e720b435..3235e973b03 100644 --- a/docs-2.0/8.service-tuning/3.system-design.md +++ b/docs-2.0/8.service-tuning/3.system-design.md @@ -22,7 +22,7 @@ Nebula Graph {{ nebula.release }} supports horizontal scaling. + Metad does not support horizontal scaling. -Vertical scaling usually has higher hardware costs, but relatively simple operations. Nebula Graph {{Nebula. Release}} can also be scaled vertically. +Vertical scaling usually has higher hardware costs, but relatively simple operations. Nebula Graph {{nebula.release}} can also be scaled vertically. ## Data transmission and optimization From 95fbab7c966668e58ca7176f46a674868edc3080 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:00:02 +0800 Subject: [PATCH 034/101] Update st-ug-crud-tag.md --- docs-2.0/nebula-studio/manage-schema/st-ug-crud-tag.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-tag.md b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-tag.md index 5c836280ec1..1c983f8aa48 100644 --- a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-tag.md +++ b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-tag.md @@ -28,15 +28,15 @@ To create a tag on the **Schema** page, follow these steps: 5. On the **Create** page, do these settings: - a. **Name**: Specify an appropriate name for the tag. In this example, `course` is specified. + a. **Name**: Specify an appropriate name for the tag. In this example, `course` is specified. - b. (Optional) If necessary, in the upper left corner of the **Define Properties** panel, click the check box to expand the panel and do these settings: + b. (Optional) If necessary, in the upper left corner of the **Define Properties** panel, click the check box to expand the panel and do these settings: - - To define a property: Enter a property name, a data type, and a default value. + - To define a property: Enter a property name, a data type, and a default value. - - To add multiple properties: Click the **Add Property** button and define more properties. + - To add multiple properties: Click the **Add Property** button and define more properties. - - To cancel a defined property: Besides the **Defaults** column, click the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "Cancel"). + - To cancel a defined property: Besides the **Defaults** column, click the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "Cancel"). c. (Optional) If no index is set for the tag, you can set the TTL configuration: In the upper left corner of the **Set TTL** panel, click the check box to expand the panel and configure `TTL_COL` and `TTL_ DURATION`. For more information about both parameters, see [TTL configuration](../../3.ngql-guide/8.clauses-and-options/ttl-options.md "Click to go to Nebula Graph website"). From ba6df3c5c37d50d1fe79a312586a78451483bb51 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:02:00 +0800 Subject: [PATCH 035/101] Update st-ug-crud-edge-type.md --- .../manage-schema/st-ug-crud-edge-type.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-edge-type.md b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-edge-type.md index a71b937c38d..08d33b330dd 100644 --- a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-edge-type.md +++ b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-edge-type.md @@ -28,17 +28,17 @@ To create an edge type on the **Schema** page, follow these steps: 5. On the **Create** page, do these settings: - a. **Name**: Specify an appropriate name for the edge type. In this example, `serve` is used. + a. **Name**: Specify an appropriate name for the edge type. In this example, `serve` is used. - b. (Optional) If necessary, under the name, click the **Comment** to input content. + b. (Optional) If necessary, under the name, click the **Comment** to input content. - c. (Optional) If necessary, in the upper left corner of the **Define Properties** panel, click the check box to expand the panel and do these settings: + c. (Optional) If necessary, in the upper left corner of the **Define Properties** panel, click the check box to expand the panel and do these settings: - - To define a property: Enter a property name, a data type, and a default value. + - To define a property: Enter a property name, a data type, and a default value. - - To add multiple properties: Click the **Add Property** button and define more properties. + - To add multiple properties: Click the **Add Property** button and define more properties. - - To cancel a defined property: Besides the **Defaults** column, click the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "Cancel"). + - To cancel a defined property: Besides the **Defaults** column, click the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "Cancel"). d. (Optional) If no index is set for the edge type, you can set the TTL configuration: In the upper left corner of the **Set TTL** panel, click the check box to expand the panel, and configure `TTL_COL` and `TTL_ DURATION`. For more information about both parameters, see [TTL configuration](../../3.ngql-guide/8.clauses-and-options/ttl-options.md "Click to go to Nebula Graph website"). From dc09c8d3704a13102f606555d581bef0b0f09f62 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:03:47 +0800 Subject: [PATCH 036/101] Update st-ug-crud-index.md --- .../nebula-studio/manage-schema/st-ug-crud-index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md index 8b23fd48784..0e4b3c9fb7a 100644 --- a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md +++ b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md @@ -28,19 +28,19 @@ To create an index on the **Schema** page, follow these steps: 4. Click the **Index** tab and then click the **+ Create** button. 5. On the **Create** page, do these settings: - a. **Index Type**: Choose to create an index for a tag or for an edge type. In this example, **Edge Type** is chosen. + - **Index Type**: Choose to create an index for a tag or for an edge type. In this example, **Edge Type** is chosen. - b. **Name**: Choose a tag name or an edge type name. In this example, **follow** is chosen. + - **Name**: Choose a tag name or an edge type name. In this example, **follow** is chosen. - c. **Index Name**: Specify a name for the new index. In this example, **follow_index** is used. + - **Index Name**: Specify a name for the new index. In this example, **follow_index** is used. - d. **Indexed Properties**: Click **Add**, and then, in the dialog box, choose a property. If necessary, repeat this step to choose more properties. You can drag the properties to sort them. In this example, `degree` is chosen. + - **Indexed Properties**: Click **Add**, and then, in the dialog box, choose a property. If necessary, repeat this step to choose more properties. You can drag the properties to sort them. In this example, `degree` is chosen. !!! note The order of the indexed properties has an effect on the result of the `LOOKUP` statement. For more information, see [nGQL Manual](../../3.ngql-guide/7.general-query-statements/5.lookup.md "Click to go to the Nebula Graph website"). - e. **Comment**: The remarks of a certain property or the index itself. The maximum length is 256 bytes. By default, there will be no comments on an index. But in this example, `follow_index` is used. + - **Comment**: The remarks of a certain property or the index itself. The maximum length is 256 bytes. By default, there will be no comments on an index. But in this example, `follow_index` is used. When the settings are done, the **Equivalent to the following nGQL statement** panel shows the statement equivalent to the settings. From eb6495de41b09f8981693ef76a7715bf25ffc41b Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:03:56 +0800 Subject: [PATCH 037/101] Create st-ug-crud-index.md From 07c41af372a0377d42d600171e515d49c5569892 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:04:45 +0800 Subject: [PATCH 038/101] Update st-ug-crud-index.md --- docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md index 0e4b3c9fb7a..38030aea19f 100644 --- a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md +++ b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md @@ -42,11 +42,11 @@ To create an index on the **Schema** page, follow these steps: - **Comment**: The remarks of a certain property or the index itself. The maximum length is 256 bytes. By default, there will be no comments on an index. But in this example, `follow_index` is used. - When the settings are done, the **Equivalent to the following nGQL statement** panel shows the statement equivalent to the settings. +6. When the settings are done, the **Equivalent to the following nGQL statement** panel shows the statement equivalent to the settings. ![A page for index creation](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-030.png "Create an index") -6. Confirm the settings and then click the **+ Create** button. +7. Confirm the settings and then click the **+ Create** button. When an index is created, the index list shows the new index. ## View indexes From d8601292846fbf157ab600a58107ff27239705f9 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:08:04 +0800 Subject: [PATCH 039/101] Update st-ug-open-in-explore.md --- docs-2.0/nebula-studio/use-console/st-ug-open-in-explore.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs-2.0/nebula-studio/use-console/st-ug-open-in-explore.md b/docs-2.0/nebula-studio/use-console/st-ug-open-in-explore.md index 15ff64229e7..30668a50d6e 100644 --- a/docs-2.0/nebula-studio/use-console/st-ug-open-in-explore.md +++ b/docs-2.0/nebula-studio/use-console/st-ug-open-in-explore.md @@ -30,10 +30,6 @@ To query edge data on the **Console** page and then view the result on the **Exp nebula> GO FROM "player102" OVER serve YIELD serve._src,serve._dst; ``` - !!! note - - For more information about the `MATCH` syntax, see [MATCH in nGQL User Guide](../../3.ngql-guide/7.general-query-statements/2.match.md). - In the query result, you can see the start year and end year of the service team for the player whose playerId is `palyer102`. As shown below. ![The Result window shows the queried edge data, including the VIDs of the source vertex and the destination vertex](../figs/st-ug-037.png "Edge data") From eb0c22332fb82b78d336632600ad5ab9f17bc099 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:10:41 +0800 Subject: [PATCH 040/101] update --- docs-2.0/nebula-studio/figs/st-ug-045.png | Bin 96944 -> 310698 bytes .../use-console/st-ug-visualize-subgraph.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/nebula-studio/figs/st-ug-045.png b/docs-2.0/nebula-studio/figs/st-ug-045.png index 1d74884cbd0e1375a26fb7fdb72a849cfde66eaa..58197a74d87e0201831f5d2c0a455521e437b566 100644 GIT binary patch literal 310698 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 Q0{`5-qj)>>FT>~m7tX6ljsO4v literal 96944 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�oB~THUZP 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 oki8lm&E8f1UvHs_pN)*j{kG Date: Thu, 2 Sep 2021 15:12:38 +0800 Subject: [PATCH 041/101] Update st-ug-visualize-subgraph.md --- .../nebula-studio/use-console/st-ug-visualize-subgraph.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/nebula-studio/use-console/st-ug-visualize-subgraph.md b/docs-2.0/nebula-studio/use-console/st-ug-visualize-subgraph.md index c7e22dd2ca8..538971d09da 100644 --- a/docs-2.0/nebula-studio/use-console/st-ug-visualize-subgraph.md +++ b/docs-2.0/nebula-studio/use-console/st-ug-visualize-subgraph.md @@ -41,9 +41,9 @@ To query the paths or subgraph on the **Console** page and then view them on the 5. (Optional) If some data exists on the board of **Explore**, choose a method to insert data: - - **Incremental Insertion**: Click this button to add the result to the existing data on the board. + - **Incremental Insertion**: Click this button to add the result to the existing data on the board. - - **Insert After Clear**: Click this button to clear the existing data from the board and then add the data to the board. + - **Insert After Clear**: Click this button to clear the existing data from the board and then add the data to the board. When the data is inserted, you can view the visualized representation of the paths. From 18567370ff4abde1e2facd0eba5aea839b474c96 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:15:20 +0800 Subject: [PATCH 042/101] Update st-ug-faq.md --- docs-2.0/nebula-studio/troubleshooting/st-ug-faq.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs-2.0/nebula-studio/troubleshooting/st-ug-faq.md b/docs-2.0/nebula-studio/troubleshooting/st-ug-faq.md index 8c0a5e70ae2..1f785088211 100644 --- a/docs-2.0/nebula-studio/troubleshooting/st-ug-faq.md +++ b/docs-2.0/nebula-studio/troubleshooting/st-ug-faq.md @@ -3,7 +3,11 @@ !!! faq "Why can't I use a function?" If you find that a function cannot be used, it is recommended to troubleshoot the problem according to the following steps: + 1. Confirm that Nebula Graph is the latest version. If you use Docker Compose to deploy the Nebula Graph database, it is recommended to run `docker-compose pull && docker-compose up -d` to pull the latest Docker image and start the container. + 2. Confirm that Studio is the latest version. For more information, refer to [check updates](../about-studio/st-ug-check-updates.md). + 3. Search the [nebula forum](https://discuss.nebula-graph.io/), [nebula](https://github.com/vesoft-inc/nebula) and [nebula-studio](https://github.com/vesoft-inc/nebula-studio) projects on the GitHub to confirm if there are already similar problems. - 4. If none of the above steps solve the problem, you can submit a problem on the forum. \ No newline at end of file + + 4. If none of the above steps solve the problem, you can submit a problem on the forum. From 2bc4a42b7754ff245bc3e96ca66a5b3945e8faf3 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:20:09 +0800 Subject: [PATCH 043/101] Update 2.deploy-dashboard.md --- docs-2.0/nebula-dashboard/2.deploy-dashboard.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs-2.0/nebula-dashboard/2.deploy-dashboard.md b/docs-2.0/nebula-dashboard/2.deploy-dashboard.md index bd04c074cdb..2fef9b5c06d 100644 --- a/docs-2.0/nebula-dashboard/2.deploy-dashboard.md +++ b/docs-2.0/nebula-dashboard/2.deploy-dashboard.md @@ -28,9 +28,10 @@ The deployment of Dashboard occupies the following ports: Download the configuration files for the deployment. -```bash -wget https://oss-cdn.nebula-graph.com.cn/nebula-graph-dashboard/{{dashboard.release}}.tar.gz -``` +| Dashboard tar-package | Nebula Graph version | +| :----- | :----- | +| [nebula-graph-dashboard-{{ dashboard.release }}.x86_64.tar.gz](https://oss-cdn.nebula-graph.io/nebula-graph-dashboard/{{ dashboard.release }}/nebula-graph-dashboard-{{ dashboard.release }}.x86_64.tar.gz) | 2.5.0 | + ## Service From fdf25815da7fbcd53ea159a4deab43e8f5b931ae Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:21:23 +0800 Subject: [PATCH 044/101] Update 2.deploy-dashboard.md --- docs-2.0/nebula-dashboard/2.deploy-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/nebula-dashboard/2.deploy-dashboard.md b/docs-2.0/nebula-dashboard/2.deploy-dashboard.md index 2fef9b5c06d..74a193db0fd 100644 --- a/docs-2.0/nebula-dashboard/2.deploy-dashboard.md +++ b/docs-2.0/nebula-dashboard/2.deploy-dashboard.md @@ -72,7 +72,7 @@ After the service is started, you can enter `:9100` in the browser to check 1. Modify the `config.yaml` file in `nebula-stats-exporter` to deploy the HTTP ports of all the services. The example is as follows: ```bash - version: v0.0.2 + version: v0.0.4 nebulaItems: - instanceName: metad0 endpointIP: 192.168.xx.1 From 162d25729f60c590afe3d70aa28b5bd53e5ea985 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:22:38 +0800 Subject: [PATCH 045/101] proofread 2 --- docs-2.0/20.appendix/0.FAQ.md | 112 +++++++++++---------- docs-2.0/20.appendix/6.eco-tool-version.md | 12 +-- docs-2.0/nebula-algorithm.md | 4 +- 3 files changed, 69 insertions(+), 59 deletions(-) diff --git a/docs-2.0/20.appendix/0.FAQ.md b/docs-2.0/20.appendix/0.FAQ.md index b2dbce6d964..892f2029a8e 100644 --- a/docs-2.0/20.appendix/0.FAQ.md +++ b/docs-2.0/20.appendix/0.FAQ.md @@ -8,7 +8,7 @@ If the solutions described in this topic cannot solve your problems, ask for hel ### "Why is the behavior in the manual not consistent with the system?" - Nebula Graph is still under development. Its behavior changes from time to time. Users can submit an [issue](https://github.com/vesoft-inc/nebula/issues/new) to inform the team if the manual and the system are not consistent. +Nebula Graph is still under development. Its behavior changes from time to time. Users can submit an [issue](https://github.com/vesoft-inc/nebula/issues/new) to inform the team if the manual and the system are not consistent. !!! note @@ -32,23 +32,39 @@ If the solutions described in this topic cannot solve your problems, ask for hel ## About executions -### "Why are the query results different when using `GO` and `MATCH` to execute the same semantic query?" +### About dangling edges -Using different types of paths may cause different query results. +A dangling edge is an edge that only connects to a single vertex and only one part of the edge connects to the vertex. -- `GO` statements use `walk`. Both vertices and edges can be repeatedly visited in graph traversal. +Nebula Graph {{ nebula.release }} allows dangling edges. And there is no `MERGE` statements of openCypher. The guarantee for dangling edges depends entirely on the application level. For more information, see [INSERT VERTEX](../3.ngql-guide/12.vertex-statements/1.insert-vertex.md), [DELETE VERTEX](../3.ngql-guide/12.vertex-statements/4.delete-vertex.md), [INSERT EDGE](../3.ngql-guide/13.edge-statements/1.insert-edge.md), [DELETE EDGE](../3.ngql-guide/13.edge-statements/4.delete-edge.md). -- `MATCH` statements are compatible with openCypher and use `trail`. Only vertices can be repeatedly visited in graph traversal. - -The example is as follows. -![Path](../images/path1.png) +### "How to resolve `[ERROR (-1005)]: Used memory hits the high watermark(0.800000) of total system memory.`?" -All queries that start from `A` with 5 hops will end at `C` (`A->B->C->D->E->C`). If it is 6 hops, the `GO` statement will end at `D` (`A->B->C->D->E->C->D`), because the edge `C->D` can be visited repeatedly. However, the `MATCH` statement returns empty, because edges cannot be visited repeatedly. +The reason for this error may be that `system_memory_high_watermark_ratio` specifies the trigger threshold of the memory high watermark alarm mechanism. The default value is `0.8`. If the system memory usage is higher than this value, an alarm mechanism will be triggered, and Nebula Graph will stop querying. -Therefore, using `GO` and `MATCH` to execute the same semantic query may cause different query results. +Possible solutions are as follows: -For more information, see [Wikipedia](https://en.wikipedia.org/wiki/Path_(graph_theory)#Walk,_trail,_path). +* Clean the system memory to make it below the threshold. +* [Modify the Graph configuration](../5.configurations-and-logs/1.configurations/1.configurations.md). Add the `system_memory_high_watermark_ratio` parameter to the configuration files of all Graph servers, and set it greater than `0.8`, such as `0.9`. + + !!! note + + Only the Graph service supports `system_memory_high_watermark_ratio`, while the Storage and Meta services do not. + +### "How to resolve the error `Storage Error E_RPC_FAILURE`?" + +The reason for this error is usually that the storaged process returns too many data back to the graphd process. Possible solutions are as follows: + +* [Modify configuration files](../5.configurations-and-logs/1.configurations/3.graph-config.md): Modify the value of `--storage_client_timeout_ms` in the `nebula-graphd.conf` file to extend the connection timeout of the Storage client. This configuration is measured in milliseconds (ms). For example, set `--storage_client_timeout_ms=60000`. If this parameter is not specified in the `nebula-graphd.conf` file, specify it manually. Tip: Add `--local_config=true` at the beginning of the configuration file and restart the service. +* Optimize the query statement: Reduce queries that scan the entire database. No matter whether `LIMIT` is used to limit the number of returned results, use the `GO` statement to rewrite the `MATCH` statement (the former is optimized, while the latter is not). +* Check whether the Storaged process has OOM. (`dmesg |grep nebula`). +* Use better SSD or memory for the Storage Server. +* Retry. + +### "How to resolve the error `The leader has changed. Try again later`?" + +It is a known issue. Just retry 1 to N times, where N is the partition number. The reason is that the meta client needs some heartbeats to update or errors to trigger the new leader information. ### "How is the `time spent` value at the end of each return message calculated?" @@ -80,6 +96,28 @@ When there are enough machines and `replica_factor=2`, if one replica fails, the We suggest that you set `replica_factor=3` for a production environment and `replica_factor=1` for a test environment. Do not use an even number. +### "Is stopping or killing slow queries supported?" + +Yes. For more information, see [Kill query](../3.ngql-guide/18.operation-and-maintenance-statements/6.kill-query.md). + +### "Why are the query results different when using `GO` and `MATCH` to execute the same semantic query?" + +Using different types of paths may cause different query results. + +- `GO` statements use `walk`. Both vertices and edges can be repeatedly visited in graph traversal. + +- `MATCH` statements are compatible with openCypher and use `trail`. Only vertices can be repeatedly visited in graph traversal. + +The example is as follows. + +![Path](../images/path1.png) + +All queries that start from `A` with 5 hops will end at `C` (`A->B->C->D->E->C`). If it is 6 hops, the `GO` statement will end at `D` (`A->B->C->D->E->C->D`), because the edge `C->D` can be visited repeatedly. However, the `MATCH` statement returns empty, because edges cannot be visited repeatedly. + +Therefore, using `GO` and `MATCH` to execute the same semantic query may cause different query results. + +For more information, see [Wikipedia](https://en.wikipedia.org/wiki/Path_(graph_theory)#Walk,_trail,_path). + ### "How to resolve `[ERROR (-7)]: SyntaxError: syntax error near`?" In most cases, a query statement requires a `YIELD` or a `RETURN`. Check your query statement to see if `YIELD` or `RETURN` is provided. @@ -141,21 +179,6 @@ Check whether the length of the VID exceeds the limitation. For more information Nebula Graph may return such errors when the Storage service receives multiple requests to insert or update the same vertex or edge within milliseconds. Try the failed requests again later. -### "How to resolve the error `Storage Error E_RPC_FAILURE`?" - -The reason for this error is usually that the storaged process returns too many data back to the graphd process. Possible solutions are as follows: - -* [Modify configuration files](../5.configurations-and-logs/1.configurations/3.graph-config.md): Modify the value of `--storage_client_timeout_ms` in the `nebula-graphd.conf` file to extend the connection timeout of the Storage client. This configuration is measured in milliseconds (ms). For example, set `--storage_client_timeout_ms=60000`. If this parameter is not specified in the `nebula-graphd.conf` file, specify it manually. - -* Optimize the query statement: Reduce queries that scan the entire database. No matter whether `LIMIT` is used to limit the number of returned results, use the `GO` statement to rewrite the `MATCH` statement (the former is optimized, while the latter is not). -* Check whether the Storaged process has OOM. (`dmesg |grep nebula`). -* Use better SSD or memory for the Storage Server. -* Retry. - -### "How to resolve the error `The leader has changed. Try again later`?" - -It is a known issue. Just retry 1 to N times, where N is the partition number. The reason is that the meta client needs some heartbeats to update or errors to trigger the new leader information. - ### "How to resolve the error `RPC failure in MetaClient: Connection refused`?" The reason for this error is usually that the metad service status is unusual, or the network of the machine where the metad and graphd services are located is disconnected. Possible solutions are as follows: @@ -181,13 +204,11 @@ The reason for this error may be that the user has modified the IP or the port i Delete the `cluster.id` file in the installation directory where the storage machine is deployed (the default installation directory is `/usr/local/nebula`), and restart the storaged service. -### "Is stopping or killing slow queries supported?" +### Can non-English characters be used as identifiers, such as the names of graph spaces, tags, edge types, properties, and indexes? -Yes. For more information, see [Kill query](../3.ngql-guide/18.operation-and-maintenance-statements/6.kill-query.md). - -### Can Chinese characters be used as identifiers, such as the names of graph spaces, tags, edge types, properties, and indexes? +No. -No. The names of graph spaces, tags, edge types, properties, and indexes must use English letters, numbers, or underlines. Chinese characters are not currently supported. +The names of graph spaces, tags, edge types, properties, and indexes must use English letters, numbers, or underlines. Non-English characters are not currently supported. Meanwhile, the above identifiers are case-sensitive and cannot use [Keywords and reserved words](../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). @@ -202,20 +223,9 @@ nebula > MATCH (s)<-[e]-() WHERE id(s) == "given" RETURN count(e); #In-degree ### "How to quickly get the out-degree and in-degree of all vertices?" -There is no such command. You can use [Nebula Algorithm](../nebula-algorithm.md). - -### "How to resolve `[ERROR (-1005)]: Used memory hits the high watermark(0.800000) of total system memory.`?" - -The reason for this error may be that `system_memory_high_watermark_ratio` specifies the trigger threshold of the memory high watermark alarm mechanism. The default value is `0.8`. If the system memory usage is higher than this value, an alarm mechanism will be triggered, and Nebula Graph will stop querying. - -Possible solutions are as follows: - -* Clean the system memory to make it below the threshold. -* [Modify the Graph configuration](../5.configurations-and-logs/1.configurations/1.configurations.md). Add the `system_memory_high_watermark_ratio` parameter to the configuration files of all Graph servers, and set it greater than `0.8`, such as `0.9`. +There is no such command. - !!! note - - Only the Graph service supports `system_memory_high_watermark_ratio`, while the Storage and Meta services do not. +You can use [Nebula Algorithm](../nebula-algorithm.md). ### "How to resolve `[ERROR (-1005)]: Schema not exist: xxx`?" @@ -223,13 +233,7 @@ If the system returns `Schema not exist` when querying, make sure that: - Whether there is a tag or an edge type in the Schema. -- -Whether the name of the tag or the edge type is a keyword. If it is a keyword, enclose them with backquotes (\`). For more information, see[Keywords](../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). - -### About dangling edges - -A dangling edge is an edge that only connects to a single vertex and only one part of the edge connects to the vertex. - -Nebula Graph {{ nebula.release }} allows dangling edges. And there is no `MERGE` statements of openCypher. The guarantee for dangling edges depends entirely on the application level. For more information, see [INSERT VERTEX](../3.ngql-guide/12.vertex-statements/1.insert-vertex.md), [DELETE VERTEX](../3.ngql-guide/12.vertex-statements/4.delete-vertex.md), [INSERT EDGE](../3.ngql-guide/13.edge-statements/1.insert-edge.md), [DELETE EDGE](../3.ngql-guide/13.edge-statements/4.delete-edge.md). +- -Whether the name of the tag or the edge type is a keyword. If it is a keyword, enclose them with backquotes (\`). For more information, see [Keywords](../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). ## About operation and maintenance @@ -241,6 +245,10 @@ Nebula Graph uses [glog](https://github.com/google/glog) to print logs. `glog` c ### "How to check the Nebula Graph version?" +If the service is running: run command `SHOW HOSTS META` in `nebula-console`. See [SHOW HOSTS](../3.ngql-guide/7.general-query-statements/6.show/6.show-hosts.md). + +If the service is not running: + Different installation methods make the method of checking the version different. The instructions are as follows: - If you install Nebula Graph by compiling the source code @@ -305,6 +313,8 @@ If you have not modified the predefined ports in the [Configurations](../5.confi If you have customized the configuration files and changed the predefined ports, find the port numbers in your configuration files and open them on the firewalls. +For those eco-tools, see the corresponding document. + ### "How to test whether a port is open or closed?" You can use telnet as follows to check for port status. diff --git a/docs-2.0/20.appendix/6.eco-tool-version.md b/docs-2.0/20.appendix/6.eco-tool-version.md index 2bdc2648cf3..07257bea2d0 100644 --- a/docs-2.0/20.appendix/6.eco-tool-version.md +++ b/docs-2.0/20.appendix/6.eco-tool-version.md @@ -145,19 +145,19 @@ Docker Compose can quickly deploy Nebula Graph clusters. For how to use it, plea - API - -[Rust Client](https://github.com/vesoft-inc/nebula-rust) + - [Rust Client](https://github.com/vesoft-inc/nebula-rust) - -[Node.js Client](https://github.com/vesoft-inc/nebula-node) + - [Node.js Client](https://github.com/vesoft-inc/nebula-node) - -[HTTP Client](https://github.com/vesoft-inc/nebula-http-gateway) + - [HTTP Client](https://github.com/vesoft-inc/nebula-http-gateway) - -[Object Graph Mapping Library (OGM, or ORM)] Java, Python (TODO: in design) + - [Object Graph Mapping Library (OGM, or ORM)] Java, Python (TODO: in design) - Monitoring - -[Promethus connector](https://github.com/vesoft-inc/nebula-stats-exporter) + - [Promethus connector](https://github.com/vesoft-inc/nebula-stats-exporter) - -[Graph Computing] (TODO: in coding) + - [Graph Computing] (TODO: in coding) - Test diff --git a/docs-2.0/nebula-algorithm.md b/docs-2.0/nebula-algorithm.md index ab9d210e7e7..51ec8ce5a88 100644 --- a/docs-2.0/nebula-algorithm.md +++ b/docs-2.0/nebula-algorithm.md @@ -1,6 +1,6 @@ # Nebula Algorithm -[Nebula Algorithm](https://github.com/vesoft-inc/nebula-spark-utils/tree/master/nebula-algorithm) (Algorithm) is a Spark application based on [GraphX] (https://spark.apache.org/graphx/). It uses a complete algorithm tool to perform graph computing on the data in the Nebula Graph database by submitting a Spark task. You can also programmatically use the algorithm under the lib repository to perform graph computing on DataFrame. +[Nebula Algorithm](https://github.com/vesoft-inc/nebula-spark-utils/tree/master/nebula-algorithm) (Algorithm) is a Spark application based on [GraphX](https://spark.apache.org/graphx/). It uses a complete algorithm tool to perform graph computing on the data in the Nebula Graph database by submitting a Spark task. You can also programmatically use the algorithm under the lib repository to perform graph computing on DataFrame. ## Prerequisites @@ -33,7 +33,7 @@ The graph computing algorithms supported by Nebula Algorithm are as follows. | ShortestPath |The shortest path | Path planning, network planning | | TriangleCount |Triangle counting | Network structure analysis| | BetweennessCentrality | Intermediate centrality | Key node mining, node influence computing | -| | DegreeStatic |Degree of statistical | Graph structure analysis| +| DegreeStatic |Degree of statistical | Graph structure analysis| ## Implementation methods From 93308189459ca6ba37fd847d674e690aca74c092 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:24:06 +0800 Subject: [PATCH 046/101] Update 2.deploy-dashboard.md --- docs-2.0/nebula-dashboard/2.deploy-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/nebula-dashboard/2.deploy-dashboard.md b/docs-2.0/nebula-dashboard/2.deploy-dashboard.md index 74a193db0fd..c3a7761a7d3 100644 --- a/docs-2.0/nebula-dashboard/2.deploy-dashboard.md +++ b/docs-2.0/nebula-dashboard/2.deploy-dashboard.md @@ -115,7 +115,7 @@ After the service is started, you can enter `:9200` in the browser to check !!! note - You only need to deploy the `prometheus` service on the machine where the `nebula-graph-dashboard` service is installed. + You only need to deploy the `prometheus` service on the machine where the `nebula-graph-dashboard` service is installed. 1. Modify the `prometheus.yaml` file in `prometheus` to deploy the IP addresses and ports of the `node-exporter` service and the `nebula-stats-exporter`. The example is as follows: From ad4a640b1dbdc9a829a40c8e4d1f4e296d656d50 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:24:12 +0800 Subject: [PATCH 047/101] Create 2.deploy-dashboard.md From 26cbb3d3f55750755542ac1abe5b1d8a0dbaeb04 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:40:00 +0800 Subject: [PATCH 048/101] Update ex-ug-page-overview.md --- docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md b/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md index 0505cf67028..c87b4b7e1f7 100644 --- a/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md +++ b/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md @@ -40,6 +40,7 @@ The sidebar consists of five parts. You can click the buttons to explore the gra - Frame selection mode: Click the ![frameSelect](../figs/nav-frameSelect.png) icon to support frame selection of vertexes and edges in the canvas. - Click to select multiple vertexes and edges: Click the ![singleSelect](../figs/nav-singleSelect.png) icon, you can easily click the vertexes and edges in the canvas, and click the blank space to cancel the selection. - Move the canvas: Click the ![moveCanvas](../figs/nav-moveCanvas.png) icon to drag the position of the canvas. + For more information, see [Canvas Operation](../operation-guide/ex-ug-canvas.md). ### Graph exploration and expansion @@ -48,6 +49,7 @@ For more information, see [Canvas Operation](../operation-guide/ex-ug-canvas.md) - Common neighbor: Click the ![commonNeighbor](../figs/rightclickmenu-commonNeighbor.png) icon, select at least two vertexes on the page and view their common neighbors. - Search path: Click the ![findPath](../figs/rightclickmenu-findPath.png) icon to query the path of `all paths`, `Shortest path` or `Noloop path` between the start vertex and the end vertex. - Inspect property: Click the ![propertyView](../figs/nav-propertyView.png) icon to choose whether to display the property values of vertexes or edges in the canvas. + For more information, see [Graph exploration and expansion](../operation-guide/ex-ug-graph-exploration.md). ### Hide and undo From 31ee4b8f10e5be1da5759aec81c714a5a36e9cfe Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 16:05:02 +0800 Subject: [PATCH 049/101] Update 3.graph-config.md --- .../1.configurations/3.graph-config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md index c7814ffca0d..79d33fa6473 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md @@ -25,7 +25,7 @@ For all parameters and their current values, see [Configurations](1.configuratio | `pid_file` | `pids/nebula-graphd.pid`| The file that records the process ID. | |`enable_optimizer` |`true` | When set to `true`, the optimizer is enabled. | | `system_memory_high_watermark_ratio` | - | Specifies the trigger threshold of the high-level memory alarm mechanism. The default value is `0.8`. If the system memory usage is higher than this value, an alarm mechanism will be triggered, and Nebula Graph will stop querying. This parameter is not predefined in the initial configuration files. | -| `timezone_name` | - | Specifies the Nebula Graph time zone. This parameter is not predefined in the initial configuration files. The system default value is `UTC+00:00:00`. For the format of the parameter value, see [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual"). For example, `--timezone_name=CST-8` represents the GMT+8 time zone. | +| `timezone_name` | - | Specifies the Nebula Graph time zone. This parameter is not predefined in the initial configuration files. The system default value is `UTC+00:00:00`. For the format of the parameter value, see [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual"). For example, `--timezone_name=UTC+08:00` represents the GMT+8 time zone. | | `local_config` | `true` | When set to `true`, the process gets configurations from the configuration files. | !!! note From 34fd68bc5dd60ca974beb09e4e27dc716001b063 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 15:40:00 +0800 Subject: [PATCH 050/101] Update ex-ug-page-overview.md --- docs-2.0/1.introduction/3.vid.md | 17 +++ .../operation-guide/ex-ug-page-overview.md | 2 + .../reuse/source_connect-to-nebula-graph.md | 109 ++++++++++++++++-- ...urce_install-nebula-graph-by-rpm-or-deb.md | 20 ++-- docs-2.0/reuse/source_manage-service.md | 19 +-- 5 files changed, 143 insertions(+), 24 deletions(-) diff --git a/docs-2.0/1.introduction/3.vid.md b/docs-2.0/1.introduction/3.vid.md index 88168dd23f0..edaee4d7ae2 100644 --- a/docs-2.0/1.introduction/3.vid.md +++ b/docs-2.0/1.introduction/3.vid.md @@ -47,3 +47,20 @@ VIDs can be generated via applications. Here are some tips: ## Define and modify the data type of VIDs The data type of VIDs must be defined when you [create the graph space](../3.ngql-guide/9.space-statements/1.create-space.md). Once defined, it cannot be modified. + + \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md b/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md index 0505cf67028..c87b4b7e1f7 100644 --- a/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md +++ b/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md @@ -40,6 +40,7 @@ The sidebar consists of five parts. You can click the buttons to explore the gra - Frame selection mode: Click the ![frameSelect](../figs/nav-frameSelect.png) icon to support frame selection of vertexes and edges in the canvas. - Click to select multiple vertexes and edges: Click the ![singleSelect](../figs/nav-singleSelect.png) icon, you can easily click the vertexes and edges in the canvas, and click the blank space to cancel the selection. - Move the canvas: Click the ![moveCanvas](../figs/nav-moveCanvas.png) icon to drag the position of the canvas. + For more information, see [Canvas Operation](../operation-guide/ex-ug-canvas.md). ### Graph exploration and expansion @@ -48,6 +49,7 @@ For more information, see [Canvas Operation](../operation-guide/ex-ug-canvas.md) - Common neighbor: Click the ![commonNeighbor](../figs/rightclickmenu-commonNeighbor.png) icon, select at least two vertexes on the page and view their common neighbors. - Search path: Click the ![findPath](../figs/rightclickmenu-findPath.png) icon to query the path of `all paths`, `Shortest path` or `Noloop path` between the start vertex and the end vertex. - Inspect property: Click the ![propertyView](../figs/nav-propertyView.png) icon to choose whether to display the property values of vertexes or edges in the canvas. + For more information, see [Graph exploration and expansion](../operation-guide/ex-ug-graph-exploration.md). ### Hide and undo diff --git a/docs-2.0/reuse/source_connect-to-nebula-graph.md b/docs-2.0/reuse/source_connect-to-nebula-graph.md index 8d287ec3204..5e788a32044 100644 --- a/docs-2.0/reuse/source_connect-to-nebula-graph.md +++ b/docs-2.0/reuse/source_connect-to-nebula-graph.md @@ -78,25 +78,118 @@ If you don't have a Nebula Graph database yet, we recommend that you try the clo You can find more details in the [Nebula Console Repository](https://github.com/vesoft-inc/nebula-console/tree/v2.0.0-ga). -## Nebula Console export mode +## Nebula Console commands -When the export mode is enabled, Nebula Console exports all the query results into a CSV file. When the export mode is disabled, the export stops. The syntax is as follows. +Nebula Console can export CSV file, DOT file, and import too. !!! note - * The following commands are case insensitive. - * The CSV file is stored in the working directory. Run the Linux command `pwd` to show the working directory. + The commands are case insensitive. -* Enable Nebula Console export mode: +### Export a CSV file + +!!! note + + - A CSV file will be saved in the working directory, i.e., what linux command `pwd` show; + + - This command only works for the next query statement. + +The command to export a csv file. + +```ngql +nebula> :CSV +``` + +### Export a DOT file + +!!! Note + + - A DOT file will be saved in the working directory, i.e., what linux command `pwd` show; + + - You can copy the contents of DOT file, and paste in [GraphvizOnline](https://dreampuf.github.io/GraphvizOnline/), to visualize the excution plan; + + - This command only works for the next query statement. + +The command to export a DOT file. + +```ngql +nebula> :dot +``` + +For example, ```ngql -nebula> :SET CSV +nebula> :dot a.dot +nebula> PROFILE FORMAT="dot" GO FROM "player100" OVER follow; ``` -* Disable Nebula Console export mode: +### Importing a testing dataset + +The testing dataset is named `nba`. Details about schema and data can be seen by commands `SHOW`. + +Using the following command to import the testing dataset, + +```ngql +nebula> :play nba +``` + +### Run a command multiple times + +Sometimes, you want to run a command multiple times. Run the following command. + +```ngql +nebula> :repeat N +``` + +For example, + +```ngql +nebula> :repeat 3 +nebula> GO FROM "player100" OVER follow; ++-------------+ +| follow._dst | ++-------------+ +| "player101" | ++-------------+ +| "player125" | ++-------------+ +Got 2 rows (time spent 2602/3214 us) + +Fri, 20 Aug 2021 06:36:05 UTC + ++-------------+ +| follow._dst | ++-------------+ +| "player101" | ++-------------+ +| "player125" | ++-------------+ +Got 2 rows (time spent 583/849 us) + +Fri, 20 Aug 2021 06:36:05 UTC + ++-------------+ +| follow._dst | ++-------------+ +| "player101" | ++-------------+ +| "player125" | ++-------------+ +Got 2 rows (time spent 496/671 us) + +Fri, 20 Aug 2021 06:36:05 UTC + +Executed 3 times, (total time spent 3681/4734 us), (average time spent 1227/1578 us) +``` + +### Sleep to wait + +Sleep N seconds. + +It is usually used when altering schema. Since schema is altered in async way, and take effects in the next heartbeat cycle. ```ngql -nebula> :UNSET CSV +nebula> :sleep N ``` ## Disconnect Nebula Console from Nebula Graph diff --git a/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md b/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md index 7ca90124720..ac93b8dbb34 100644 --- a/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md +++ b/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md @@ -77,20 +77,20 @@ Prepare the right [resources](../4.deployment-and-installation/1.resource-prepar https://oss-cdn.nebula-graph.io/package/v2-nightly//nebula-graph--nightly.ubuntu2004.amd64.deb ``` - For example, download the `Centos 7.5` package developed and built in `2021.09.01`: + For example, download the `Centos 7.5` package developed and built in `2021.03.28`: ```bash - wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.09.01/nebula-graph-2021.09.01-nightly.el7.x86_64.rpm - wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.09.01/nebula-graph-2021.09.01-nightly.el7.x86_64.rpm.sha256sum.txt + wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.03.28/nebula-graph-2021.03.28-nightly.el7.x86_64.rpm + wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.03.28/nebula-graph-2021.03.28-nightly.el7.x86_64.rpm.sha256sum.txt ``` - For example, download the `Ubuntu 1804` package developed and built in `2021.09.01`: + For example, download the `Ubuntu 1804` package developed and built in `2021.03.28`: ```bash - wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.09.01/nebula-graph-2021.09.01-nightly.ubuntu1804.amd64.deb - wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.09.01/nebula-graph-2021.09.01-nightly.ubuntu1804.amd64.deb.sha256sum.txt + wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.03.28/nebula-graph-2021.03.28-nightly.ubuntu1804.amd64.deb + wget https://oss-cdn.nebula-graph.io/package/v2-nightly/2021.03.28/nebula-graph-2021.03.28-nightly.ubuntu1804.amd64.deb.sha256sum.txt ``` - + ## Install Nebula Graph @@ -129,3 +130,8 @@ Prepare the right [resources](../4.deployment-and-installation/1.resource-prepar !!! note The default installation path is `/usr/local/nebula/`. + +## What's next + +- [start Nebula Graph](/2.5.0/2.quick-start/5.start-stop-service) +- [connect to Nebula Graph](/2.5.0/2.quick-start/3.connect-to-nebula-graph) \ No newline at end of file diff --git a/docs-2.0/reuse/source_manage-service.md b/docs-2.0/reuse/source_manage-service.md index 15cc587f390..11bc0a4bd6e 100644 --- a/docs-2.0/reuse/source_manage-service.md +++ b/docs-2.0/reuse/source_manage-service.md @@ -107,7 +107,7 @@ Removing nebula-docker-compose_metad0_1 ... done Removing network nebula-docker-compose_nebula-net ``` -If you are using a development or nightly version for testing and have compatibility issues, try to run 'docker-compose down-v' to **DELETE** all data stored in Nebula Graph and import data again. +If you are using a development or nightly version for testing and have compatibility issues, try to run `docker-compose down -v` to **DELETE** all data stored in Nebula Graph and import data again. ## Check the service status @@ -164,12 +164,13 @@ nebula-docker-compose_storaged2_1 ./bin/nebula-storaged --fl ... Up (healthy 0.0.0.0:49227->9779/tcp, 9780/tcp ``` -To troubleshoot for a specific service: +Use the `CONTAINER ID` to log in the container and troubleshoot. -1. Confirm the container name in the preceding return information. -2. Run `docker ps` to find the `CONTAINER ID`. -3. Use the `CONTAINER ID` to log in the container and troubleshoot. - ```ngql - nebula-docker-compose]$ docker exec -it 2a6c56c405f5 bash - [root@2a6c56c405f5 nebula]# - ``` +```ngql +nebula-docker-compose]$ docker exec -it 2a6c56c405f5 bash +[root@2a6c56c405f5 nebula]# +``` + +## What's next + +[Connect to Nebula Graph](../2.quick-start/3.connect-to-nebula-graph.md) \ No newline at end of file From 79b54cba83663d7c675d91c0255920a831f3faef Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Thu, 2 Sep 2021 16:37:14 +0800 Subject: [PATCH 051/101] Fix titles (#687) --- docs-2.0/3.ngql-guide/3.data-types/3.string.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs-2.0/3.ngql-guide/3.data-types/3.string.md b/docs-2.0/3.ngql-guide/3.data-types/3.string.md index 43a8652e316..68e57c7672c 100644 --- a/docs-2.0/3.ngql-guide/3.data-types/3.string.md +++ b/docs-2.0/3.ngql-guide/3.data-types/3.string.md @@ -2,7 +2,7 @@ Fixed-length strings and variable-length strings are supported. -## String types +## Declaration and literal representation The string type is declared with the keywords of: @@ -11,7 +11,7 @@ The string type is declared with the keywords of: A string type is used to store a sequence of characters (text). The literal constant is a sequence of characters of any length surrounded by double or single quotes. For example, `"Hello, Cooper"` or `'Hello, Cooper'`. -## String types +## String reading and writing Nebula Graph supports using string types in the following ways: @@ -38,7 +38,7 @@ When the fixed-length string you try to write exceeds the length limit: - If the fixed-length string is a property, the writing will succeed, and Nebula Graph will truncate the string and only store the part that meets the length limit. - If the fixed-length string is a VID, the writing will fail and Nebula Graph will return an error. -## Escape Characters +## Escape characters Line breaks are not allowed in a string. Escape characters are supported within strings, for example: @@ -46,7 +46,7 @@ Line breaks are not allowed in a string. Escape characters are supported within - `"\110ello world"` -## OpenCypher Compatibility +## OpenCypher compatibility There are some tiny differences between openCypher and Cypher, as well as nGQL. The following is what openCypher requires. Single quotes cannot be converted to double quotes. From efc951f9fb76119fd76376b277f2b4582cbf02e7 Mon Sep 17 00:00:00 2001 From: "max.zhu@vesoft.com" <86282370+izhuxiaoqing@users.noreply.github.com> Date: Thu, 2 Sep 2021 16:47:05 +0800 Subject: [PATCH 052/101] Update upgrade-nebula-from-200-to-250.md --- .../3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md index 92ceda80165..46fe09d0683 100644 --- a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md +++ b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md @@ -1,6 +1,6 @@ # Upgrade Nebula Graph v2.0.x to v{{nebula.release}} -To upgrade Nebula Graph v2.0.x to v{{nebula.release}}, you only need to use the RPM/DEB package of v{{nebula.release}} for the upgrade, or [Compile v{{nebula.release} }](../2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) and then reinstall. +To upgrade Nebula Graph v2.0.x to v{{nebula.release}}, you only need to use the RPM/DEB package of v{{nebula.release}} for the upgrade, or [Compile v{{nebula.release}}](../2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) and then reinstall. !!! note From 4f87ea8d42164e40d600ab7c886b8d6fea6604d4 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 16:51:27 +0800 Subject: [PATCH 053/101] Update upgrade-nebula-from-200-to-250.md --- .../3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md index 46fe09d0683..61a71cc599f 100644 --- a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md +++ b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md @@ -1,6 +1,6 @@ # Upgrade Nebula Graph v2.0.x to v{{nebula.release}} -To upgrade Nebula Graph v2.0.x to v{{nebula.release}}, you only need to use the RPM/DEB package of v{{nebula.release}} for the upgrade, or [Compile v{{nebula.release}}](../2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) and then reinstall. +To upgrade Nebula Graph v2.0.x to v{{nebula.release}}, you only need to use the RPM/DEB package of v{{nebula.release}} for the upgrade, or [compile it](../2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) and then reinstall. !!! note From d221d868884a74be89230d2416003da8df54d130 Mon Sep 17 00:00:00 2001 From: "max.zhu@vesoft.com" <86282370+izhuxiaoqing@users.noreply.github.com> Date: Thu, 2 Sep 2021 16:56:38 +0800 Subject: [PATCH 054/101] Update upgrade-nebula-from-200-to-250.md --- .../3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md index 61a71cc599f..5c8d52df581 100644 --- a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md +++ b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md @@ -4,7 +4,7 @@ To upgrade Nebula Graph v2.0.x to v{{nebula.release}}, you only need to use the !!! note - Nebula Graph v2.0.x refers to v2.0.0-GA and v2.0.1 releases. If your Nebula Graph version is too low (v2.0.0-RC, v2.0.0-beta, v1.x),see [Upgrade Nebula Graph to v{{nebula.release}}](upgrade-nebula-graph-to-250.md). + Nebula Graph v2.0.x refers to v2.0.0-GA and v2.0.1 releases. If your Nebula Graph version is too low (v2.0.0-RC, v2.0.0-beta, v1.x), see [Upgrade Nebula Graph to v{{nebula.release}}](upgrade-nebula-graph-to-250.md). ## Upgrade steps with RPM/DEB packages From 6a3efe64f7a8da8c086bc82f46d53b9b5ae62456 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 17:04:50 +0800 Subject: [PATCH 055/101] Update upgrade-nebula-from-200-to-250.md --- .../3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md index 5c8d52df581..0bb51272f22 100644 --- a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md +++ b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250.md @@ -14,7 +14,7 @@ To upgrade Nebula Graph v2.0.x to v{{nebula.release}}, you only need to use the 3. Execute the following command to upgrade: - -RPM package + - RPM package ```bash $ sudo rpm -Uvh @@ -26,7 +26,7 @@ To upgrade Nebula Graph v2.0.x to v{{nebula.release}}, you only need to use the $ sudo rpm -Uvh --prefix= ``` - -DEB package + - DEB package ```bash $ sudo dpkg -i From 4430d59a7eb8d52a54e29dcf1126abb9ab3630a2 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 17:25:25 +0800 Subject: [PATCH 056/101] Update ex-ug-connect.md --- .../nebula-explorer/deploy-connect/ex-ug-connect.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs-2.0/nebula-explorer/deploy-connect/ex-ug-connect.md b/docs-2.0/nebula-explorer/deploy-connect/ex-ug-connect.md index 99b66a34ac7..764c1a85926 100644 --- a/docs-2.0/nebula-explorer/deploy-connect/ex-ug-connect.md +++ b/docs-2.0/nebula-explorer/deploy-connect/ex-ug-connect.md @@ -28,13 +28,13 @@ To connect Explorer to Nebula Graph, follow these steps: When Nebula Graph and Explorer are deployed on the same machine, you must enter the IP address of the machine, but not `127.0.0.1` or `localhost`, in the **Host** field. - - **Username** and **Password**: Fill in the log in account according to the authentication settings of Nebula Graph. + - **Username** and **Password**: Fill in the log in account according to the authentication settings of Nebula Graph. - - If authentication is not enabled, you can use `root` and any password as the username and its password. + - If authentication is not enabled, you can use `root` and any password as the username and its password. - - If authentication is enabled and no account information has been created, you can only log in as GOD role and use `root` and `nebula` as the username and its password. + - If authentication is enabled and no account information has been created, you can only log in as GOD role and use `root` and `nebula` as the username and its password. - - If authentication is enabled and different users are created and assigned roles, users in different roles log in with their accounts and passwords. + - If authentication is enabled and different users are created and assigned roles, users in different roles log in with their accounts and passwords. ![The Config Server page shows the fields to be configured for connection](../figs/ex-ug-050.png "Config Server") @@ -44,4 +44,4 @@ To connect Explorer to Nebula Graph, follow these steps: ![The Console page shows that the connection is successful](../figs/ex-ug-051.png "Nebula Graph is connected") -One session continues for up to 30 minutes. If you do not operate Explorer within 30 minutes, the active session will time out and you must connect to Nebula Graph again. \ No newline at end of file +One session continues for up to 30 minutes. If you do not operate Explorer within 30 minutes, the active session will time out and you must connect to Nebula Graph again. From ebfe3b736d85fd5c41c1ccb688492e084dd15639 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Thu, 2 Sep 2021 17:26:12 +0800 Subject: [PATCH 057/101] Update ex-ug-page-overview.md --- docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md b/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md index c87b4b7e1f7..745269e3d10 100644 --- a/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md +++ b/docs-2.0/nebula-explorer/operation-guide/ex-ug-page-overview.md @@ -68,7 +68,7 @@ For more information, see [Graph exploration and expansion](../operation-guide/e The canvas is mainly divided into: -- canvas: Display the data queried by VID, Tag or subgraph. +- Canvas: Display the data queried by VID, Tag or subgraph. - Vertexes and Edges overview: It is hidden by default and only displayed when the vertex and edge are selected on the current canvas. Click on the icon in the following, and the user can open the menu to view the detailed data of the selected vertexes and edges in the current canvas. From 6e177c1ea77186ba7612263d5bfe87169b02b3fc Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Thu, 2 Sep 2021 17:26:32 +0800 Subject: [PATCH 058/101] Update 6.list.md --- docs-2.0/3.ngql-guide/3.data-types/6.list.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/3.ngql-guide/3.data-types/6.list.md b/docs-2.0/3.ngql-guide/3.data-types/6.list.md index dc5a72899b5..750c826c95e 100644 --- a/docs-2.0/3.ngql-guide/3.data-types/6.list.md +++ b/docs-2.0/3.ngql-guide/3.data-types/6.list.md @@ -216,7 +216,7 @@ nebula> MATCH p = (n:player{name:"Tim Duncan"})-[:follow]->(m) \ ``` - A composite data type (i.e., set, map, and list) **CAN NOT** be stored as properties for vertices or edges. - - + It is recommended to modify the graph modeling method. The composite data type should be modeled as an adjacent edge of a vertex, rather than its property. Each adjacent edge can be dynamically added or deleted. The rank values of the adjacent edges can be used for sequencing. + + It is recommended to modify the graph modeling method. The composite data type should be modeled as an adjacent edge of a vertex, rather than its property. Each adjacent edge can be dynamically added or deleted. The rank values of the adjacent edges can be used for sequencing. - Patterns are not supported in the list. For example, `[(src)-[]->(m) | m.name]`. From 61c93f8193b169c67e810089105f817b6266d6e9 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 2 Sep 2021 17:28:38 +0800 Subject: [PATCH 059/101] Update 3.deploy-listener.md --- .../6.deploy-text-based-index/3.deploy-listener.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs-2.0/4.deployment-and-installation/6.deploy-text-based-index/3.deploy-listener.md b/docs-2.0/4.deployment-and-installation/6.deploy-text-based-index/3.deploy-listener.md index c0c596657e9..8ae2d6b8c3c 100644 --- a/docs-2.0/4.deployment-and-installation/6.deploy-text-based-index/3.deploy-listener.md +++ b/docs-2.0/4.deployment-and-installation/6.deploy-text-based-index/3.deploy-listener.md @@ -74,9 +74,9 @@ ADD LISTENER ELASTICSEARCH [,, ...] Add all Listeners in one statement completely. -```ngql -nebula> ADD LISTENER ELASTICSEARCH 192.168.8.5:9789,192.168.8.6:9789; -``` + ```ngql + nebula> ADD LISTENER ELASTICSEARCH 192.168.8.5:9789,192.168.8.6:9789; + ``` ## Show Listeners From 6e62b4460f8403eacacb4e68b4d9a897f9322fca Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 2 Sep 2021 17:30:35 +0800 Subject: [PATCH 060/101] Update 1.search-with-text-based-index.md --- .../1.search-with-text-based-index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md b/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md index 5f0746bce71..4c6c31c52c1 100644 --- a/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md +++ b/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md @@ -18,13 +18,13 @@ A natural language search interprets the search string as a phrase in natural hu ## Syntax -## Create full-text indexes +### Create full-text indexes ```ngql CREATE {TAG | EDGE} INDEX ON { | } ([]); ``` -## Show full-text indexes +### Show full-text indexes ```ngql SHOW FULLTEXT INDEXES; From 8fb6a4303508a0ae8a54cbbcf7842c300556b39a Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 2 Sep 2021 17:30:35 +0800 Subject: [PATCH 061/101] fix --- docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md | 4 ++-- docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md | 4 ++-- .../1.search-with-text-based-index.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md b/docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md index 93548795503..014733db4c8 100644 --- a/docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md +++ b/docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md @@ -23,8 +23,8 @@ prop_value_list: !!! Note - - `IF NOT EXISTS` only compares the names of the VID and the tag (excluding properties). - - `IF NOT EXISTS` will read to check whether the data exists, which will have a significant impact on performance. + - `IF NOT EXISTS` only compares the names of the VID and the tag (excluding properties). + - `IF NOT EXISTS` will read to check whether the data exists, which will have a significant impact on performance. * `tag_name` denotes the tag (vertex type), which must be created before `INSERT VERTEX`. For more information, see [CREATE TAG](../10.tag-statements/1.create-tag.md). diff --git a/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md b/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md index 02051e1d53c..b7bf209a9d3 100644 --- a/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md +++ b/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md @@ -22,8 +22,8 @@ INSERT EDGE [IF NOT EXISTS] ( ) {VALUES | VALUE} !!! Note - - `IF NOT EXISTS` only detects whether exist and does not detect whether the property values overlap. - - `IF NOT EXISTS` will read to check whether the data exists, which will have a significant impact on performance. + - `IF NOT EXISTS` only detects whether exist and does not detect whether the property values overlap. + - `IF NOT EXISTS` will read to check whether the data exists, which will have a significant impact on performance. * `` denotes the edge type, which must be created before `INSERT EDGE`. Only one edge type can be specified in this statement. diff --git a/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md b/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md index 5f0746bce71..4c6c31c52c1 100644 --- a/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md +++ b/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md @@ -18,13 +18,13 @@ A natural language search interprets the search string as a phrase in natural hu ## Syntax -## Create full-text indexes +### Create full-text indexes ```ngql CREATE {TAG | EDGE} INDEX ON { | } ([]); ``` -## Show full-text indexes +### Show full-text indexes ```ngql SHOW FULLTEXT INDEXES; From 3b7260e005b833a93147f07efcd84173ba6b4068 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 2 Sep 2021 17:39:11 +0800 Subject: [PATCH 062/101] Update 4.job-statements.md --- .../4.job-statements.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/3.ngql-guide/18.operation-and-maintenance-statements/4.job-statements.md b/docs-2.0/3.ngql-guide/18.operation-and-maintenance-statements/4.job-statements.md index 060b5b79dd6..136b1367d0b 100644 --- a/docs-2.0/3.ngql-guide/18.operation-and-maintenance-statements/4.job-statements.md +++ b/docs-2.0/3.ngql-guide/18.operation-and-maintenance-statements/4.job-statements.md @@ -132,7 +132,7 @@ nebula> SHOW JOBS; +--------+----------------------+------------+-------------------------+-------------------------+ ``` -### STOP JOB +## STOP JOB The `STOP JOB` statement stops jobs that are not finished. @@ -147,7 +147,7 @@ nebula> STOP JOB 22; +---------------+ ``` -### RECOVER JOB +## RECOVER JOB The `RECOVER JOB` statement re-executes the failed jobs and returns the number of recovered jobs. From e71098bc916123610953fff046dfeaada63c78f3 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 2 Sep 2021 18:14:45 +0800 Subject: [PATCH 063/101] math --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index d00b5f57c59..4eb61005043 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -447,6 +447,7 @@ plugins: cover_logo: 'https://cloud-cdn.nebula-graph.com.cn/nebula-for-pdf.png' output_path: pdf/NebulaGraph-EN.pdf show_anchors: true + render_js: true google_analytics: - UA-60523578-16 From eed0a82c4738dac8ff73713c2ba330bcea88970a Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Thu, 2 Sep 2021 19:18:46 +0800 Subject: [PATCH 064/101] Update 2.match.md (#688) --- docs-2.0/3.ngql-guide/7.general-query-statements/2.match.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs-2.0/3.ngql-guide/7.general-query-statements/2.match.md b/docs-2.0/3.ngql-guide/7.general-query-statements/2.match.md index 339cdef15d2..4e19064d9b9 100644 --- a/docs-2.0/3.ngql-guide/7.general-query-statements/2.match.md +++ b/docs-2.0/3.ngql-guide/7.general-query-statements/2.match.md @@ -183,7 +183,7 @@ nebula> MATCH (v:player { name: 'Tim Duncan' })--(v2) \ You can use the `--` symbol to represent edges of both directions and match vertices connected by these edges. -!!! Legacy version compatibility +!!! compatibility "Legacy version compatibility" In nGQL 1.x, the `--` symbol is used for inline comments. Starting from nGQL 2.x, the `--` symbol represents an incoming or outgoing edge. @@ -284,7 +284,7 @@ nebula> MATCH p=(v:player{name:"Tim Duncan"})-->(v2) \ +-------------------------------------------+ ``` -!!! note "OpenCypher compatibility" +!!! compatibility "OpenCypher compatibility" In nGQL, the `@` symbol represents the rank of an edge, but openCypher has no such concept. @@ -426,7 +426,7 @@ You can use the `:*[minHop]..` pattern to match variable-leng |`minHop`|Optional. It represents the minimum length of the path. `minHop` must be a non-negative integer. The default value is 1.| |`maxHop`|Required. It represents the maximum length of the path. `maxHop` must be a non-negative integer. It has no default value.| -!!! note "OpenCypher compatibility" +!!! compatibility "OpenCypher compatibility" In openCypher, `maxHop` is optional and defaults to infinity. When no bounds are given, `..` can be omitted. However, in nGQL, `maxHop` is required. And `..` cannot be omitted. From 681990fbcaf7e05b54d6444a2d5d42dad43bca98 Mon Sep 17 00:00:00 2001 From: "max.zhu@vesoft.com" <86282370+izhuxiaoqing@users.noreply.github.com> Date: Fri, 3 Sep 2021 10:40:06 +0800 Subject: [PATCH 065/101] update (#689) --- docs-2.0/14.client/4.nebula-java-client.md | 4 +-- docs-2.0/14.client/5.nebula-python-client.md | 4 +-- .../about-studio/st-ug-limitations.md | 8 ++--- .../about-studio/st-ug-shortcuts.md | 4 +-- .../st-ug-what-is-graph-studio.md | 6 ++-- .../deploy-connect/st-ug-deploy.md | 31 ++++++++++--------- .../deploy-connect/st-ug-reset-connection.md | 2 +- .../quick-start/st-ug-create-schema.md | 4 +-- .../quick-start/st-ug-import-data.md | 16 ++++++---- .../quick-start/st-ug-plan-schema.md | 4 +-- 10 files changed, 45 insertions(+), 38 deletions(-) diff --git a/docs-2.0/14.client/4.nebula-java-client.md b/docs-2.0/14.client/4.nebula-java-client.md index acc2e51afff..ea08a69dab6 100644 --- a/docs-2.0/14.client/4.nebula-java-client.md +++ b/docs-2.0/14.client/4.nebula-java-client.md @@ -33,13 +33,13 @@ You have installed Java 8.0 or later versions. !!! note - We recommended that each thread use one session. If multiple threads use the same session, the performance will be reduced. + We recommend that each thread uses one session. If multiple threads use the same session, the performance will be reduced. When importing a Maven project with tools such as IDEA, set the following dependency in `pom.xml`. !!! note - `2.0.0-SNAPSHOT` indicates the daily development version that may have unknow issues. We recommend that you replace `2.0.0-SNAPSHOT` with a released version number to use a table version. + `2.0.0-SNAPSHOT` indicates the daily development version that may have unknown issues. We recommend that you replace `2.0.0-SNAPSHOT` with a released version number to use a table version. ```bash diff --git a/docs-2.0/14.client/5.nebula-python-client.md b/docs-2.0/14.client/5.nebula-python-client.md index 94b7acc4607..d81495dacfd 100644 --- a/docs-2.0/14.client/5.nebula-python-client.md +++ b/docs-2.0/14.client/5.nebula-python-client.md @@ -53,7 +53,7 @@ $ pip install nebula2-python== !!! note - To run unit tests in the development mode, install `requirements-dev.txt` instead. + To run unit tests in the development mode, install dependencies of `requirements-dev.txt`. 4. Run the following command to install Nebula Python. @@ -80,7 +80,7 @@ ok = connection_pool.init([('192.168.xx.1', 9669)], config) # Get the session from the connection pool. session = connection_pool.get_session('root', 'nebula') -# Selection a graph space. +# Select a graph space. session.execute('USE basketballplayer') # Run the SHOW TAGS statement. diff --git a/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md b/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md index b41f4032c74..e5593be5e34 100644 --- a/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md +++ b/docs-2.0/nebula-studio/about-studio/st-ug-limitations.md @@ -1,6 +1,6 @@ # Limitations -This article introduces the limitations of Studio. +This topic introduces the limitations of Studio. ## Nebula Graph versions @@ -17,7 +17,7 @@ This article introduces the limitations of Studio. ## Architecture -For now, Docker-based and RPM-based Studio v2.x supports x86_64 architecture only. +For now, Docker-based and RPM-based Studio v3.x supports x86_64 architecture only. ## Upload data -If you want to reset Nebula Graph, you can clear the connection and reconfigure the database +If you want to reset Nebula Graph, you can clear the connection and reconfigure the database. When the Studio is still connected to a Nebula Graph database, you can choose **setting > clear connect** at the toolbar. If the **Config Server** page is displayed on the browser, it means that Studio has successfully disconnected from the Nebula Graph database. \ No newline at end of file diff --git a/docs-2.0/nebula-studio/quick-start/st-ug-create-schema.md b/docs-2.0/nebula-studio/quick-start/st-ug-create-schema.md index 05eef9ffff1..1b2778b17c6 100644 --- a/docs-2.0/nebula-studio/quick-start/st-ug-create-schema.md +++ b/docs-2.0/nebula-studio/quick-start/st-ug-create-schema.md @@ -18,9 +18,9 @@ To create a graph schema on Studio, you must do a check of these: - A graph space is created. - !!! note +!!! note - If no graph space exists and your account has the GOD privilege, you can create a graph space on the **Console** page. For more information, see [CREATE SPACE](../../3.ngql-guide/9.space-statements/1.create-space.md). + If no graph space exists and your account has the GOD privilege, you can create a graph space on the **Console** page. For more information, see [CREATE SPACE](../../3.ngql-guide/9.space-statements/1.create-space.md). ## Create a schema with Schema diff --git a/docs-2.0/nebula-studio/quick-start/st-ug-import-data.md b/docs-2.0/nebula-studio/quick-start/st-ug-import-data.md index a233ef34e68..7bf3414425c 100644 --- a/docs-2.0/nebula-studio/quick-start/st-ug-import-data.md +++ b/docs-2.0/nebula-studio/quick-start/st-ug-import-data.md @@ -10,7 +10,7 @@ To batch import data, do a check of these: - A schema is created. -- CSV files for vertex and edge data separately are created. +- CSV files meet the demands of the Schema. - Your account has privilege of GOD, ADMIN, DBA, or USER. @@ -22,7 +22,7 @@ To batch import data, follow these steps: 2. On the **Select Space** page, choose a graph space name. In this example, **basketballplayer** is used. And then click the **Next** button. -3. On the **Upload Files** page, click the **Upload Files** button and then choose CSV files. In this example, `edge_serve.csv`, `edge_follow.csv`, `vertex_player.csv` and `vertex_team.csv` are chosen. +3. On the **Upload Files** page, click the **Upload Files** button and then choose CSV files. In this example, `edge_serve.csv`, `edge_follow.csv`, `vertex_player.csv`, and `vertex_team.csv` are chosen. !!! note @@ -39,12 +39,16 @@ To batch import data, follow these steps: a. In the **CSV Index** column, click **Mapping**. ![Click "Mapping** in the CSV Index column](../figs/st-ug-032-1.png "Choose the source for vertexId") - b. In the dialog box, choose a column from the CSV file. In this example, the only one cloumn of `vertex_player.csv` is chosen to generate VIDs representing users and the `playerID` column of `vertex_player.csv` is chosen to generate VIDs representing courses. + b. In the dialog box, choose a column from the CSV file. In this example, the only one cloumn of `vertex_player.csv` is chosen to generate VIDs representing players and the `playerID` column of `vertex_player.csv` is chosen to generate VIDs representing players. + + !!! Note + + In the same graph space, the VID is always unique and cannot be repeated. For VID information, see [VID](../../1.introduction/3.vid.md) "Click to enter the Nebula Graph Manual". 8. In the **TAG 1** section, do these operations: a. In the **TAG** drop-down list, choose a tag name. In this example, **player** is used for the `vertex_player.csv` file, and **team** is used for the `vertex_team.csv` file. - b. In the property list, click **Mapping** to choose a data column from the CSV file as the value of a property. In this example,for the **player** tag, choose **Column 1** for the `age` property and set its type to **int**. And choose **Column 2** for the `name` property and set its type to **string**. + b. In the property list, click **Mapping** to choose a data column from the CSV file as the value of a property. In this example, for the **player** tag, choose **Column 1** for the `age` property and set its type to **int**. And choose **Column 2** for the `name` property and set its type to **string**. ![Data source for the course vertices](../figs/st-ug-033-1.png "Choose data source for tag properties") @@ -57,7 +61,7 @@ To batch import data, follow these steps: 12. In the **Type** drop-down list, choose an edge type name. In this example, **follow** is chosen. -13. In the property list, click **Mapping** to choose a column from the `edge_follow.csv` file as values of a property for the edges. **srcId** and **dstId** are the VIDs of the source vertex and destination vertex of an edge. In this example, **srcId** must be set to the VIDs of the player and **dstId** must be set to the VIDs of another player. **rank** is optional. +13. In the property list, click **Mapping** to choose a column from the `edge_follow.csv` file as values of a property for the edges. **srcId** and **dstId** are the VIDs of the source vertex and destination vertex of an edge. In this example, **srcId** must be set to the VIDs of the player and **dstId** must be set to the VIDs of another player. **Rank** is optional. ![Data source for the action edges](../figs/st-ug-034-1.png "Choose data source for the edge type properties") @@ -68,4 +72,4 @@ To batch import data, follow these steps: ## Next to do -When the data are imported to Nebula Graph v2.x, you can [query graph data](st-ug-explore.md). +When the data are imported to v{{nebula.release}}, you can [query graph data](st-ug-explore.md). diff --git a/docs-2.0/nebula-studio/quick-start/st-ug-plan-schema.md b/docs-2.0/nebula-studio/quick-start/st-ug-plan-schema.md index 5b840cda929..a790071cbe6 100644 --- a/docs-2.0/nebula-studio/quick-start/st-ug-plan-schema.md +++ b/docs-2.0/nebula-studio/quick-start/st-ug-plan-schema.md @@ -19,6 +19,6 @@ This table gives all the essential elements of the schema. | Edge type | **serve** | - `start_year` (`int`)
- `end_year` (`int`) | Represent the players behavior.
This behavior connects the player to the team, and the direction is from player to team. | | Edge type | **follow** | - `degree` (`int`) | Represent the players behavior.
This behavior connects the player to the player, and the direction is from a player to a player. | -This figure shows the relationship (**action**) between a **user** and a **course** on the MOOC platform. +This figure shows the relationship (**serve**/**follow**) between a **player** and a **team**. -![Users take actions on a MOOC platform](../figs/st-ug-006-1.png "Relationship between users and courses in the example dataset") +![The relationship between players and between players and teams](../figs/st-ug-006-1.png "Relationship between players and teams in the example dataset") From ef43c0a8bc232cd04ede0ac71d5e733feb8aabd1 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Fri, 3 Sep 2021 10:53:20 +0800 Subject: [PATCH 066/101] Update st-ug-console.md --- docs-2.0/nebula-studio/use-console/st-ug-console.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/nebula-studio/use-console/st-ug-console.md b/docs-2.0/nebula-studio/use-console/st-ug-console.md index f1655ecda47..94e7a2689c2 100644 --- a/docs-2.0/nebula-studio/use-console/st-ug-console.md +++ b/docs-2.0/nebula-studio/use-console/st-ug-console.md @@ -17,4 +17,4 @@ The following table lists various functions on the console interface. | 7 | statement running status | After running the nGQL statement, the statement running status is displayed. If the statement runs successfully, the statement is displayed in green. If the statement fails, the statement is displayed in red. | | 8 | result window | Display the results of the statement execution. If the statement returns results, the results window will display the returned results in tabular form. | | 9 | export CSV file | After running the nGQL statement and return the result, click the **Export CSV File** button to export the result as a CSV file. | -| 10 | open in explore | According to the running nGQL statement, the user can click the graph exploration function key to import the returned results into graph exploration for visual display, such as [open in explore](../use-console/st-ug-open-in-explore.md) and [view subgraphs](../use-console/st-ug-visualize-subgraph.md). | +| 10 | open in explore | According to the running nGQL statement, the user can click the graph exploration function key to import the returned results into graph exploration for visual display, such as [open in explore](st-ug-open-in-explore.md) and [view subgraphs](st-ug-visualize-subgraph.md). | From de61f8d320068528abb69c7a1925518100275115 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Fri, 3 Sep 2021 10:59:41 +0800 Subject: [PATCH 067/101] Update source_install-nebula-graph-by-rpm-or-deb.md --- docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md b/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md index ac93b8dbb34..783a1a8fcfa 100644 --- a/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md +++ b/docs-2.0/reuse/source_install-nebula-graph-by-rpm-or-deb.md @@ -2,7 +2,7 @@ RPM and DEB are common package formats on Linux systems. This topic shows how to ## Prerequisites -Prepare the right [resources](../4.deployment-and-installation/1.resource-preparations.md). +Prepare the right [resources](https://docs.nebula-graph.io/{{nebula.release}}/4.deployment-and-installation/1.resource-preparations/). !!! note @@ -133,5 +133,5 @@ Prepare the right [resources](../4.deployment-and-installation/1.resource-prepar ## What's next -- [start Nebula Graph](/2.5.0/2.quick-start/5.start-stop-service) -- [connect to Nebula Graph](/2.5.0/2.quick-start/3.connect-to-nebula-graph) \ No newline at end of file +- [start Nebula Graph](https://docs.nebula-graph.io/{{nebula.release}}/2.quick-start/5.start-stop-service/) +- [connect to Nebula Graph](https://docs.nebula-graph.io/{{nebula.release}}/2.quick-start/3.connect-to-nebula-graph/) From 3d46d7581f79b4c4304bc23e337825aed65cbb79 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Fri, 3 Sep 2021 11:02:12 +0800 Subject: [PATCH 068/101] Update source_connect-to-nebula-graph.md --- docs-2.0/reuse/source_connect-to-nebula-graph.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/reuse/source_connect-to-nebula-graph.md b/docs-2.0/reuse/source_connect-to-nebula-graph.md index 5e788a32044..64810bfc57d 100644 --- a/docs-2.0/reuse/source_connect-to-nebula-graph.md +++ b/docs-2.0/reuse/source_connect-to-nebula-graph.md @@ -2,7 +2,7 @@ Nebula Graph supports multiple types of clients, including a CLI client, a GUI c ## Nebula Graph clients -You can use supported [clients or console](../20.appendix/6.eco-tool-version.md) to connect to Nebula Graph. +You can use supported [clients or console](https://docs.nebula-graph.io/{{nebula.release}}/20.appendix/6.eco-tool-version/) to connect to Nebula Graph. * The machine you plan to run Nebula Console on has network access to the Nebula Graph services. ### Steps From 95ceec3116b9648e9f82551ec96f2a8a64eddd71 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Fri, 3 Sep 2021 11:03:07 +0800 Subject: [PATCH 069/101] Update source_manage-service.md --- docs-2.0/reuse/source_manage-service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/reuse/source_manage-service.md b/docs-2.0/reuse/source_manage-service.md index 11bc0a4bd6e..b49f8874f8f 100644 --- a/docs-2.0/reuse/source_manage-service.md +++ b/docs-2.0/reuse/source_manage-service.md @@ -173,4 +173,4 @@ nebula-docker-compose]$ docker exec -it 2a6c56c405f5 bash ## What's next -[Connect to Nebula Graph](../2.quick-start/3.connect-to-nebula-graph.md) \ No newline at end of file +[Connect to Nebula Graph](https://docs.nebula-graph.io/{{nebula.release}}/2.quick-start/3.connect-to-nebula-graph/) From 5b3107c80a1d21ec049324d92c98fe52f0d03473 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Fri, 3 Sep 2021 11:24:35 +0800 Subject: [PATCH 070/101] Update 3.deploy-nebula-graph-with-docker-compose.md --- .../3.deploy-nebula-graph-with-docker-compose.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md index a998a655050..f449baafd0d 100644 --- a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md +++ b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md @@ -271,6 +271,6 @@ The data format has been modified on Jan 27, 2021, and is incompatible with the ## Related documents -- [Install and deploy Nebula Graph with the source code](../4.deployment-and-installation/2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) -- [Install Nebula Graph by RPM or DEB](../4.deployment-and-installation/2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md) -- [Connect to Nebula Graph](../connect-to-nebula-graph.md) \ No newline at end of file +- [Install and deploy Nebula Graph with the source code](1.install-nebula-graph-by-compiling-the-source-code.md) +- [Install Nebula Graph by RPM or DEB](2.install-nebula-graph-by-rpm-or-deb.md) +- [Connect to Nebula Graph](../connect-to-nebula-graph.md) From 8eee6070f0a10e7918e4ed2f9586a182af6c7159 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Fri, 3 Sep 2021 11:27:01 +0800 Subject: [PATCH 071/101] Update upgrade-nebula-graph-to-250.md --- .../3.upgrade-nebula-graph/upgrade-nebula-graph-to-250.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-250.md b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-250.md index 809d769c9e0..91b30602678 100644 --- a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-250.md +++ b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-250.md @@ -89,9 +89,9 @@ By default, old versions of Nebula Graph are installed in `/usr/local/nebula/`, # sudo dpkg -i --instdir==${nebula-new} ${nebula-package-name.deb} # for ubuntu ``` - For detailed steps, see [Install Nebula Graph with RPM or DEB package](2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md). + For detailed steps, see [Install Nebula Graph with RPM or DEB package](../2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md). - - To install with the source code, follow the substeps. For detailed steps, see [Install Nebula Graph by compiling the source code](2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md). Some key commands are as follows. + - To install with the source code, follow the substeps. For detailed steps, see [Install Nebula Graph by compiling the source code](../2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md). Some key commands are as follows. - Clone the source code. @@ -136,7 +136,7 @@ By default, old versions of Nebula Graph are installed in `/usr/local/nebula/`, - [Optional]Add the following parameters in the Meta configuration files if you need them. - `--null_type=false`: Disables the support for using [`NULL`](../../3.ngql-guide/3.data-types/5.null.md).**The default value is `true`**. When set to `false`, you must specify a [default value](../3.ngql-guide/10.tag-statements/1.create-tag.md) when altering tags or edge types, otherwise, data reading fails. + `--null_type=false`: Disables the support for using [`NULL`](../../3.ngql-guide/3.data-types/5.null.md).**The default value is `true`**. When set to `false`, you must specify a [default value](../../3.ngql-guide/10.tag-statements/1.create-tag.md) when altering tags or edge types, otherwise, data reading fails. `--string_index_limit=32`: Specifies the [index length](../../3.ngql-guide/14.native-index-statements/1.create-native-index.md) for string values as 32. The default length is 64. From c282569fbec0d3899b3060757b83499f97582159 Mon Sep 17 00:00:00 2001 From: "max.zhu@vesoft.com" <86282370+izhuxiaoqing@users.noreply.github.com> Date: Fri, 3 Sep 2021 14:37:25 +0800 Subject: [PATCH 072/101] Update (#691) * update * update --- .../manage-schema/st-ug-crud-edge-type.md | 16 ++++++-------- .../manage-schema/st-ug-crud-index.md | 5 ++--- .../manage-schema/st-ug-crud-space.md | 13 +++++------ .../manage-schema/st-ug-crud-tag.md | 22 +++++++++---------- .../st-ug-config-server-errors.md | 2 +- .../troubleshooting/st-ug-faq.md | 17 ++++++-------- .../use-console/st-ug-open-in-explore.md | 4 ++++ .../use-console/st-ug-visualize-subgraph.md | 4 ++++ 8 files changed, 42 insertions(+), 41 deletions(-) diff --git a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-edge-type.md b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-edge-type.md index 08d33b330dd..5527d720154 100644 --- a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-edge-type.md +++ b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-edge-type.md @@ -1,6 +1,6 @@ # Operate edge types -After a graph space is created in Nebula Graph, you can create edge types. With Studio, you can choose to use the **Console** page or the **Schema** page to create, retrieve, update, or delete edge types. This article only introduces how to use the **Schema** page to operate edge types in a graph space. +After a graph space is created in Nebula Graph, you can create edge types. With Studio, you can choose to use the **Console** page or the **Schema** page to create, retrieve, update, or delete edge types. This topic introduces how to use the **Schema** page to operate edge types in a graph space only. ## Studio version @@ -28,27 +28,25 @@ To create an edge type on the **Schema** page, follow these steps: 5. On the **Create** page, do these settings: - a. **Name**: Specify an appropriate name for the edge type. In this example, `serve` is used. + - **Name**: Specify an appropriate name for the edge type. In this example, `serve` is used. - b. (Optional) If necessary, under the name, click the **Comment** to input content. + - (Optional) If necessary, under the name, click the **Comment** to input content. - c. (Optional) If necessary, in the upper left corner of the **Define Properties** panel, click the check box to expand the panel and do these settings: + - (Optional) If necessary, in the upper left corner of the **Define Properties** panel, click the check box to expand the panel and do these settings: - To define a property: Enter a property name, a data type, and a default value. - To add multiple properties: Click the **Add Property** button and define more properties. - - To cancel a defined property: Besides the **Defaults** column, click the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "Cancel"). + - To delete a defined property: Besides the **Defaults** column, click the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "Cancel"). - d. (Optional) If no index is set for the edge type, you can set the TTL configuration: In the upper left corner of the **Set TTL** panel, click the check box to expand the panel, and configure `TTL_COL` and `TTL_ DURATION`. For more information about both parameters, see [TTL configuration](../../3.ngql-guide/8.clauses-and-options/ttl-options.md "Click to go to Nebula Graph website"). + - (Optional) If no index is set for the edge type, you can set the TTL configuration: In the upper left corner of the **Set TTL** panel, click the check box to expand the panel, and configure `TTL_COL` and `TTL_ DURATION`. For more information about both parameters, see [TTL configuration](../../3.ngql-guide/8.clauses-and-options/ttl-options.md "Click to go to Nebula Graph website"). 6. When the preceding settings are completed, in the **Equivalent to the following nGQL statement** panel, you can see the nGQL statement equivalent to these settings. ![Define properties of the `action` edge type](../figs/st-ug-027-1.png "Define an edge type") -7. Confirm the settings and then click the **+ Create** button. - -When the edge type is created successfully, the **Define Properties** panel shows all its properties on the list. +7. Confirm the settings and then click the **+ Create** button. When the edge type is created successfully, the **Define Properties** panel shows all its properties on the list. ## Edit an edge type diff --git a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md index 38030aea19f..5cb8f9cf88a 100644 --- a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md +++ b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-index.md @@ -1,6 +1,6 @@ # Operate Indexes -You can create an index for a Tag and/or an Edge type. An index lets traversal start from vertices or edges with the same property and it can make a query more efficient. You can create two index types: Tag Index and Edge type Index. With Studio, you can use the **Console** page or the **Schema** page to create, retrieve, and delete indexes. This article introduces how to use the **Schema** page to operate an index. +You can create an index for a Tag and/or an Edge type. An index lets traversal start from vertices or edges with the same property and it can make a query more efficient. You can create two index types: Tag Index and Edge type Index. With Studio, you can use the **Console** page or the **Schema** page to create, retrieve, and delete indexes. This topic introduces how to use the **Schema** page to operate an index only. !!! note @@ -46,8 +46,7 @@ To create an index on the **Schema** page, follow these steps: ![A page for index creation](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-030.png "Create an index") -7. Confirm the settings and then click the **+ Create** button. - When an index is created, the index list shows the new index. +7. Confirm the settings and then click the **+ Create** button. When an index is created, the index list shows the new index. ## View indexes diff --git a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-space.md b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-space.md index 8469567399a..a4e2e00a736 100644 --- a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-space.md +++ b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-space.md @@ -23,15 +23,15 @@ To create a graph space on the **Schema** page, follow these steps: 2. On the **Graph Space List** page, click the **+ Create** button. 3. On the **Create** page, do these settings: - a. **Name**: Specify a name to the new graph space. In this example, `basketballplayer` is used. The name must be distinct in the database. The name cannot be used keywords or reserved keywords as identifiers. For more information, see [keywords](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). + - **Name**: Specify a name to the new graph space. In this example, `basketballplayer` is used. The name must be distinct in the database. The name cannot be used keywords or reserved keywords as identifiers. For more information, see [keywords](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). - b. **Vid type**: The data types of VIDs are restricted to `FIXED_STRING()` or `INT64`; a graph space can only select one VID type, `FIXED_STRING(32)` is used. For more information, see [VID](../../1.introduction/3.vid.md). + - **Vid type**: The data types of VIDs are restricted to `FIXED_STRING()` or `INT64`. A graph space can only select one VID type. In this example, `FIXED_STRING(32)` is used. For more information, see [VID](../../1.introduction/3.vid.md). - c. **Comment**: The remarks of a certain property or the space itself. The maximum length is 256 bytes. By default, there will be no comments on a space. But in this example, `Statistics of basketball players` is used. + - **Comment**: The remarks of a certain property or the space itself. The maximum length is 256 bytes. By default, there will be no comments on a space. But in this example, `Statistics of basketball players` is used. - d. **Optional Parameters**: Set `partition_num`, `replica_factor`. In this example, these parameters are set to `100` and `1` separately. For more information, see [`CREATE SPACE` syntax](../../3.ngql-guide/9.space-statements/1.create-space.md "Click to go to the Nebula Graph website"). + - **Optional Parameters**: Set the values of `partition_num` and `replica_factor` respectively. In this example, these parameters are set to `100` and `1` respectively. For more information, see [`CREATE SPACE` syntax](../../3.ngql-guide/9.space-statements/1.create-space.md "Click to go to the Nebula Graph website"). - In the **Equivalent to the following nGQL statement** panel, you can see the statement equivalent to the preceding settings. + In the **Equivalent to the following nGQL statement** panel, you can see the statement equivalent to the preceding settings. ```bash CREATE SPACE basketballplayer (partition_num = 100, replica_factor = 1, vid_type = FIXED_STRING(32)) COMMENT = "Statistics of basketball players" @@ -53,8 +53,7 @@ To delete a graph space on the **Schema** page, follow these steps: 2. In the graph space list, find a graph space and then the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-017.png "Delete") in the **Operations** column. ![Graph space list with the graph space to be deleted](./../figs/st-ug-029.png) -3. On the dialog box, confirm the information and then click the **OK** button. - When the graph space is deleted successfully, it is removed from the graph space list. +3. On the dialog box, confirm the information and then click the **OK** button. When the graph space is deleted successfully, it is removed from the **graph space list**. ## Next to do diff --git a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-tag.md b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-tag.md index 1c983f8aa48..aa0a742073c 100644 --- a/docs-2.0/nebula-studio/manage-schema/st-ug-crud-tag.md +++ b/docs-2.0/nebula-studio/manage-schema/st-ug-crud-tag.md @@ -1,6 +1,6 @@ # Operate tags -After a graph space is created in Nebula Graph, you can create tags. With Studio, you can use the **Console** page or the **Schema** page to create, retrieve, update, or delete tags. This article only introduces how to use the **Schema** page to operate tags in a graph space. +After a graph space is created in Nebula Graph, you can create tags. With Studio, you can use the **Console** page or the **Schema** page to create, retrieve, update, or delete tags. This topic introduces how to use the **Schema** page to operate tags in a graph space only. ## Studio version @@ -28,25 +28,23 @@ To create a tag on the **Schema** page, follow these steps: 5. On the **Create** page, do these settings: - a. **Name**: Specify an appropriate name for the tag. In this example, `course` is specified. + a. **Name**: Specify an appropriate name for the tag. In this example, `player` and `team` are specified. - b. (Optional) If necessary, in the upper left corner of the **Define Properties** panel, click the check box to expand the panel and do these settings: + b. (Optional) If necessary, in the upper left corner of the **Define Properties** panel, click the check box to expand the panel and do these settings: - - To define a property: Enter a property name, a data type, and a default value. + - To define a property: Enter a property name, a data type, and a default value. - - To add multiple properties: Click the **Add Property** button and define more properties. + - To add multiple properties: Click the **Add Property** button and define more properties. - - To cancel a defined property: Besides the **Defaults** column, click the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "Cancel"). + - To cancel a defined property: Besides the **Defaults** column, click the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "Cancel"). - c. (Optional) If no index is set for the tag, you can set the TTL configuration: In the upper left corner of the **Set TTL** panel, click the check box to expand the panel and configure `TTL_COL` and `TTL_ DURATION`. For more information about both parameters, see [TTL configuration](../../3.ngql-guide/8.clauses-and-options/ttl-options.md "Click to go to Nebula Graph website"). + c. (Optional) If no index is set for the tag, you can set the TTL configuration: In the upper left corner of the **Set TTL** panel, click the check box to expand the panel and configure `TTL_COL` and `TTL_ DURATION`. For more information about both parameters, see [TTL configuration](../../3.ngql-guide/8.clauses-and-options/ttl-options.md "Click to go to Nebula Graph website"). 6. When the preceding settings are completed, in the **Equivalent to the following nGQL statement** panel, you can see the nGQL statement equivalent to these settings. ![Define properties of the `course` tag](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-028.png "Define a tag") -7. Confirm the settings and then click the **+ Create** button. - -When the tag is created successfully, the **Define Properties** panel shows all its properties on the list. +7. Confirm the settings and then click the **+ Create** button. When the tag is created successfully, the **Define Properties** panel shows all its properties on the list. ## Edit a tag @@ -62,7 +60,7 @@ To edit a tag on the **Schema** page, follow these steps: 5. On the **Edit** page, do these settings: - - To edit a Comment: Click **Edit** under the Name. + - To edit a Comment: Click **Edit** under the **Name**. - To edit a property: On the **Define Properties** panel, find a property, click **Edit**, and then change the data type or the default value. @@ -95,6 +93,8 @@ To delete a tag on the **Schema** page, follow these steps: 4. Click the **Tag** tab, find a tag and then the button ![Icon of deletion](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-017.png) in the **Operations** column. +5. CLick **OK**. + ## Next to do After the tag is created, you can use the **Console** page to insert vertex data one by one manually or use the **Import** page to bulk import vertex data. diff --git a/docs-2.0/nebula-studio/troubleshooting/st-ug-config-server-errors.md b/docs-2.0/nebula-studio/troubleshooting/st-ug-config-server-errors.md index 2670d3f3361..c2cb06fd0db 100644 --- a/docs-2.0/nebula-studio/troubleshooting/st-ug-config-server-errors.md +++ b/docs-2.0/nebula-studio/troubleshooting/st-ug-config-server-errors.md @@ -26,7 +26,7 @@ Check Nebula Graph service status. Regarding the operation of viewing services: - If you use Nebula Graph deployed by Docker Compose and RPM, refer to the [Nebula Graph service status and ports](../deploy-connect/st-ug-deploy.md). -If the Nebula Graph service is normal, proceed to Step4 to continue troubleshooting. Otherwise, please restart Nebula Graph service. +If the Nebula Graph service is normal, proceed to Step 4 to continue troubleshooting. Otherwise, please restart Nebula Graph service. !!! Note diff --git a/docs-2.0/nebula-studio/troubleshooting/st-ug-faq.md b/docs-2.0/nebula-studio/troubleshooting/st-ug-faq.md index 1f785088211..692aa0ef395 100644 --- a/docs-2.0/nebula-studio/troubleshooting/st-ug-faq.md +++ b/docs-2.0/nebula-studio/troubleshooting/st-ug-faq.md @@ -1,13 +1,10 @@ # FAQ -!!! faq "Why can't I use a function?" +**Why can't I use a function?** - If you find that a function cannot be used, it is recommended to troubleshoot the problem according to the following steps: - - 1. Confirm that Nebula Graph is the latest version. If you use Docker Compose to deploy the Nebula Graph database, it is recommended to run `docker-compose pull && docker-compose up -d` to pull the latest Docker image and start the container. - - 2. Confirm that Studio is the latest version. For more information, refer to [check updates](../about-studio/st-ug-check-updates.md). - - 3. Search the [nebula forum](https://discuss.nebula-graph.io/), [nebula](https://github.com/vesoft-inc/nebula) and [nebula-studio](https://github.com/vesoft-inc/nebula-studio) projects on the GitHub to confirm if there are already similar problems. - - 4. If none of the above steps solve the problem, you can submit a problem on the forum. +If you find that a function cannot be used, it is recommended to troubleshoot the problem according to the following steps: + +1. Confirm that Nebula Graph is the latest version. If you use Docker Compose to deploy the Nebula Graph database, it is recommended to run `docker-compose pull && docker-compose up -d` to pull the latest Docker image and start the container. +2. Confirm that Studio is the latest version. For more information, refer to [check updates](../about-studio/st-ug-check-updates.md). +3. Search the [nebula forum](https://discuss.nebula-graph.io/), [nebula](https://github.com/vesoft-inc/nebula) and [nebula-studio](https://github.com/vesoft-inc/nebula-studio) projects on the GitHub to confirm if there are already similar problems. +4. If none of the above steps solve the problem, you can submit a problem on the forum. diff --git a/docs-2.0/nebula-studio/use-console/st-ug-open-in-explore.md b/docs-2.0/nebula-studio/use-console/st-ug-open-in-explore.md index 30668a50d6e..fb76c49a09d 100644 --- a/docs-2.0/nebula-studio/use-console/st-ug-open-in-explore.md +++ b/docs-2.0/nebula-studio/use-console/st-ug-open-in-explore.md @@ -2,6 +2,10 @@ With the **Open in Explore** function, you can run nGQL statements on the **Console** page to query vertex or edge data and then view the result on the **Explore** page in a visualized way. +## Supported versions + +Studio of v{{ studio.release }} or later versions supports this function. For more information, see [check updates](../about-studio/st-ug-check-updates.md). + ## Prerequisites To use the **Open in Explore** function, you must do a check of these: diff --git a/docs-2.0/nebula-studio/use-console/st-ug-visualize-subgraph.md b/docs-2.0/nebula-studio/use-console/st-ug-visualize-subgraph.md index 538971d09da..a33cd62f67b 100644 --- a/docs-2.0/nebula-studio/use-console/st-ug-visualize-subgraph.md +++ b/docs-2.0/nebula-studio/use-console/st-ug-visualize-subgraph.md @@ -16,6 +16,10 @@ To use the **View Subgraphs** function, you must do a check of these: - A dataset exists in the database. In the example of this article, the **basketballplayer** dataset is used. For more information, see [Import data](../quick-start/st-ug-import-data.md). +!!! Note + + Users can view subgraphs online in [Studio](https://playground.nebula-graph.com.cn/explore). + ## Procedure To query the paths or subgraph on the **Console** page and then view them on the **Explore** page, follow these steps: From 38e30c0d0374748169a8800d17b2a4cacac081f3 Mon Sep 17 00:00:00 2001 From: "max.zhu@vesoft.com" <86282370+izhuxiaoqing@users.noreply.github.com> Date: Fri, 3 Sep 2021 16:46:57 +0800 Subject: [PATCH 073/101] Upgrade dashboard (#692) * Delete search.html (#676) * upgrade dashboard Co-authored-by: min.wu <50101159+whitewum@users.noreply.github.com> --- .../nebula-dashboard/1.what-is-dashboard.md | 2 +- .../nebula-dashboard/2.deploy-dashboard.md | 81 +++++++++++-------- 2 files changed, 47 insertions(+), 36 deletions(-) diff --git a/docs-2.0/nebula-dashboard/1.what-is-dashboard.md b/docs-2.0/nebula-dashboard/1.what-is-dashboard.md index a24b9c25a16..7a716d43d38 100644 --- a/docs-2.0/nebula-dashboard/1.what-is-dashboard.md +++ b/docs-2.0/nebula-dashboard/1.what-is-dashboard.md @@ -12,7 +12,7 @@ Dashboard monitors: - The information of clusters, including the information of services, partitions, configurations, and long-term tasks. -Features of the enterprise package (TODO: planning) +- Features of the enterprise package (TODO: planning) !!! enterpriseonly diff --git a/docs-2.0/nebula-dashboard/2.deploy-dashboard.md b/docs-2.0/nebula-dashboard/2.deploy-dashboard.md index c3a7761a7d3..b93ffae2c83 100644 --- a/docs-2.0/nebula-dashboard/2.deploy-dashboard.md +++ b/docs-2.0/nebula-dashboard/2.deploy-dashboard.md @@ -8,7 +8,7 @@ The correspondence between the Dashboard release and the Nebula Graph release is |Dashboard|Nebula Graph| |:---|:---| -|{{dashboard.release}}|2.5.0, 2.0.1| +|{{dashboard.release}}|2.x| ## Port @@ -26,12 +26,11 @@ The deployment of Dashboard occupies the following ports: ## Download Dashboard -Download the configuration files for the deployment. +Download the tar package as needed, and it is recommended to select the latest version. -| Dashboard tar-package | Nebula Graph version | +| Dashboard package | Nebula Graph version | | :----- | :----- | -| [nebula-graph-dashboard-{{ dashboard.release }}.x86_64.tar.gz](https://oss-cdn.nebula-graph.io/nebula-graph-dashboard/{{ dashboard.release }}/nebula-graph-dashboard-{{ dashboard.release }}.x86_64.tar.gz) | 2.5.0 | - +| [nebula-graph-dashboard-{{ dashboard.release }}.x86_64.tar.gz](https://oss-cdn.nebula-graph.com.cn/nebula-graph-dashboard/{{ dashboard.release }}/nebula-graph-dashboard-{{ dashboard.release }}.x86_64.tar.gz) | v{{nebula.release}} | ## Service @@ -58,7 +57,7 @@ The above five services should be deployed as follows. To start the service, run the following statement in `node-exporter`: ```bash -$ nohup ./node-exporter --web.listen-address=:9100 & +$ nohup ./node-exporter --web.listen-address=":9100" & ``` After the service is started, you can enter `:9100` in the browser to check whether the service is started normally. @@ -73,40 +72,51 @@ After the service is started, you can enter `:9100` in the browser to check ```bash version: v0.0.4 - nebulaItems: - - instanceName: metad0 - endpointIP: 192.168.xx.1 - endpointPort: 19559 - componentType: metad - - instanceName: metad1 - endpointIP: 192.168.xx.2 - endpointPort: 19559 - componentType: metad - - instanceName: metad2 - endpointIP: 192.168.xx.3 - endpointPort: 19559 - componentType: metad - - instanceName: graphd0 - endpointIP: 192.168.xx.4 - endpointPort: 19669 - componentType: graphd - - instanceName: storaged0 - endpointIP: 192.168.xx.5 - endpointPort: 19779 - componentType: storaged - - instanceName: storaged1 - endpointIP: 192.168.xx.6 - endpointPort: 19779 - componentType: storaged - - instanceName: storaged2 - endpointIP: 192.168.xx.7 - endpointPort: 19779 + clusters: + - name: nebula + instances: + - name: metad0 + endpointIP: 192.168.8.157 + endpointPort: 19559 + componentType: metad + - name: metad1 + endpointIP: 192.168.8.155 + endpointPort: 19559 + componentType: metad + - name: metad2 + endpointIP: 192.168.8.154 + endpointPort: 19559 + componentType: metad + - name: graphd0 + endpointIP: 192.168.8.157 + endpointPort: 19669 + componentType: graphd + - name: graphd1 + endpointIP: 192.168.8.155 + endpointPort: 19669 + componentType: graphd + - name: graphd2 + endpointIP: 192.168.8.154 + endpointPort: 19669 + componentType: graphd + - name: storaged0 + endpointIP: 192.168.8.157 + endpointPort: 19779 + componentType: storaged + - name: storaged1 + endpointIP: 192.168.8.155 + endpointPort: 19779 + componentType: storaged + - name: storaged2 + endpointIP: 192.168.8.154 + endpointPort: 19779 + componentType: storaged ``` 2. Run the following statement to start the service: ```bash - $ nohup ./nebula-stats-exporter --bare-metal --bare-metal-config=./config.yaml & + $ nohup ./nebula-stats-exporter --listen-address=":9200" --bare-metal --bare-metal-config=./config.yaml & ``` After the service is started, you can enter `:9200` in the browser to check whether the service is started normally. @@ -128,6 +138,7 @@ After the service is started, you can enter `:9200` in the browser to check static_configs: - targets: [ '192.168.xx.100:9200', # The IP address and port of the nebula-stats-exporter service. + '192.168.xx.101:9200' ] - job_name: 'node-exporter' static_configs: From 1b2128a0608c8a973c1c6fc9807cb094855ad44d Mon Sep 17 00:00:00 2001 From: "max.zhu@vesoft.com" <86282370+izhuxiaoqing@users.noreply.github.com> Date: Fri, 3 Sep 2021 17:47:22 +0800 Subject: [PATCH 074/101] Upgrade vid (#693) * Delete search.html (#676) * Update 3.vid.md Co-authored-by: min.wu <50101159+whitewum@users.noreply.github.com> --- docs-2.0/1.introduction/3.vid.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/docs-2.0/1.introduction/3.vid.md b/docs-2.0/1.introduction/3.vid.md index edaee4d7ae2..626fdf2f996 100644 --- a/docs-2.0/1.introduction/3.vid.md +++ b/docs-2.0/1.introduction/3.vid.md @@ -48,19 +48,16 @@ VIDs can be generated via applications. Here are some tips: The data type of VIDs must be defined when you [create the graph space](../3.ngql-guide/9.space-statements/1.create-space.md). Once defined, it cannot be modified. - \ No newline at end of file + For example, `match (n) return n;` returns an error because `start vid` cannot be located at this time. As a global scan, it is forbidden. From 3698e284f531283991139a01fac7405de32efaa1 Mon Sep 17 00:00:00 2001 From: "max.zhu@vesoft.com" <86282370+izhuxiaoqing@users.noreply.github.com> Date: Fri, 3 Sep 2021 17:53:01 +0800 Subject: [PATCH 075/101] Update 3.vid.md --- docs-2.0/1.introduction/3.vid.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/1.introduction/3.vid.md b/docs-2.0/1.introduction/3.vid.md index 626fdf2f996..17387229973 100644 --- a/docs-2.0/1.introduction/3.vid.md +++ b/docs-2.0/1.introduction/3.vid.md @@ -48,7 +48,7 @@ VIDs can be generated via applications. Here are some tips: The data type of VIDs must be defined when you [create the graph space](../3.ngql-guide/9.space-statements/1.create-space.md). Once defined, it cannot be modified. -## "Query `start vid` and global scan +## Query `start vid` and global scan In most cases, the execution plan of query statements in Nebula Graph (`MATCH`, `GO`, and `LOOKUP`) must query the `start vid` in a certain way. From dfd7db8e7e8b2e52bccb9b8d12970d1f0dee3d0d Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Tue, 7 Sep 2021 16:25:31 +0800 Subject: [PATCH 076/101] Update source_connect-to-nebula-graph.md --- docs-2.0/reuse/source_connect-to-nebula-graph.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/reuse/source_connect-to-nebula-graph.md b/docs-2.0/reuse/source_connect-to-nebula-graph.md index 64810bfc57d..3ffd3ef1f1e 100644 --- a/docs-2.0/reuse/source_connect-to-nebula-graph.md +++ b/docs-2.0/reuse/source_connect-to-nebula-graph.md @@ -70,7 +70,7 @@ If you don't have a Nebula Graph database yet, we recommend that you try the clo | `-h` | Shows the help menu. | | `-addr` | Sets the IP address of the graphd service. The default address is 127.0.0.1. | | `-port` | Sets the port number of the graphd service. The default port number is 9669.| - | `-u/-user` | Sets the username of your Nebula Graph account. Before enabling authentication, you can use any characters as the username. | + | `-u/-user` | Sets the username of your Nebula Graph account. Before enabling authentication, you can use any existing username. The default username is `root`. | | `-p/-password` | Sets the password of your Nebula Graph account. Before enabling authentication, you can use any characters as the password. | | `-t/-timeout` | Sets an integer-type timeout threshold of the connection. The unit is second. The default value is 120. | | `-e/-eval` | Sets a string-type nGQL statement. The nGQL statement is executed once the connection succeeds. The connection stops after the result is returned. | From 9db1179dc66deb7a7b4274bbbb89fabc30528970 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 9 Sep 2021 10:08:17 +0800 Subject: [PATCH 077/101] Update 5.lookup.md --- docs-2.0/3.ngql-guide/7.general-query-statements/5.lookup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/3.ngql-guide/7.general-query-statements/5.lookup.md b/docs-2.0/3.ngql-guide/7.general-query-statements/5.lookup.md index 6b1bd6dc58e..c98f56e3798 100644 --- a/docs-2.0/3.ngql-guide/7.general-query-statements/5.lookup.md +++ b/docs-2.0/3.ngql-guide/7.general-query-statements/5.lookup.md @@ -20,7 +20,7 @@ This topic applies to native nGQL only. - If the specified property is not indexed when using the `LOOKUP` statement, Nebula Graph randomly selects one of the available indexes. - For example, the tag `player` has two properties, `name` and `age`. Both the tag `player` itself and the property `name` have indexes, but the property `age` has no indexes. When running `LOOKUP ON player WHERE player.age == 36 YIELD player.name;`, Nebula Graph randomly uses one of the indexes of the tag `player` and the property `age`. + For example, the tag `player` has two properties, `name` and `age`. Both the tag `player` itself and the property `age` have indexes, but the property `name` has no indexes. When running `LOOKUP ON player WHERE player.age == 36 YIELD player.name;`, Nebula Graph randomly uses one of the indexes of the tag `player` and the property `age`. !!! compatibility "Legacy version compatibility" From 9eff9656997d9239a1e05997def51873073857c3 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Thu, 9 Sep 2021 12:49:49 +0800 Subject: [PATCH 078/101] Update mkdocs.yml --- mkdocs.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index 4eb61005043..86517ee4da7 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -448,6 +448,11 @@ plugins: output_path: pdf/NebulaGraph-EN.pdf show_anchors: true render_js: true + headless_chrome_path: headless-chromium + enabled_if_env: ENABLE_PDF_EXPORT + #debug_html: true + #show_anchors: true + #verbose: true google_analytics: - UA-60523578-16 From e5c6ac8a6cde958878cdd08611f12ad0aa10c88b Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Fri, 10 Sep 2021 11:47:03 +0800 Subject: [PATCH 079/101] Create 6.delete-tag.md --- .../10.tag-statements/6.delete-tag.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs-2.0/3.ngql-guide/10.tag-statements/6.delete-tag.md diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/6.delete-tag.md b/docs-2.0/3.ngql-guide/10.tag-statements/6.delete-tag.md new file mode 100644 index 00000000000..262ffb0e5ca --- /dev/null +++ b/docs-2.0/3.ngql-guide/10.tag-statements/6.delete-tag.md @@ -0,0 +1,61 @@ +# DELETE TAG + +`DELETE TAG` deletes a tag with the given name on a specified vertex. + +!!! enterpriseonly + + This feature is only available in the Enterprise Edition. + +A vertex can have one or more tags. + +- If a vertex has only one tag, the vertex **CANNOT** be accessed after you delete the tag. But its edges are available. The vertex will be deleted in the next compaction. + +- If a vertex has multiple tags, the vertex is still accessible after you delete one of them. But all the properties defined by this deleted tag **CANNOT** be accessed. + +## Prerequisites + +Running the `DELETE TAG` statement requires some [privileges](../../7.data-security/1.authentication/3.role-list.md) for the graph space. Otherwise, Nebula Graph throws an error. + +## Syntax + +```ngql +DELETE TAG FROM ; +``` + +- `tag_name_list`: Specifies the name of the tag. Multiple tags are separated with commas (,). `*` means all tags. + +- `VID`: Specifies the VID of the tag to delete. + +## Example + +```ngql +nebula> CREATE TAG test1(p1 string, p2 int); +nebula> CREATE TAG test2(p3 string, p4 int); +nebula> INSERT VERTEX test1(p1, p2),test2(p3, p4) VALUES "test":("123", 1, "456", 2); +nebula> FETCH PROP ON * "test"; ++------------------------------------------------------------+ +| vertices_ | ++------------------------------------------------------------+ +| ("test" :test2{p3: "456", p4: 2} :test1{p1: "123", p2: 1}) | ++------------------------------------------------------------+ + +nebula> DELETE TAG test1 FROM "test"; +nebula> FETCH PROP ON * "test"; ++-----------------------------------+ +| vertices_ | ++-----------------------------------+ +| ("test" :test2{p3: "456", p4: 2}) | ++-----------------------------------+ + +nebula> DELETE TAG * FROM "test"; +nebula> FETCH PROP ON * "test"; ++-----------+ +| vertices_ | ++-----------+ ++-----------+ +``` + +!!! Compatibility + + * In openCypher, you can use the statement `REMOVE v:LABEL` to delete the tag `LABLE` of the vertex `v`. + * `DELETE TAG` and `DROP TAG` have the same semantics but different syntax. In nGQL, use `DELETE TAG`. From 3c709794076981ae495fc4920340c3172d6c5c79 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Fri, 10 Sep 2021 11:48:02 +0800 Subject: [PATCH 080/101] Update mkdocs.yml --- mkdocs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index 86517ee4da7..3737c8d3510 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -213,6 +213,8 @@ nav: - ALTER TAG: 3.ngql-guide/10.tag-statements/3.alter-tag.md - SHOW TAGS: 3.ngql-guide/10.tag-statements/4.show-tags.md - DESCRIBE TAG: 3.ngql-guide/10.tag-statements/5.describe-tag.md + - DELETE TAG: 3.ngql-guide/10.tag-statements/6.delete-tag.md + - Edge type statements: - CREATE EDGE: 3.ngql-guide/11.edge-type-statements/1.create-edge.md - DROP EDGE: 3.ngql-guide/11.edge-type-statements/2.drop-edge.md From 8dac450e5fcea9147849506d7b8b54d557f91ba2 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Fri, 10 Sep 2021 16:46:26 +0800 Subject: [PATCH 081/101] Update 4.storage-service.md --- .../3.nebula-graph-architecture/4.storage-service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md b/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md index 627d5319715..0bff7d5769a 100644 --- a/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md +++ b/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md @@ -98,7 +98,7 @@ Nebula Graph {{ nebula.base20 }} has changed a lot over its releases. The follow |`VertexID`|Used to indicate vertex ID. The former VID refers to source VID in out-edge and dest VID in in-edge, while the latter VID refers to dest VID in out-edge and source VID in in-edge.| |`Edge Type`|Four bytes, used to indicate edge type. Greater than zero means out-edge, less than zero means in-edge.| |`Rank`|Eight bytes, used to indicate multiple edges in one edge type. Users can set the field based on needs and store weight, such as transaction time and transaction number.| - |`PlaceHolder`|One byte, used to indicate a placeholder, which is purposely designed for TOSS (Transaction On Storage Side).| + |`PlaceHolder`|One byte. Reserved.| !!! compatibility "Legacy version compatibility" From 66ccfcd9b9a18319b0040529b9c3d90a412afa62 Mon Sep 17 00:00:00 2001 From: foesa <35463247+foesa-yang@users.noreply.github.com> Date: Mon, 13 Sep 2021 10:14:05 +0800 Subject: [PATCH 082/101] Update ex-ug-what-is-explorer.md --- .../about-explorer/ex-ug-what-is-explorer.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md index ca407753429..7c88cace978 100644 --- a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md +++ b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md @@ -5,6 +5,10 @@ Nebula Graph Explorer (Explorer in short) is a browser-based visualization tool. !!! enterpriseonly Explorer is only available in the enterprise version. + +!!! Note + + You can also try some functions online in [Explorer](https://explorer.nebula-graph.io/). ## Scenarios @@ -29,4 +33,4 @@ Explorer has these features: Authentication is not enabled in Nebula Graph by default. Users can log into Studio with the `root` account and any password. -When Nebula Graph enables authentication, users can only sign into Studio with the specified account. For more information, see [Authentication](../../7.data-security/1.authentication/1.authentication.md). \ No newline at end of file +When Nebula Graph enables authentication, users can only sign into Studio with the specified account. For more information, see [Authentication](../../7.data-security/1.authentication/1.authentication.md). From 940794d3cf94f50358f38f38a64d4de640ff279b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=99=93=E9=9D=92?= <86282370+izhuxiaoqing@users.noreply.github.com> Date: Mon, 13 Sep 2021 17:18:54 +0800 Subject: [PATCH 083/101] Update ex-ug-deploy.md --- .../nebula-explorer/deploy-connect/ex-ug-deploy.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs-2.0/nebula-explorer/deploy-connect/ex-ug-deploy.md b/docs-2.0/nebula-explorer/deploy-connect/ex-ug-deploy.md index 7a2a89a649b..47a8a395f9e 100644 --- a/docs-2.0/nebula-explorer/deploy-connect/ex-ug-deploy.md +++ b/docs-2.0/nebula-explorer/deploy-connect/ex-ug-deploy.md @@ -17,7 +17,11 @@ Before you deploy Explorer, you must do a check of these: | 7002 | Web service provided by Explorer | | 8070 | Nebula-http-gateway service | -- The Linux distribution is CentOS, installed `lsof` and [Node.js](https://nodejs.org/en/) of version above v10.16.0+. +- The Linux distribution is CentOS, installed with [Node.js](https://nodejs.org/en/) of version above v10.16.0+ and [Go](https://golang.org/) of version above 1.13. + + !!! caution + + At present, the package provided by Nebula Explorer can be used in Linux environment only. If users use mac or other environments, clone [http-gateway repo](https://github.com/vesoft-inc/nebula-http-gateway), modify the `httpport = 8070` in the `nebula-http-gateway/conf/app.conf` file, and use the `make` command to compile and start Nebula Explorer. ### Install @@ -72,7 +76,11 @@ Before you deploy Explorer, you must do a check of these: | 7002 | Web service provided by Explorer | | 8070 | Nebula-http-gateway service | -- The Linux distribution is CentOS, installed `lsof` and [Node.js](https://nodejs.org/en/) of version above v10.16.0+. +- The Linux distribution is CentOS, installed with [Node.js](https://nodejs.org/en/) of version above v10.16.0+ and [Go](https://golang.org/) of version above 1.13. + + !!! caution + + At present, the package provided by Nebula Explorer can be used in Linux environment only. If users use mac or other environments, clone [http-gateway repo](https://github.com/vesoft-inc/nebula-http-gateway), modify the `httpport = 8070` in the `nebula-http-gateway/conf/app.conf` file, and use the `make` command to compile and start Nebula Explorer. ### Install From c98ec19ca0353a5194424aac2e6fabeb7afa3324 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Mon, 13 Sep 2021 17:37:58 +0800 Subject: [PATCH 084/101] Update mkdocs.yml --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 3737c8d3510..8f7305242f7 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -451,7 +451,7 @@ plugins: show_anchors: true render_js: true headless_chrome_path: headless-chromium - enabled_if_env: ENABLE_PDF_EXPORT + #enabled_if_env: ENABLE_PDF_EXPORT #debug_html: true #show_anchors: true #verbose: true From ddbde607f0b4377adda8d0bdd28805f038b22cb9 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Mon, 13 Sep 2021 17:41:33 +0800 Subject: [PATCH 085/101] Update mkdocs.yml --- mkdocs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 8f7305242f7..784e86a3d61 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -451,7 +451,8 @@ plugins: show_anchors: true render_js: true headless_chrome_path: headless-chromium - #enabled_if_env: ENABLE_PDF_EXPORT + enabled_if_env: 1 + #ENABLE_PDF_EXPORT #debug_html: true #show_anchors: true #verbose: true From 59fce50d4e0328e1479753c196b7cfe600a2f464 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Mon, 13 Sep 2021 17:50:22 +0800 Subject: [PATCH 086/101] Update requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index e994d097eac..cd6cf78db02 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ mkdocs==1.2.2 +mkdocs-material-extensions==1.0.1 mkdocs-material mkdocs-macros-plugin mike From c8aee25dd0e0a12024018e4e9923af81168b5902 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Mon, 13 Sep 2021 17:53:15 +0800 Subject: [PATCH 087/101] Update mkdocs.yml --- mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 784e86a3d61..ded8d413f7c 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -450,8 +450,8 @@ plugins: output_path: pdf/NebulaGraph-EN.pdf show_anchors: true render_js: true - headless_chrome_path: headless-chromium - enabled_if_env: 1 + #headless_chrome_path: headless-chromium + #enabled_if_env: 1 #ENABLE_PDF_EXPORT #debug_html: true #show_anchors: true From 04a00f519c5af14a7e59f0309c263e87ba45df12 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Mon, 13 Sep 2021 17:57:04 +0800 Subject: [PATCH 088/101] Update mkdocs.yml --- mkdocs.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index ded8d413f7c..1304afeafa6 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -448,8 +448,7 @@ plugins: back_cover: true cover_logo: 'https://cloud-cdn.nebula-graph.com.cn/nebula-for-pdf.png' output_path: pdf/NebulaGraph-EN.pdf - show_anchors: true - render_js: true + #render_js: true #headless_chrome_path: headless-chromium #enabled_if_env: 1 #ENABLE_PDF_EXPORT From 32e456c61517caedad805c6051e17b8663b0a141 Mon Sep 17 00:00:00 2001 From: "max.zhu@vesoft.com" <86282370+izhuxiaoqing@users.noreply.github.com> Date: Tue, 14 Sep 2021 16:20:45 +0800 Subject: [PATCH 089/101] Cherrypick 250 (#723) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add cn doc (#708) * add cn doc * concat and show meta leader * Update 13.concat.md Co-authored-by: 朱晓青 <86282370+izhuxiaoqing@users.noreply.github.com> * ldap and improve query by tag index (#711) * ldap and improve query by tag index * Update improve-query-by-tag-index.md * Update 4.ldap.md Co-authored-by: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> --- .../6.functions-and-expressions/13.concat.md | 109 ++++++++++++++++++ .../6.show/19.show-meta-leader.md | 27 +++++ .../1.authentication/4.ldap.md | 101 ++++++++++++++++ .../improve-query-by-tag-index.md | 54 +++++++++ mkdocs.yml | 6 +- 5 files changed, 296 insertions(+), 1 deletion(-) create mode 100644 docs-2.0/3.ngql-guide/6.functions-and-expressions/13.concat.md create mode 100644 docs-2.0/3.ngql-guide/7.general-query-statements/6.show/19.show-meta-leader.md create mode 100644 docs-2.0/7.data-security/1.authentication/4.ldap.md create mode 100644 docs-2.0/8.service-tuning/improve-query-by-tag-index.md diff --git a/docs-2.0/3.ngql-guide/6.functions-and-expressions/13.concat.md b/docs-2.0/3.ngql-guide/6.functions-and-expressions/13.concat.md new file mode 100644 index 00000000000..7be8e392f96 --- /dev/null +++ b/docs-2.0/3.ngql-guide/6.functions-and-expressions/13.concat.md @@ -0,0 +1,109 @@ +# concat function + +The `concat()` and `concat_ws()` functions return strings concatenated by one or more strings. + +## concat() function + +The `concat()` function requires at least two or more strings. All the parameters are concatenated into one string. + +- If there is only one string, the string itself is returned. + +- If any one of the strings is `NULL`, `NULL` is returned. + +### Syntax + +```bash +concat(string1,string2,...) +``` + +### Examples + +```bash +//This example concatenates 1, 2, and 3. +nebula> RETURN concat("1","2","3") AS r; ++-------+ +| r | ++-------+ +| "123" | ++-------+ + +//In this example, one of the string is NULL. +nebula> RETURN concat("1","2",NULL) AS r; ++----------+ +| r | ++----------+ +| __NULL__ | ++----------+ + +nebula> GO FROM "player100" over follow \ + YIELD concat(follow._src, $^.player.age, $$.player.name, follow.degree) AS A; ++------------------------------+ +| A | ++------------------------------+ +| "player10042Tony Parker95" | ++------------------------------+ +| "player10042Manu Ginobili95" | ++------------------------------+ +``` + +## concat_ws() function + +The `concat_ws()` function connects two or more strings with a predefined separator. + +- If the separator is `NULL`, the `concat_ws()` function returns `NULL`. + +- If the separator is not `NULL` and there is only one string, the string itself is returned. + +- If the separator is not `NULL` and there is a `NULL` in the strings, `NULL` is ignored during the concatenation. + +### Syntax + +```bash +concat_ws(separator,string1,string2,... ) +``` + +### Examples + +```bash +//This example concatenates a, b, and c with the separator +. +nebula> RETURN concat_ws("+","a","b","c") AS r; ++---------+ +| r | ++---------+ +| "a+b+c" | ++---------+ + +//In this example, the separator is NULL. +neubla> RETURN concat_ws(NULL,"a","b","c") AS r; ++----------+ +| r | ++----------+ +| __NULL__ | ++----------+ + +//In this example, the separator is + and there is a NULL in the strings. +nebula> RETURN concat_ws("+","a",NULL,"b","c") AS r; ++---------+ +| r | ++---------+ +| "a+b+c" | ++---------+ + +//In this example, the separator is + and there is only one string. +nebula> RETURN concat_ws("+","a") AS r; ++-----+ +| r | ++-----+ +| "a" | ++-----+ + +nebula> GO FROM "player100" over follow \ + YIELD concat_ws(" ",follow._src, $^.player.age, $$.player.name, follow.degree) AS A; ++---------------------------------+ +| A | ++---------------------------------+ +| "player100 42 Tony Parker 95" | ++---------------------------------+ +| "player100 42 Manu Ginobili 95" | ++---------------------------------+ +``` diff --git a/docs-2.0/3.ngql-guide/7.general-query-statements/6.show/19.show-meta-leader.md b/docs-2.0/3.ngql-guide/7.general-query-statements/6.show/19.show-meta-leader.md new file mode 100644 index 00000000000..60f9afaad56 --- /dev/null +++ b/docs-2.0/3.ngql-guide/7.general-query-statements/6.show/19.show-meta-leader.md @@ -0,0 +1,27 @@ +# SHOW META LEADER + +The `SHOW META LEADER` statement shows the information of the leader in the current Meta cluster. + +For more information about the Meta service, see [Meta service](../../../1.introduction/3.nebula-graph-architecture/2.meta-service.md). + +## Syntax + +```ngql +SHOW META LEADER; +``` + +## Example + +```ngql +nebula> SHOW META LEADER; ++------------------+---------------------------+ +| Meta Leader | secs from last heart beat | ++------------------+---------------------------+ +| "127.0.0.1:9559" | 3 | ++------------------+---------------------------+ +``` + +|Parameter|Description| +|:---|:---| +|`Meta Leader`|Shows the information of the leader in the Meta cluster, including the IP address and port of the server where the leader is located.| +|`secs from last heart beat`|Indicates the time interval since the last heartbeat. This parameter is measured in seconds.| diff --git a/docs-2.0/7.data-security/1.authentication/4.ldap.md b/docs-2.0/7.data-security/1.authentication/4.ldap.md new file mode 100644 index 00000000000..bdf721d3007 --- /dev/null +++ b/docs-2.0/7.data-security/1.authentication/4.ldap.md @@ -0,0 +1,101 @@ +# OpenLDAP authentication + +This topic introduces how to connect Nebula Graph to the OpenLDAP server and use the DN (Distinguished Name) and password defined in OpenLDAP for authentication. + +!!! enterpriseonly + + This feature is supported by the Enterprise Edition only. + +## Authentication method + +After the OpenLDAP authentication is enabled and users log into Nebula Graph with the account and password, Nebula Graph checks whether the login account exists in the Meta service. If the account exists, Nebula Graph finds the corresponding DN in OpenLDAP according to the authentication method and verifies the password. + +OpenLDAP supports two authentication methods: simple bind authentication (SimpleBindAuth) and search bind authentication (SearchBindAuth). + +### SimpleBindAuth + +Simple bind authentication splices the login account and the configuration information of Graph services into a DN that can be recognized by OpenLDAP, and then authenticates on OpenLDAP based on the DN and password. + +### SearchBindAuth + +Search bind authentication reads the Graph service configuration information and queries whether the `uid` in the configuration matches the login account. If they match, search bind authentication reads the DN, and then uses the DN and password to verify on OpenLDAP. + +## Prerequisites + +- [OpenLDAP](https://www.openldap.org/) is installed. + +- The account and password are imported on OpenLDAP. + +- The server where OpenLDAP is located has opened the corresponding authentication port. + +## Procedures + +Take the existing account `test2` and password `passwdtest2` on OpenLDAP as an example. + +1. [Connect to Nebula Graph](../../4.deployment-and-installation/connect-to-nebula-graph.md), create and authorize the shadow account `test2` corresponding to OpenLDAP. + + ```ngql + nebula> CREATE USER test2 WITH PASSWORD ''; + nebula> GRANT ROLE ADMIN ON basketballplayer TO test2; + ``` + + !!! note + + When creating an account in Nebula Graph, the password can be set arbitrarily. + +2. Edit the configuration file `nebula-graphd.conf` (The default path is`/usr/local/nebula/etc/`): + + - SimpleBindAuth (Recommended) + + ```bash + # Whether to get the configuration information from the configuration file. + --local_config=true + # Whether to enable authentication. + --enable_authorize=true + # Authentication methods include password, ldap, and cloud. + --auth_type=ldap + # The address of the OpenLDAP server. + --ldap_server=192.168.8.211 + # The port of the OpenLDAP server. + --ldap_port=389 + # The name of the Schema in OpenLDAP. + --ldap_scheme=ldap + # The prefix of DN. + --ldap_prefix=uid= + # The suffix of DN. + --ldap_suffix=,ou=it,dc=sys,dc=com + ``` + + - SearchBindAuth + + ```bash + # Whether to get the configuration information from the configuration file. + --local_config=true + # Whether to enable authentication. + --enable_authorize=true + # Authentication methods include password, ldap, and cloud. + --auth_type=ldap + # The address of the OpenLDAP server. + --ldap_server=192.168.8.211 + # The port of the OpenLDAP server. + --ldap_port=389 + # The name of the Schema in OpenLDAP. + --ldap_scheme=ldap + # The DN that binds the target. + --ldap_basedn=uid=test2,ou=it,dc=sys,dc=com + ``` + +3. [Restart Nebula Graph services](../../4.deployment-and-installation/manage-service.md) to make the new configuration valid. + +4. Run the login test. + + ```bash + $ ./nebula-console --addr 127.0.0.1 --port 9669 -u test2 -p passwdtest2 + 2021/09/08 03:49:39 [INFO] connection pool is initialized successfully + + Welcome to Nebula Graph! + ``` + + !!! note + + After using OpenLDAP for authentication, local users (including `root`) cannot log in normally. diff --git a/docs-2.0/8.service-tuning/improve-query-by-tag-index.md b/docs-2.0/8.service-tuning/improve-query-by-tag-index.md new file mode 100644 index 00000000000..e63ca267e59 --- /dev/null +++ b/docs-2.0/8.service-tuning/improve-query-by-tag-index.md @@ -0,0 +1,54 @@ +# Add and delete tags + +OpenCypher has the features of `SET label` and `REMOVE label` to speed up the process of querying or labeling. + +Nebula Graph achieves the same operations by creating and inserting tags to an existing vertex, which can quickly query vertices based on the tag name. Users can also run `DELETE TAG` to delete some vertices that are no longer needed. + +!!! caution + + Make sure that there is another tag on the vertex. Otherwise, the vertex will be deleted when the last tag is deleted. + +## Examples + +For example, in the `basketballplayer` data set, some basketball players are also team shareholders. Users can create an index for the shareholder tag `shareholder` for quick search. If the player is no longer a shareholder, users can delete the shareholder tag of the corresponding player by `DELETE TAG`. + +```ngql +//This example creates the shareholder tag and index. +nebula> CREATE TAG shareholder(); +nebula> CREATE TAG INDEX shareholder_tag on shareholder(); + +//This example adds a tag on the vertex. +nebula> INSERT VERTEX shareholder() VALUES "player100":(); +nebula> INSERT VERTEX shareholder() VALUES "player101":(); + +//This example queries all the shareholders. +nebula> MATCH (v:shareholder) RETURN v; ++---------------------------------------------------------------------+ +| v | ++---------------------------------------------------------------------+ +| ("player100" :player{age: 42, name: "Tim Duncan"} :shareholder{}) | ++---------------------------------------------------------------------+ +| ("player101" :player{age: 36, name: "Tony Parker"} :shareholder{}) | ++---------------------------------------------------------------------+ +nebula> LOOKUP ON shareholder; ++-------------+ +| VertexID | ++-------------+ +| "player100" | ++-------------+ +| "player101" | ++-------------+ + +//In this example, the "player100" is no longer a shareholder. +nebula> DELETE TAG shareholder FROM "player100"; +nebula> LOOKUP ON shareholder; ++-------------+ +| VertexID | ++-------------+ +| "player101" | ++-------------+ +``` + +!!! note + + If the index is created after inserting the test data, use the `REBUILD TAG INDEX ;` statement to rebuild the index. diff --git a/mkdocs.yml b/mkdocs.yml index 1304afeafa6..0de87b5f4db 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -162,6 +162,7 @@ nav: - collect(): 3.ngql-guide/6.functions-and-expressions/10.collect.md - reduce(): 3.ngql-guide/6.functions-and-expressions/11.reduce.md - hash(): 3.ngql-guide/6.functions-and-expressions/12.hash.md + - concat(): 3.ngql-guide/6.functions-and-expressions/13.concat.md - Predicate functions: 3.ngql-guide/6.functions-and-expressions/8.predicate.md - User-defined functions: 3.ngql-guide/6.functions-and-expressions/9.user-defined-functions.md @@ -189,6 +190,7 @@ nav: - SHOW USERS: 3.ngql-guide/7.general-query-statements/6.show/16.show-users.md - SHOW SESSIONS: 3.ngql-guide/7.general-query-statements/6.show/17.show-sessions.md - SHOW QUERIES: 3.ngql-guide/7.general-query-statements/6.show/18.show-queries.md + - SHOW META LEADER: 3.ngql-guide/7.general-query-statements/6.show/19.show-meta-leader.md - Clauses and options: - GROUP BY: 3.ngql-guide/8.clauses-and-options/group-by.md @@ -214,7 +216,7 @@ nav: - SHOW TAGS: 3.ngql-guide/10.tag-statements/4.show-tags.md - DESCRIBE TAG: 3.ngql-guide/10.tag-statements/5.describe-tag.md - DELETE TAG: 3.ngql-guide/10.tag-statements/6.delete-tag.md - + - Edge type statements: - CREATE EDGE: 3.ngql-guide/11.edge-type-statements/1.create-edge.md - DROP EDGE: 3.ngql-guide/11.edge-type-statements/2.drop-edge.md @@ -296,6 +298,7 @@ nav: - Authentication: 7.data-security/1.authentication/1.authentication.md - User management: 7.data-security/1.authentication/2.management-user.md - Roles and privileges: 7.data-security/1.authentication/3.role-list.md + - OpenLDAP authentication: 7.data-security/1.authentication/4.ldap.md # - Backup & Restore: # - What is Backup & Restore: 7.data-security/2.backup-restore/1.what-is-br.md # - Compile BR: 7.data-security/2.backup-restore/2.compile-br.md @@ -310,6 +313,7 @@ nav: - System design suggestions: 8.service-tuning/3.system-design.md - Execution plan: 8.service-tuning/4.plan.md - Processing super vertices: 8.service-tuning/super-node.md + - Add or delete tag: 8.service-tuning/improve-query-by-tag-index.md - Client: - Clients overview: 14.client/1.nebula-client.md From 8b646ac19ad1eaa692a77e7328229b74d59c545d Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Wed, 15 Sep 2021 17:37:44 +0800 Subject: [PATCH 090/101] Add day mode and night mode (#732) --- mkdocs.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 0de87b5f4db..bba79ebfd94 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -20,8 +20,18 @@ theme: logo: 'https://cloud-cdn.nebula-graph.com.cn/vesoft-nebula-logo-white.png' favicon: 'assets/images/favicon.ico' palette: - primary: 'cyan' - accent: 'lime' + - scheme: default + primary: cyan + accent: cyan + toggle: + icon: material/toggle-switch-off-outline + name: Switch to dark mode + - scheme: slate + primary: deep orange + accent: deep orange + toggle: + icon: material/toggle-switch + name: Switch to light mode features: - navigation.top language: 'en' From fbd80b4b8b26fda0dfd6609b2a5ce987ad69f076 Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Wed, 15 Sep 2021 17:45:35 +0800 Subject: [PATCH 091/101] Update mkdocs.yml --- mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index bba79ebfd94..d479c127b87 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -22,13 +22,13 @@ theme: palette: - scheme: default primary: cyan - accent: cyan + accent: blue toggle: icon: material/toggle-switch-off-outline name: Switch to dark mode - scheme: slate primary: deep orange - accent: deep orange + accent: red toggle: icon: material/toggle-switch name: Switch to light mode From cc2ec9e47770251cf2c594ae6bd9da635104f629 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Thu, 16 Sep 2021 14:43:37 +0800 Subject: [PATCH 092/101] Update use-importer.md --- docs-2.0/nebula-importer/use-importer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-2.0/nebula-importer/use-importer.md b/docs-2.0/nebula-importer/use-importer.md index 815b2880486..5d65ff25a0d 100644 --- a/docs-2.0/nebula-importer/use-importer.md +++ b/docs-2.0/nebula-importer/use-importer.md @@ -249,7 +249,7 @@ schema: |`files.schema.vertex.vid.index`|-|No|The vertex ID corresponds to the column number in the CSV file.| |`files.schema.vertex.tags.name`|-|Yes|Tag name.| |`files.schema.vertex.tags.props.name`|-|Yes|Tag property name, which must match the Tag property in the Nebula Graph.| -|`files.schema.vertex.tags.props.type`|-|No|Property data type, supporting `bool`, `int`, `float`, `double`, `timestamp` and `string`.| +|`files.schema.vertex.tags.props.type`|-|Yes|Property data type, supporting `bool`, `int`, `float`, `double`, `timestamp` and `string`.| |`files.schema.vertex.tags.props.index`|-|No|Property corresponds to the sequence number of the column in the CSV file.| !!! note @@ -289,7 +289,7 @@ schema: |`files.schema.edge.dstVID.index`|-|No|The destination vertex ID of the edge corresponds to the column number in the CSV file.| |`files.schema.edge.rank.index`|-|No|The rank value of the edge corresponds to the column number in the CSV file.| |`files.schema.edge.props.name`|-|Yes|The Edge Type property name must match the Edge Type property in the Nebula Graph.| -|`files.schema.edge.props.type`|-|No|Property data type, supporting `bool`, `int`, `float`, `double`, `timestamp` and `string`.| +|`files.schema.edge.props.type`|-|Yes|Property data type, supporting `bool`, `int`, `float`, `double`, `timestamp` and `string`.| |`files.schema.edge.props.index`|-|No|Property corresponds to the sequence number of the column in the CSV file.| ## About the CSV file header From 2338d6c7a005893e365135dff0979b0439b57f3d Mon Sep 17 00:00:00 2001 From: Wey Gu <1651790+wey-gu@users.noreply.github.com> Date: Fri, 17 Sep 2021 11:53:19 +0800 Subject: [PATCH 093/101] Update 1.search-with-text-based-index.md (#741) fixed CREATE FULLTEXT --- .../1.search-with-text-based-index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md b/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md index 4c6c31c52c1..76c00f3f42a 100644 --- a/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md +++ b/docs-2.0/3.ngql-guide/15.full-text-index-statements/1.search-with-text-based-index.md @@ -21,7 +21,7 @@ A natural language search interprets the search string as a phrase in natural hu ### Create full-text indexes ```ngql -CREATE {TAG | EDGE} INDEX ON { | } ([]); +CREATE FULLTEXT {TAG | EDGE} INDEX ON { | } ([]); ``` ### Show full-text indexes From 21e2d7dfbd2a0f8c559592aaf88e3567e0c6b7d1 Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Fri, 17 Sep 2021 13:59:37 +0800 Subject: [PATCH 094/101] Update README.md --- docs-2.0/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs-2.0/README.md b/docs-2.0/README.md index cf2a52a3a28..898c6ded325 100644 --- a/docs-2.0/README.md +++ b/docs-2.0/README.md @@ -1,3 +1,6 @@ +!! danger "A [new version](https://docs.nebula-graph.io/) has been released." + + From 2150cfc7f4fa9babdad9a9f475e89ac220c6899f Mon Sep 17 00:00:00 2001 From: "min.wu" <50101159+whitewum@users.noreply.github.com> Date: Fri, 17 Sep 2021 14:00:10 +0800 Subject: [PATCH 095/101] Update deploy.yml --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 22b8cafb2c1..127468f5a25 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -34,7 +34,7 @@ jobs: - name: Mike Deploy run: | mike deploy 2.5.0 -p --rebase - mike set-default 2.5.0 -p --rebase + #mike set-default 2.5.0 -p --rebase mike list # - name: Deploy From ef76daac4969f1b5dbe0070b28ec2b17ed1dd553 Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Fri, 17 Sep 2021 14:58:28 +0800 Subject: [PATCH 096/101] Update mkdocs.yml --- mkdocs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index d479c127b87..70fd2dbf779 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,7 +3,7 @@ site_name: Nebula Graph Database Manual site_description: Documentation for Nebula Graph Database site_author: Nebula Graph site_url: https://docs.nebula-graph.io/ -edit_uri: 'edit/v2.5.0/docs-2.0/' +edit_uri: 'edit/v2.5.1/docs-2.0/' docs_dir: docs-2.0 # repository @@ -43,7 +43,7 @@ extra_css: - stylesheets/extra.css extra: nebula: - release: 2.5.0 + release: 2.5.1 nightly: v2-nightly master: master base20: 2.0 @@ -80,7 +80,7 @@ extra: release: 2.5.0 branch: v2.5.0 common: - release: 2.5.0 + release: 2.5.1 dashboard: release: 1.0.1 base100: 1.0.0 From bf3012937fc2a977dec4b90739eb81ba6ec518f2 Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Fri, 17 Sep 2021 15:00:38 +0800 Subject: [PATCH 097/101] Update deploy.yml --- .github/workflows/deploy.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 127468f5a25..bd851f97443 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -2,7 +2,7 @@ name: Publish docs via GitHub Pages on: push: branches: - - v2.5.0 + - v2.5.1 jobs: deploy: @@ -33,8 +33,8 @@ jobs: - name: Mike Deploy run: | - mike deploy 2.5.0 -p --rebase - #mike set-default 2.5.0 -p --rebase + mike deploy 2.5.1 -p --rebase + #mike set-default 2.5.1 -p --rebase mike list # - name: Deploy From b58dc377cc8d7b298134b4cb2bed6094531d3708 Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Fri, 17 Sep 2021 15:38:02 +0800 Subject: [PATCH 098/101] Update deploy.yml --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index bd851f97443..fbccaed499e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -34,7 +34,7 @@ jobs: - name: Mike Deploy run: | mike deploy 2.5.1 -p --rebase - #mike set-default 2.5.1 -p --rebase + mike set-default 2.5.1 -p --rebase mike list # - name: Deploy From ef7d53cc908c0d91c9ee16d76a25d0c0c9c4a847 Mon Sep 17 00:00:00 2001 From: randomJoe211 <69501902+randomJoe211@users.noreply.github.com> Date: Fri, 17 Sep 2021 15:45:28 +0800 Subject: [PATCH 099/101] Update README.md --- docs-2.0/README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs-2.0/README.md b/docs-2.0/README.md index 898c6ded325..5b354db55fb 100644 --- a/docs-2.0/README.md +++ b/docs-2.0/README.md @@ -1,6 +1,3 @@ -!! danger "A [new version](https://docs.nebula-graph.io/) has been released." - -