Skip to content

Commit

Permalink
Merge branch 'TuGraph-family:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
hanwen-sun authored Sep 20, 2023
2 parents a37c02b + a5f39f7 commit 44c90fc
Show file tree
Hide file tree
Showing 93 changed files with 5,631 additions and 593 deletions.
5 changes: 5 additions & 0 deletions Options.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,11 @@ else (ENABLE_LGRAPH_LOG)
message("Use native fma log.")
endif (ENABLE_LGRAPH_LOG)

option(BUILD_JAVASDK "Build lgraph4jni.so for javasdk" OFF)
if (BUILD_JAVASDK)
message("Build lgraph4jni.so for javasdk.")
endif (BUILD_JAVASDK)

# disable krb5
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOPENSSL_NO_KRB5=1")

Expand Down
2 changes: 1 addition & 1 deletion ci/images/tugraph-compile-centos7-Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ FROM reg.docker.alibaba-inc.com/fma/centos:7.3.1611
ARG JFLAG=-j8
ARG PYPI="-i https://pypi.antfin-inc.com/simple/ --trusted-host pypi.antfin-inc.com"

RUN yum update -y && yum install -y \
RUN yum -x filesystem update -y && yum install -y \
git \
gcc \
gcc-c++ \
Expand Down
4 changes: 2 additions & 2 deletions ci/images/tugraph-compile-centos8-Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ RUN wget https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/deps/antlr4-4.1
# https://www.openssl.org/source/old/1.1.1/openssl-1.1.1g.tar.gz
RUN wget https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/deps/openssl-1.1.1g.tar.gz \
&& tar zxf openssl-1.1.1g.tar.gz && cd openssl-1.1.1g \
&& ./config -fPIC --prefix=/usr enable-md2 \
&& ./config -fPIC --prefix=/usr/local \
&& make ${JFLAG} && make install \
&& rm -rf /openssl*

Expand Down Expand Up @@ -329,6 +329,6 @@ RUN wget https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/deps/graphar/Gr
RUN sed -i '3 s/-lgomp/-l:libgomp.a/' /usr/local/lib64/libgomp.spec

ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk \
LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib/jvm/java-11-openjdk/lib/server:$LD_LIBRARY_PATH \
LD_LIBRARY_PATH=/usr/lib64:/usr/local/lib64:/usr/local/lib:/usr/lib/jvm/java-11-openjdk/lib/server:$LD_LIBRARY_PATH \
PYTHONPATH=/usr/local/lib64:$PYTHONPATH \
PATH=/opt/apache-maven-3.8.7/bin:$PATH
5 changes: 2 additions & 3 deletions ci/images/tugraph-mini-runtime-centos7-Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Docker hub image
#FROM centos:7.3.1611
# FROM centos:7.3.1611
# Alibaba Image
FROM reg.docker.alibaba-inc.com/fma/centos:7.3.1611

Expand All @@ -8,8 +8,7 @@ ARG FILEPATH
# specifies installation package name for tugraph
ARG FILENAME


RUN yum update -y && yum install -y \
RUN yum -x filesystem update -y && yum install -y \
gcc \
openssl-static \
wget
Expand Down
4 changes: 2 additions & 2 deletions ci/images/tugraph-runtime-centos7-Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Docker hub image
#FROM centos:7.3.1611
# FROM centos:7.3.1611
# Alibaba Image
FROM reg.docker.alibaba-inc.com/fma/centos:7.3.1611

Expand All @@ -8,7 +8,7 @@ ARG FILEPATH
# specifies installation package name for tugraph
ARG FILENAME

RUN rpm --rebuilddb && yum update -y && yum install -y \
RUN yum -x filesystem update -y && yum install -y \
git \
gcc \
gcc-c++ \
Expand Down
47 changes: 35 additions & 12 deletions docs/en-US/source/1.guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,26 +26,49 @@
> If you want to understand the division of community roles, please visit [community roles](./6.contributor-manual/2.community-roles.md)
## Video Center
## Main warehouse

