Skip to content

NebulaGraph CPP

NebulaGraph CPP is a C++ client for connecting to and managing the NebulaGraph database.

Limitations

You have installed C++ and GCC 4.8 or later versions.

Compatibility with NebulaGraph

NebulaGraph version NebulaGraph CPP version
3.3.0 3.3.0
3.1.0 ~ 3.2.x 3.0.2
3.0.0 3.0.0
2.6.x 2.5.0
2.5.x 2.5.0
2.0.x 2.0.0

Install NebulaGraph CPP

This document describes how to install NebulaGraph CPP with the source code.

Prerequisites

Steps

  1. Clone the NebulaGraph CPP source code to the host.

    • (Recommended) To install a specific version of NebulaGraph CPP, use the Git option --branch to specify the branch. For example, to install v3.3.0, run the following command:

      $ git clone --branch release-3.3 https://github.com/vesoft-inc/nebula-cpp.git
      
    • To install the daily development version, run the following command to download the source code from the master branch:

      $ git clone https://github.com/vesoft-inc/nebula-cpp.git
      
  2. Change the working directory to nebula-cpp.

    $ cd nebula-cpp
    
  3. Create a directory named build and change the working directory to it.

    $ mkdir build && cd build
    
  4. Generate the makefile file with CMake.

    Note

    The default installation path is /usr/local/nebula. To modify it, add the -DCMAKE_INSTALL_PREFIX=<installation_path> option while running the following command.

    $ cmake -DCMAKE_BUILD_TYPE=Release ..
    

    Note

    If G++ does not support C++ 11, add the option -DDISABLE_CXX11_ABI=ON.

  5. Compile NebulaGraph CPP.

    To speed up the compiling, use the -j option to set a concurrent number N. It should be \(\min(\text{CPU}core number,\frac{the_memory_size(GB)}{2})\).

    $ make -j{N}
    
  6. Install NebulaGraph CPP.

    $ sudo make install
    
  7. Update the dynamic link library.

    $ sudo ldconfig
    

Use NebulaGraph CPP

Compile the CPP file to an executable file, then you can use it. The following steps take using SessionExample.cpp for example.

  1. Use the example code to create the SessionExample.cpp file.

  2. Run the following command to compile the file.

    $ 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: The storage path of the NebulaGraph dynamic libraries. The default path is /usr/local/nebula/lib64.
    • include_folder_path: The storage of the NebulaGraph header files. The default path is /usr/local/nebula/include.

For example:

$ 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

Core of the example code

Nebula CPP clients provide both Session Pool and Connection Pool methods to connect to NebulaGraph. Using the Connection Pool method requires users to manage session instances by themselves.

  • Connection Pool

    For more details about all the code, see SessionExample.


Last update: February 19, 2024