Skip to content
C graph db server using tokyocabinet & libevent
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Vertex.xcodeproj updated for latest yajl and tokyocabinet Jan 31, 2013
docs find action in draft Jul 6, 2010
source updated for latest yajl and tokyocabinet Jan 31, 2013
tests new tests working Feb 5, 2010
.gitignore add Makefile to .gitignore Aug 14, 2010
Dockerfile added Dockerfile and Updated Jun 4, 2016
LICENSE Small formatting fixes to Jan 21, 2018
TODO.txt listen on Oct 28, 2009
vertexdb.tmproj updated for latest yajl and tokyocabinet Jan 31, 2013
vertexdb_admin simple administration tool vertexdb_admin. can backup, clear, collect… Oct 9, 2010


Vertex is a high performance graph database that supports automatic garbage collection, built on libevent and tokyocabinet. It uses HTTP as its communication protocol and JSON as its response data format. It's BSD licensed and was written by Steve Dekorte and Rich Collins. See docs/manual.html for API and more details.


Currently in production use and working well so far. The API is still not set in stone though.


Compiling on Mac OS X

sudo port install yajl tokyocabinet libevent libzip
# or if you are using homebrew
brew install yajl tokyo-cabinet libevent
cmake .
sudo make install

If all was fine, in build/vertexdb will be bin file


vertexdb -db blog1.db

or as daemon

sudo vertexdb -db /opt/database -d --pid /var/run/

Possible options:

--database <file> -db <file> Database file
--port <num>      -p <num>   TCP port number to listen on (default: 8080)
--host <ip>       -H <ip>    Network interface to listen (default:
--daemon          -d         Run as a daemon
--log <file>                 Log file location
--pid <file>                 Pid file location
--debug                      Be more verbose
--hardsync                   Run with hard syncronization
--help            -h         Show this help


May add support for more complex queries and dynamic/automatic index creation based on observed queries.

Dynamic languages support

  • ruby - comming soon (or ask in pm)

Docker Support

If you have Docker installed, you can build a Docker image and run it in a container

docker build -t vertexdb . # build
docker run -d -p 8080:80 --name myVertexdb vertexdb # running on PORT 8080 (On MAC, the IP address of the container is given via Kitematic)

or get an image of vertexdb directly from the Docker Hub

docker run -d  -p 8080:80 -e OPTS="" --name myVertexdb earvin/vertexdb 

OPTS could be

  • "--hardsync",
  • "--debug",
  • both or ""
You can’t perform that action at this time.