GraphAM

A Graph Algorithm Management

Stars
2

GraphAM

GraphAM, a graph platform to provide c++ API to run graph algorithm.It incorporates various high level graph algorithms such as Single Source Shortest Path(SSSP) to deliver high performance experience.

Prerequisite

These codes are implemented and tested with cmake>=2.8, boost, glog and gflags with ubuntu16.04, install glog and gflags is rather simple, just use apt-get

sudo apt-get update
sudo apt-get install -y libgoogle-glog-dev libgflags-dev libboost-all-dev

Algorithm

Single Source Shortest Path

Weakly Connected Component

Prim's Minimum Spanning Tree

Breadth-first search

PageRank

compile and Install

git clone <this-repository>
cd GraphAM
mkdir build && cd build
cmake .. && make -j4

How to run

Prepare DataSet

vertex file format

# each vertex in one line
# with format: v_id, followd its value
0   10
1   73
2   23
3   8
4   98

edge file format

# Undirected graph
# each edge in one line
# with format: src_id dst_id, followd its value
0   1   28
1   4   38
33  23  22
82  22  11
28  28  10

Run Command

./graph-engine --vfile <path-to-your-point-file> --efile <path-to-your-edge-file> --query <you-algorithm-query> --algo_dynamic_lib <the-dynamic-library-name-of-algorithm> --output <the-result-output-path>

- with sssp algorithm
./graph-engine --vfile ./graph_test/twitter.v --efile ./graph_test/twitter.e --query (4) --algo_dynamic_lib libapp_sssp.so --output ./

Run algorithm test

# make sure you are in build directory
../misc/run_and_test.sh

  var dzl = {
    name  : "",
    site : "http://pvp.qq.com"
  }