Nebula CPP
Nebula CPP是一款C++语言的客户端,可以连接、管理Nebula Graph图数据库。
前提条件
已安装C++,GCC版本为4.8及以上。
编译安装需要准备正确的编译环境,详情请参见软硬件要求和安装三方库依赖包。
版本对照表
Nebula Graph版本 | Nebula CPP版本 |
---|---|
2.5.0 | 2.5.0 |
2.0.1 | 2.0.0 |
2.0.0 | 2.0.0 |
安装Nebula CPP
克隆Nebula CPP源码到机器。
(推荐)如果需要安装指定版本的Nebula CPP,请使用选项
--branch
指定分支。例如安装v2.5.0发布版本,请执行如下命令:$ git clone --branch v2.5.0 https://github.com/vesoft-inc/nebula-cpp.git
如果需要安装日常开发版本,请执行如下命令下载
master
分支的源码:$ git clone https://github.com/vesoft-inc/nebula-cpp.git
进入目录nebula-cpp。
$ cd nebula-cpp
创建目录build并进入该目录。
$ mkdir build && cd build
使用CMake生成makefile文件。
$ cmake -DCMAKE_BUILD_TYPE=Release ..
编译Nebula CPP。
为了适当地加快编译速度,可以使用选项
-j
并行编译。并行数量N
建议为\(\min(\text{CPU}核数,\frac{内存(GB)}{2})\)。$ make -j{N}
安装Nebula CPP。
$ sudo make install
更新动态链接库。
$ sudo ldconfig
使用方法
将CPP文件编译为可执行文件即可。接下来以SessionExample.cpp
为例,介绍如何操作。
创建
SessionExample.cpp
文件,复制粘贴示例代码。编译文件,命令如下:
$ LIBRARY_PATH=<library_folder_path>:$LIBRARY_PATH g++ -std=c++11 SessionExample.cpp -I<include_folder_path> -lnebula_graph_client -o session_example
library_folder_path
:Nebula Graph动态库文件存储路径,默认为/usr/local/nebula/lib64
。include_folder_path
:Nebula Graph头文件存储路径,默认为/usr/local/nebula/include
。
示例:
$ LIBRARY_PATH=/usr/local/nebula/lib64:$LIBRARY_PATH g++ -std=c++11 SessionExample.cpp -I/usr/local/nebula/include -lnebula_graph_client -o session_example
核心代码
详细示例请参见SessionExample。
nebula::init(&argc, &argv);
auto address = "192.168.xx.1:9669";
nebula::ConnectionPool pool;
pool.init({address}, nebula::Config{});
auto session = pool.getSession("root", "nebula");
auto result = session.execute("SHOW HOSTS");
std::cout << *result.data;
std::atomic_bool complete{false};
session.asyncExecute("SHOW HOSTS", [&complete](nebula::ExecutionResponse&& cbResult) {
std::cout << *cbResult.data;
complete.store(true);
});
session.release();