This action will force synchronization from 科学大数据开源社区/图数据库系统-gStore, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
This chapter introduce the whole structure of the gStore system project.
Database/ (calling other core parts to deal with requests from interface part)
Database.cpp (achieve functions)
Database.h (class, members and functions definitions)
Join.cpp (join the node candidates to get results)
Join.h (class, members,, and functions definitions)
KVstore/ (a key-value store to swap between memory and disk)
KVstore.cpp (interact with upper layers)
heap/ (a heap of nodes whose content are in memory)
node/ (all kinds of nodes in B+-tree)
Node.cpp (the base class of IntlNode and LeafNode)
IntlNode.cpp (internal nodes in B+-tree)
LeafNode.cpp (leaf nodes in B+-tree)
storage/ (swap contents between memory and disk)
tree/ (implement all tree operations and interfaces)
Query/ (needed to answer SPARQL query)
BasicQuery.cpp (basic type of queries without aggregate operations)
IDList.cpp (candidate list of a node/variable in query)
ResultSet.cpp (keep the result set corresponding to a query)
SPARQLquery.cpp (deal with a entire SPARQL query)
Signature/ (assign signatures for nodes and edges, but not for literals)
VSTree/ (an tree index to prune more efficiently)
SparqlParser.c (auto-generated, subtle modified manually, compressed)
SparqlParser.h (auto-generated, subtle modified manually, compressed)
SparqlLexer.c (auto-generated, subtle modified manually, compressed)
SparqlLexer.h (auto-generated, subtle modified manually, compressed)
Util.cpp (headers, macros, typedefs, functions...)
Bstr.cpp (represent strings of arbitrary length)
Bstr.h (class, members and functions definitions)
Stream.cpp (store and use temp results, which may be very large)
Triple.cpp (deal with triples, a triple can be divided as subject(entity), predicate(entity), object(entity or literal))
Server/ (client and server mode to use gStore)
Main/ (a series of applications/main-program to operate on gStore)
gload.cpp (import a RDF dataset)
gquery.cpp (query a database)
gserver.cpp (start up the gStore server)
gclient.cpp (connect to a gStore server and interact)
If you want to know the sequence of a running gStore, please view the list below:
It is really not strange to see something different with the original design in the source code. And some designed functions may have not be achieved so far.
The api/ folder in gStore is used to store API program, libs and examples, please go to API for details. And test/ is used to store a series test programs or utilities, such as gtest, full_test and so on. Chapters related with test/ are How To Use and Test Result. This project need an ANTLR lib to parse the SPARQL query, whose code is placed in tools/(also archived here) and the compiled libantlr.a is placed in lib/ directory.
We place some datasets and queries in data/ directory as examples, and you can try them to see how gStore works. Related instructions are in How To Use. The docs/ directory contains all kinds of documents of gStore, including a series of markdown files and two folders, pdf/ and jpg/. Files whose type is pdf are placed in pdf/ folder, while files with jpg type are placed in jpg/ folder.
You are advised to start from the README in the gStore root directory, and visit other chapters only when needed. At last, you will see all documents from link to link if you are really interested in gStore.