Go to file
AOZMH 62940eea10
fix garbled-code bug of python http-api, uniform encoding to utf8 (#93)
2020-09-26 11:35:16 +08:00
.debug add insertion and deletion;move new version here 2016-09-16 16:56:18 +08:00
.objs add insertion and deletion;move new version here 2016-09-16 16:56:18 +08:00
.tmp style: add .tmp/web 2017-07-31 12:22:20 +08:00
COVERAGE fix bugs in gclient 2017-02-08 16:29:53 +08:00
Database debug the parse of query 2020-07-20 12:33:02 +08:00
KVstore style: change all code to clang-format 2020-07-12 16:09:13 +08:00
Main debug the ghttp process 2020-07-20 12:24:14 +08:00
Parser debug the QueryParser 2020-07-22 10:10:08 +08:00
Query debug the query process 2020-07-21 09:49:11 +08:00
Server style: change all code to clang-format 2020-07-12 16:09:13 +08:00
Signature style: change all code to clang-format 2020-07-12 16:09:13 +08:00
StringIndex style: change all code to clang-format 2020-07-12 16:09:13 +08:00
Trie style: change all code to clang-format 2020-07-12 16:09:13 +08:00
Util style: change all code to clang-format 2020-07-12 16:09:13 +08:00
VSTree style: change all code to clang-format 2020-07-12 16:09:13 +08:00
api fix garbled-code bug of python http-api, uniform encoding to utf8 (#93) 2020-09-26 11:35:16 +08:00
backups docs: remove some nonsense files 2018-10-14 22:46:04 +08:00
bin add insertion and deletion;move new version here 2016-09-16 16:56:18 +08:00
data update the values of coreversion and apiversion in version.nt 2020-03-26 15:31:54 +08:00
docs Update ESSAY.md 2019-09-09 21:36:28 +08:00
garbage style: change all code to clang-format 2020-07-12 16:09:13 +08:00
lib add insertion and deletion;move new version here 2016-09-16 16:56:18 +08:00
logs docs: add README in logs/endpoint; 2017-07-25 23:22:04 +08:00
scripts style: change all code to clang-format 2020-07-12 16:09:13 +08:00
tools fix: use rapidjson 2018-11-18 22:14:51 +08:00
.gitattributes docs: forbid git attributes 2018-11-04 16:11:39 +08:00
.gitignore docs: add ignore files 2018-11-19 15:16:40 +08:00
Dockerfile Modify the Dockerfile 2019-12-17 19:19:35 +08:00
LICENSE add LICENSE for branch master 2017-03-23 13:33:53 +08:00
NOTES.md refactor: release 0.5.0 2017-08-07 13:39:34 +08:00
README.md docs: update expressions in readme 2020-08-31 21:32:54 +08:00
init.conf refactor: fix ghttp and add function 2017-07-29 12:00:51 +08:00
makefile Add gexport and update gmonitor, gshow, ginit. 2019-07-27 22:42:15 +08:00
package.json refactor: move id_tuples to disk in build 2017-03-29 13:48:39 +08:00

README.md

gStore

gStore is a graph database engine for managing large graph-structured data, which is open-source and targets at Linux. This project is written in C++, with the help of some libraries such as readline, antlr, and so on. Only source tarballs are provided currently, which means you have to compile the source code if you want to use gStore.

The formal help document is in English(EN) and 中文(ZH).

The formal experiment result is in Experiment.

We have built an IRC channel named #gStore on freenode, and you can visit the homepage of gStore.

Getting Started

Compile from Source

This system is really user-friendly and you can pick it up in several minutes. Remember to check your platform where you want to run this system by viewing System Requirements. After all are verified, please get this project's source code. There are several ways to do this:

  • (suggested)type git clone https://github.com/pkumod/gStore.git in your terminal or use git GUI to acquire it

  • download the zip from this repository and extract it

  • fork this repository in your github account

Then you need to compile the project, for the first time you need to type make pre to prepare the ANTLR library and some Lexer/Parser programs. Later you do not need to type this command again, just use the make command in the home directory of gStore, then all executables will be generated. (For faster compiling speed, use make -j4 instead, using how many threads is up to your machine) To check the correctness of the program, please type make test command.

The first strategy is suggested to get the source code because you can easily acquire the updates of the code by typing git pull in the home directory of gStore repository. In addition, you can directly check the version of the code by typing git log to see the commit logs. If you want to use code from other branches instead of master branch, like 'dev' branch, then:

  • clone the master branch and type git checkout dev in your terminal

  • clone the dev branch directly by typing git clone -b dev

Deploy via Docker

You can easily deploy gStore via Docker. We provide both of Dockerfile and docker image. Please see our Docker Deployment Doc(EN) or Docker部署文档(中文) for details.

Run

To run gStore, please type bin/gbuild database_name dataset_path to build a database named by yourself. And you can use bin/gquery database_name command to query an existing database. What is more, bin/ghttp is a wonderful tool designed for you, as a database server which can be accessed via HTTP protocol. Notice that all commands should be typed in the root directory of gStore, and your database name should not end with ".db".


Advanced Help

If you want to understand the details of the gStore system, or you want to try some advanced operations(for example, using the API, server/client), please see the chapters below.


Other Business

Bugs are recorded in BUG REPORT. You are welcomed to submit the bugs you discover if they do not exist in this file.

We have written a series of short essays addressing recurring challenges in using gStore to realize applications, which are placed in Recipe Book.

You are welcome to report any advice or errors in the github Issues part of this repository, if not requiring in-time reply. However, if you want to urgent on us to deal with your reports, please email to gjsjdbgroup@pku.edu.cn to submit your suggestions and report bugs. A full list of our whole team is in Mailing List.

There are some restrictions when you use the current gStore project, you can see them on Limit Description.

Sometimes you may find some strange phenomena(but not wrong case), or something hard to understand/solve(don't know how to do next), then do not hesitate to visit the Frequently Asked Questions page.

Graph database engine is a new area and we are still trying to go further. Things we plan to do next is in Future Plan chapter, and we hope more and more people will support or even join us. You can support in many ways:

  • watch/star our project

  • fork this repository and submit pull requests to us

  • download and use this system, report bugs or suggestions

  • ...

People who inspire us or contribute to this project will be listed in the Thanks List chapter.