Skip to content

BitnineGlobal/agensgraph

Repository files navigation

AgensGraph: Powerful Multi-Model Graph Database

Build Status

AgensGraph Logo

AgensGraph is a cutting-edge multi-model graph database designed for modern complex data environments. By supporting both relational and graph data models simultaneously, AgensGraph allows developers to seamlessly integrate legacy relational data with the flexible graph data model within a single database. AgensGraph is built on the robust PostgreSQL RDBMS, providing a highly reliable, fully-featured platform ready for enterprise use.

Key Features

  • Multi-Model Support: Combines relational and graph data models.
  • Query Languages: Supports ANSI-SQL and openCypher (openCypher).
  • Seamless Integration: Integrate SQL and Cypher queries within a single query.
  • Enterprise-Ready: ACID transactions, multi-version concurrency control, stored procedures, triggers, constraints, sophisticated monitoring, and flexible data models (JSON).
  • Extensible: Leverages PostgreSQL's rich ecosystem, including modules like PostGIS.

Building from Source

Follow these steps to build AgensGraph from the source code:

  1. Clone the Repository

    $ git clone https://github.com/bitnine-oss/agensgraph.git
  2. Install Dependencies

    • CentOS:
      $ yum install gcc glibc glib-common readline readline-devel zlib zlib-devel
    • Fedora:
      $ dnf install gcc glibc bison flex readline readline-devel zlib zlib-devel
    • RHEL:
      $ yum install gcc glibc glib-common readline readline-devel zlib zlib-devel flex bison
    • Ubuntu:
      $ sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison
    • macOS (install Xcode):
      $ xcode-select --install
  3. Configure the Source Tree

    $ ./configure --prefix=$(pwd)

    By default, make install installs files in /usr/local/pgsql/bin, /usr/local/pgsql/lib, etc. Specify an installation prefix to the current directory. If configure encounters missing headers, use --with-includes=/path/to/headers.

  4. Build and Install AgensGraph

    $ make install
  5. Set Up Environment Variables

    • Add the install path to the PATH environment variable:
      $ . ag-env.sh
      OR edit your /.bashrc file (/.bash_profile on macOS):
      $ echo "export PATH=/path/to/agensgraph/bin:\$PATH" >> ~/.bashrc
      $ echo "export LD_LIBRARY_PATH=/path/to/agensgraph/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
  6. Optional: Build and Install with Additional Modules

    $ make install-world
  7. Optional: Set AGDATA Environment Variable

    $ echo "export AGDATA=/path/to/agensgraph/data" >> ~/.bashrc

AgensGraph Drivers

AgensGraph supports various drivers for seamless connection and interaction with the database. Below are the supported drivers:

Driver Description
JDBC JDBC Driver
Enables Java applications to interact with AgensGraph.
Python Python Driver
Facilitates interaction between Python applications and AgensGraph.
Node.js Node.js Driver
Allows Node.js applications to interface with AgensGraph.
Go Go Driver
Provides connectivity for Go applications to AgensGraph.

Documentation

Comprehensive documentation is available to help you get started with AgensGraph and make the most of its features.

  • Quick Start Guide: Learn how to quickly set up and start using AgensGraph.

AgensGraphViewer

AgensGraphViewer is a web-based user interface that provides visualization of graph data stored in an AgensGraph database. It allows users to easily interact with and visualize their graph data, making it easier to understand and analyze complex relationships within the database.

  • Web-Based Interface: Accessible through any web browser.
  • Graph Visualization: Provides interactive visualization tools for graph data.
  • User-Friendly: Intuitive interface designed for ease of use.
  • Real-Time Interaction: Allows for real-time data updates and interaction with graph data.

AgensGraphViewer Screenshot

For more information and to get started with AgensGraphViewer, visit the AgensGraphViewer GitHub repository.

License