> [Quick start with TuGraph](https://space.bilibili.com/1196053065/channel/seriesdetail?sid=2593741)
> TuGraph-DB repository: [https://github.com/TuGraph-family/tugraph-db](https://github.com/TuGraph-family/tugraph-db)
> [TuGraph technology sharing collection](https://space.bilibili.com/1196053065/channel/seriesdetail?sid=3009777)
> Visual interface: [https://github.com/TuGraph-family/tugraph-db-browser](https://github.com/TuGraph-family/tugraph-db-browser)
> Java client: [https://github.com/TuGraph-family/tugraph-db-client-java](https://github.com/TuGraph-family/tugraph-db-client-java)
> Simple test method based on twitter data: [https://github.com/TuGraph-family/gdbms-microbenchmark](https://github.com/TuGraph-family/gdbms-microbenchmark)
> [Understand graph computing in 3 minutes](https://www.bilibili.com/video/BV15U4y1r7AW/?spm_id_from=333.999.0.0)
> Test method based on standard LDBC-SNB: [https://github.com/TuGraph-family/tugraph-snb-interactive](https://github.com/TuGraph-family/tugraph-snb-interactive)
## Git Repository
> TuGraph-Analytics repository: [https://github.com/TuGraph-family/tugraph-analytics](https://github.com/TuGraph-family/tugraph-analytics)
> [TuGraph DB](https://github.com/TuGraph-family/tugraph-db)
## Video Center

> [Get started quickly with TuGraph](https://space.bilibili.com/1196053065/channel/seriesdetail?sid=2593741)
> [TuGraph technology sharing collection](https://space.bilibili.com/1196053065/channel/seriesdetail?sid=3009777)
> [TuGraph DB Browser](https://github.com/TuGraph-family/tugraph-db-browser)
> [Understand graph calculation in 3 minutes](https://www.bilibili.com/video/BV15U4y1r7AW/)
> [Java Client](https://github.com/TuGraph-family/tugraph-db-client-java)
## TuGraph-Latest-Version

> [Micro-benchmark](https://github.com/TuGraph-family/gdbms-microbenchmark)
| Description | File | Link |
|---------------------|-------------------------- ------------------|-------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------|
| CentOS7 installation package | tugraph-4.0.0-1.el7.x86_64.rpm | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0.0/tugraph -4.0.0-1.el7.x86_64.rpm) |
| CentOS8 installation package | tugraph-4.0.0-1.el8.x86_64.rpm | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0.0/tugraph -4.0.0-1.el8.x86_64.rpm) |
| Ubuntu18.04 installation package | tugraph-4.0.0-1.x86_64.deb | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0.0/tugraph -4.0.0-1.x86_64.deb) |
| CentOS7 pre-installation image | tugraph-runtime-centos7-4.0.0.tar | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0.0/tugraph- runtime-centos7-4.0.0.tar), [Visit](https://hub.docker.com/r/tugraph/tugraph-runtime-centos7) |
| CentOS8 pre-installation image | tugraph-runtime-centos8-4.0.0.tar | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0.0/tugraph- runtime-centos8-4.0.0.tar), [Visit](https://hub.docker.com/r/tugraph/tugraph-runtime-centos8) |
| Ubuntu18.04 pre-installed image | tugraph-runtime-ubuntu18.04-4.0.0.tar | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0. 0/tugraph-runtime-ubuntu18.04-4.0.0.tar) , [Visit](https://hub.docker.com/r/tugraph/tugraph-runtime-ubuntu18.04) |
| CentOS7 mini installation package | tugraph-mini-4.0.0-1.el7.x86_64.rpm | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0. 0/tugraph-mini-4.0.0-1.el7.x86_64.rpm) |
| CentOS8 mini installation package | tugraph-mini-4.0.0-1.el8.x86_64.rpm | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0. 0/tugraph-mini-4.0.0-1.el8.x86_64.rpm) |
| Ubuntu18.04 mini installation package | tugraph-mini-4.0.0-1.x86_64.deb | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0. 0/tugraph-mini-4.0.0-1.x86_64.deb) |
| CentOS7 mini pre-installation image | tugraph-mini-runtime-centos7-4.0.0.tar | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0.0 /tugraph-mini-runtime-centos7-4.0.0.tar) , [Visit](https://hub.docker.com/r/tugraph/tugraph-mini-runtime-centos7) |
| CentOS8 mini pre-installation image | tugraph-mini-runtime-centos8-4.0.0.tar | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-4.0.0 /tugraph-mini-runtime-centos8-4.0.0.tar) , [Visit](https://hub.docker.com/r/tugraph/tugraph-mini-runtime-centos8) |
| Ubuntu18.04 mini pre-installation image | tugraph-mini-runtime-ubuntu18.04-4.0.0.tar | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph -4.0.0/tugraph-mini-runtime-ubuntu18.04-4.0.0.tar), [Visit](https://hub.docker.com/r/tugraph/tugraph-mini-runtime-ubuntu18.04) |
| CentOS7 compilation image | tugraph-compile-centos7-1.2.7.tar | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-docker-compile/tugraph-compile -centos7-1.2.7.tar), [Visit](https://hub.docker.com/r/tugraph/tugraph-compile-centos7) |
| CentOS8 compilation image | tugraph-compile-centos8-1.2.7.tar | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-docker-compile/tugraph-compile -centos8-1.2.7.tar), [Visit](https://hub.docker.com/r/tugraph/tugraph-compile-centos8) |
| Ubuntu18.04 compilation image | tugraph-compile-ubuntu18.04-1.2.7.tar | [Download](https://tugraph-web.oss-cn-beijing.aliyuncs.com/tugraph/tugraph-docker-compile /tugraph-compile-ubuntu18.04-1.2.7.tar) , [Visit](https://hub.docker.com/r/tugraph/tugraph-compile-ubuntu18.04) |

> [TuGraph SNB Interactive](https://github.com/TuGraph-family/tugraph-snb-interactive)

## Change Log
For the version update log, see: [Link](https://github.com/TuGraph-family/tugraph-db/blob/master/release/CHANGELOG_CN.md).

> [Change Log](https://github.com/TuGraph-family/tugraph-db/blob/master/release/CHANGELOG.md)
If you don't know how to use installation packages and images, please refer to [Environment and Version Selection](./7.best-practices/4.selection.md).
8 changes: 3 additions & 5 deletions docs/en-US/source/3.quick-start/1.preparation.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ TuGraph supports both X86_64 and ARM64 architectures in physical, virtual, and c
_You are advised to use NVMe SSDS with large memory configurations for optimal performance。_

| Hardware | Minimum Configuration | Recommended configuration |
| -------- | --------------------- | ------------------------- |
|----------|-----------------------|---------------------------|
| CPU | X86_64 | Xeon E5 2670 v4 |
| Memory | 4GB | 256GB |
| Disk | 100GB | 1TB NVMe SSD |
Expand All @@ -45,11 +45,9 @@ _You are advised to use NVMe SSDS with large memory configurations for optimal p

TuGraph can be installed quickly via Docker Image or locally via RPM /deb packages.In addition, TuGraph offers community edition services on Alibaba Cloud Computing Nest, which means you don't need to purchase your own cloud host to quickly deploy TuGraph services and achieve operational monitoring, thus building your own graph application.

> Official Website RPM /deb packages Download:[TuGraph DownLoad]( https://www.tugraph.org/download ).
> Installation package/image download: [Download address](../1.guide.md#TuGraph-Latest-Version).
> The TuGraph image is hosted on DockerHub[DockerHub]( https://hub.docker.com/u/tugraph ).
> The Cloud deployment can be searched on Aliyun Computing Nest or accessed quickly through the [deployment link]( https://computenest.console.aliyun.com/user/cn-hangzhou/serviceInstanceCreate?ServiceId=service-7b50ea3d20e643da95bf&&isTrial=true).
> Computing Nest Deployment: You can search for it on Alibaba Cloud Computing Nest, or you can quickly access it through [deployment link] (../5.developer-manual/1.installation/5.cloud-deployment.md).
### 2.1.Fast experience through Docker

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,11 @@

Based on the different functionalities supported by the environments, they can be categorized into the following:

* Compilation Environment: This environment includes all the dependencies required for compiling TuGraph. It contains all the dependencies of the runtime environment and is capable of compiling TuGraph source code. However, it does not include pre-compiled TuGraph executable files and library files. It is intended for developers to compile the source code.
* The compilation environment has all dependent libraries for TuGraph compilation, including all dependencies of the running environment, and can compile TuGraph source code, but does not include precompiled TuGraph executable files and library files for developers to compile source code.

* Runtime Environment: This environment includes GCC/Java/Python environments, enabling the execution of all TuGraph functionalities. It can support full-text indexing, Java client, uploading C++ source code as a plugin, and running Python plugins. It comes with pre-compiled TuGraph executable files and library files, allowing customers to directly install and use TuGraph without the need for source code compilation.

* Mini-Runtime Environment: This environment is equivalent to a bare system with pre-compiled TuGraph. It can only run the basic functionalities of TuGraph, without the ability to compile and run C++ plugins, lack of full-text indexing, and absence of Python plugins. It is designed for quick deployment and trial purposes.
* Running environment, with GCC/Java/Python environment, can run all functions of TuGraph, and can host full-text indexing, java client, c++ source code uploaded as plugin, and complete functions of python plugin, built-in TuGraph precompiled executable file and library files for customers to install and use directly without compiling source code.

* Simplified operating environment, which is approximately equivalent to a bare system plus precompiled TuGraph. It can only run the basic functions of TuGraph. There is no C++ plugin to compile and run, only so upload, no full-text index, and no python plugin. It is for quick setup and trial use.
After compiling TuGraph, all the required dependencies are packaged together in the form of .a files, eliminating the need for unnecessary additional dependencies during runtime. However, since TuGraph supports stored procedures, which involve compiling C++ code on the server, the required compilers still need to be present in the environment.

## 2.System Library
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

The images are hosted on [DockerHub]( https://hub.docker.com/u/tugraph ) and can be downloaded and used directly.

For the latest version of Docker address, see [Link](../../1.guide.md#TuGraph-Latest-Version).

### 2.2.Naming Convention

#### 2.2.1.TuGraph Compile Image
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,38 @@

> This document describes TuGraph Local Package Deployment.
## 1.Download Local Package
## 1. Environment preparation

Please visit the Github for download:[TuGraph Download](https://github.com/TuGraph-family/tugraph-db/releases)
TuGraph local package deployment requires a corresponding environment, and quick verification can use streamlined installation packages, which require almost no third-party libraries.

## 2.Ubuntu
If you need to use the complete TuGraph function, please refer to the tugraph-db source code directory ci/images/tugraph-runtime-*-Dockerfile. This script contains the complete environment construction process.

The.deb installation package for TuGraph installed on Ubuntu, which contains the TuGraph executable along with the header files and associated library files needed to write embedded programs and stored procedures.
## 2. Download the installation package

To install the tugraph_x.y.z.deb 'installation package on the terminal, run the following command:
For the latest version of the installation package address, see [Link](../../1.guide.md/#TuGraphLatest Version).

You can also visit Github to download: [TuGraph Release](https://github.com/TuGraph-family/tugraph-db/releases)

## 3. Installation method under CentOS

The .rpm installation package for TuGraph installed on CentOS, which contains the TuGraph executable file as well as header files and related library files required for writing embedded programs and stored procedures.

Use the downloaded `tugraph_x.y.z.rpm installation package to install it in the terminal. You only need to run the following command:

```shell
$ sudo dpkg -i tugraph-x.y.z.deb
$ rpm -ivh tugraph-x.y.z.rpm
```

This command installs TuGraph in the /usr/local directory by default. Users can also change the installation directory by specifying the `--instdir=<directory>` option.
Users can also specify the installation directory by specifying the `--prefix` option.

## 3.CentOS
## 4. Installation method under Ubuntu

rpm installation package for TuGraph installed on CentOS, which contains TuGraph executables as well as headers and associated libraries for writing embedded programs and stored procedures.
A .deb installation package for TuGraph installed on Ubuntu, which contains the TuGraph executable file as well as header files and related library files required for writing embedded programs and stored procedures.

To install the tugraph_x.y.z.rpm package on the terminal, run the following command:
Use the downloaded `tugraph_x.y.z.deb` installation package to install it in the terminal. You only need to run the following command:

```shell
$ rpm -ivh tugraph-x.y.z.rpm
$ sudo dpkg -i tugraph-x.y.z.deb
```

The user can also specify the installation directory by specifying the `--prefix` option.
This command installs TuGraph in the `/usr/local` directory by default. Users can also change the installation directory by specifying the `--instdir=<directory>` option.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ TuGraph currently contains the following 6 basic algorithms and 28 extended algo
| All-Pair Shortest Path | apsp |
| Betweenness Centrality | bc |
| Belief Propagation | bp |
| Closeness Centrality | cc |
| Closeness Centrality | clce |
| Common Neighborhood | cn |
| Degree Correlation | dc |
| Dimension Estimation | de |
Expand Down Expand Up @@ -92,7 +92,7 @@ The Belief Propagation algorithm is implemented in the confidence propagation pr

### 3.4.Closeness Centrality

The Distance Centrality program implements an algorithm to estimate the average length of an arbitrary vertex to Closeness the shortest path to another vertex in the graph. The smaller the distance from the center, the smallest the average shortest distance from the vertex to other vertices, which means that the vertex is more centrally located in the graph from the geometric point of view. During calculation, the number of sampling points should be given, and the calculation should be carried out based on these sampling points. Please refer to the algorithm content[https://en.wikipedia.org/wiki/Closeness_centrality](https://en.wikipedia.org/wiki/Closeness_centrality "cc wiki")
The Distance Centrality program implements the Closeness Centrality algorithm, which estimates the average shortest path length from any node to other nodes in the graph. A smaller distance centrality value indicates that the node has a smaller average shortest distance to other nodes, meaning it is more centrally located in the graph from a geometric perspective. The calculation requires specifying the number of sampling points, and the algorithm computes the centrality values for each of these sampling points. For the algorithm content, please refer to [https://en.wikipedia.org/wiki/Closeness_centrality](https://en.wikipedia.org/wiki/Closeness_centrality "clce wiki").

### 3.5.Common Neighborhood

Expand Down
Loading

0 comments on commit 44c90fc

Please sign in to comment.