modify help docs

This commit is contained in:
bookug 2017-03-01 18:50:11 +08:00
parent d35d87eb45
commit eec13233bf
4 changed files with 88 additions and 86 deletions

Binary file not shown.

View File

@ -115,7 +115,7 @@
\linespread{1.3}
\begin{document}
\title{\includegraphics[scale=0.3, bb=0 0 385 567]{../logo.png} \\
\title{\includegraphics[scale=0.3, bb=0 0 385 567]{logo.png} \\
The handbook of gStore System测试}
%\author{Bookug Lobert\footnote{EECS of Peking University, zengli-bookug@pku.edu.cn}\\[2ex]}
\author{Edited by gStore team \footnote{The mailing list is given in Chapter 12.}}
@ -266,15 +266,15 @@ NOTICE:
\item
To install readline and readline-devel, just type \texttt{dnf\ install\ readline-devel} in Redhat/CentOS/Fedora, or \texttt{apt-get\ install\ libreadline-dev} in Debian/Ubuntu. Please use corresponding commands in other systems. If you use ArchLinux, just type \texttt{pacman\ -S\ readline} to install the readline and readline-devel.(so do other packages)
\item
You do not have to install realpath to use gStore, but if you want to use the gconsole for its convenience, please do so by using \texttt{dnf\ install\ realpath} or \texttt{apt-get\ install\ realpath}. However, if you can not install realpath in your system, please go to modify the file Main/gconsole.cpp(just find the place using realpath command and remove the realpath command).
You do not have to install realpath to use gStore, but if you want to use the gconsole for its convenience, please do so by using \texttt{dnf\ install\ realpath} or \texttt{apt-get\ install\ realpath}.
\item
Our programs use regEx functions, which are provided by GNU/Linux by default. You do not need to install boost and boost-devel for more powerful regEx libraries.
Our programs use regEx functions, which are provided by GNU/Linux by default. You do not need to have to install boost and boost-devel for more powerful regEx libraries.
\item
ANTLR3.4 is used in gStore to produce lexer and parser code for SPARQL query. However, you do not need to install the corresponding antlr libraries because we have merged the libantlr3.4 in our system.
\item
When you type \texttt{make} in the root directory of the gStore project, the Java api will also be compiled. You can modify the makefile if you do not have JDK in your system. However, you are advised to install openjdk-devel in your Linux system.
\item
To install ccache, you need to add epel repository if using CentOS, while in Ubuntu you can directly install it by `apt-get install ccache` command. If you can not install ccache(or maybe you do not want to), please go to modify the makefile(just change the CC variable to g++).
To install ccache, you need to add epel repository if using CentOS, while in Ubuntu you can directly install it by 'apt-get install ccache' comand. If you can not install ccahe(or maybe you do not want to), please go to modify the makefile(just change the CC variable to g++).
\item
Any other questions, please go to \hyperref[chapter10]{FAQ} page.
\end{enumerate}
@ -513,44 +513,25 @@ by gclient or API. It communicates with client through socket.
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver -s
port=3305
Wait for input...
Server started at port 3305
\end{verbatim}
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver -t
Server stopped at port 3305
\end{verbatim}
You can also assign a custom port for listening.
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver -p 3307
port=3307
Wait for input...
\end{verbatim}
To stop the server, type:
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver -t
Port changed to 3307.
\end{verbatim}
Notice: Multiple threads are not supported by gserver. If you start up
gclient in more than one terminal in the same time, gserver will go
down.
For more options of gserver command, you can use this way:
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver
gStore Server (gServer)
Usage: bin/gserver [option]
Options:
-h,--help Display this message.
-s,--start Start gServer.
-t,--stop Stop gServer.
-r,--restart Restart gServer.
-p,--port [PORT=3305] Change connection port configuration, takes effect after restart if gServer running.
-P,--printport Display current connection port configuration.
-k,--kill Kill existing gServer process(es), ONLY use when out of normal procedures.
\end{verbatim}
\hyperdef{}{4-gclient}{\paragraph{4. gclient}\label{4-gclient}}
gclient is designed as a client to send commands and receive feedbacks.
@ -600,9 +581,6 @@ We can use these following commands now:
\item
\texttt{sparql\ "query\_string"} query the current database with a
SPARQL query string(quoted by ``'')
\item
\texttt{sparql\ query\_path} query the current database with a
SPARQL query file path(not quoted by ``'')
\item
\texttt{show} displays the name of the current loaded database
\end{itemize}
@ -1120,7 +1098,7 @@ GstoreConnector.php should be called like below:
\clearpage
\hyperdef{}{chapter06}{\subsection{Chapter 06: Hello World}\label{chapter06}}
\hyperdef{}{chapter06}{\subsection{Chapter 06: Use gStore in Web}\label{chapter06}}
\textbf{This Chapter provides a specific example on how to use our API in a web project.}
@ -1656,7 +1634,9 @@ interested in gStore.
\begin{enumerate}
\item
This version supports SPARQL 1.1 syntax(except WITH, FROM, GRAPH).
Queries related with unbounded predicates are not supported.
\item
This version only supports SPARQL select query.
\item
Only support RDF file in N3 file format. More file formats will be
supported in the next version.
@ -1875,6 +1855,34 @@ Please contact with Lei Zou(zoulei@pku.edu.cn), Li Zeng(zengli-bookug@pku.edu.cn
\hyperdef{}{chapter13}{\subsection{Chapter 13: Updated Logs}\label{chapter13}}
\hyperdef{}{jan-10-2017}{\subsubsection{Jan 10,
2017}\label{jan-10-2017}}
preFilter() function in Join module is optimazed using the pre2num structure, as well as the choose\_next\_node() function.
A global string buffer is added to lower the cost of getFinalResult(), and the time of answering queries is reduced greatly.
In addition, we assign buffers of different size for all B+ trees.(some of them are more important and more frequently used)
WangLibo merges several B+ trees into one, and the num of all B+ trees are reduced to 9 from 17.
This strategy not only reduces the space cost, but also reduces the memory cost, meanwhile speeding up the build process and query process.
What is more, ChenJiaqi has done a lot of work to optimaze the SPARQL query.
For example, some unconnected SPARQL query graphs are dealed specially.
\hyperdef{}{sep-15-2016}{\subsubsection{Sep 15,
2016}\label{sep-15-2016}}
ZengLi splits the KVstore into 3 parts according to the types of key and value, i.e. int2string, string2int and string2string.
In addition, updates are supported now.
You can insert, delete or modify some triples in the gStore database.
In fact, only insert() and remove() are implemented, while the modify() are supported by removing first and insert again.
\hyperdef{}{jun-20-2016}{\subsubsection{Jun 20,
2016}\label{jun-20-2016}}
ZengLi has enabled the gStore to answer queries with predicate variables.
In addition, the structures of many queries have been studied to speed up the query processing.
ChenJiaqi rewrites the sparql query plan to acquire a more efficient one, which brings many benefits to us.
\hyperdef{}{apr-01-2016}{\subsubsection{Apr 01,
2016}\label{apr-01-2016}}
@ -1936,7 +1944,7 @@ We implement the version of B+Tree, and replace the old one.
After testing on DBpedia, LUBM, and WatDiv benchmark, we conclude that
the new BTree performs more efficient than the old version. For the
same triple file, the new version spends shorter time on executing gbuild
same triple file, the new version spends shorter time on executing gload
command.
Besides, the new version can handle the long literal objects

Binary file not shown.

View File

@ -73,7 +73,7 @@
%set the font type
%http://blog.csdn.net/plain_jane/article/details/6189524
%http://www.tuicool.com/articles/aqYZRz
%\setCJKmainfont{AR PL UMing CN}
\setCJKmainfont{AR PL UMing CN}
\usepackage{cite}
\usepackage{etoolbox}
\usepackage{float}
@ -394,7 +394,7 @@ Gstore系统也称作gStore是一个用于管理大型图结构数据的
openjdk & 使用Java api时需要 \\
openjdk-devel & 使用Java api时需要 \\
realpath & 使用gconsole时需要 \\
ccache & 可选, 可以加速编译过程 \\
ccache & 可选可以加速编译过程 \\
\bottomrule
\end{tabular}
\caption{软件要求}
@ -408,7 +408,7 @@ Gstore系统也称作gStore是一个用于管理大型图结构数据的
\item
要安装readline和readline-devel只需要在Redhat/CentOS/Fedora中输入\texttt{dnf\ install\ readline-devel}或者在Debian/Ubuntu 中输入\texttt{apt-get\ install\ libreadline-dev}。请在其他系统中使用对应的指令。如果你使用的是ArchLinux只要输入\texttt{pacman\ -S\ readline}就可以安装readline和readline-devel。其他包也一样
\item
使用gStore不需要安装realpath但如果你想要使用gconsole请输入\texttt{dnf\ install\ realpath}\texttt{apt-get\ install\ realpath}进行安装。 然而如果你不想安装realpath请修改Main/gconsole.cpp文件(找到使用realpath的地方并移除realpath命令即可)。
使用gStore不需要安装realpath但如果你想要使用gconsole请输入\texttt{dnf\ install\ realpath}\texttt{apt-get\ install\ realpath}进行安装。
\item
我们的项目使用了正则表达式由GNU/Linux默认提供。要使用更强大的正则表达式库你不需要安装boost和boost-devel。
\item
@ -416,7 +416,7 @@ Gstore系统也称作gStore是一个用于管理大型图结构数据的
\item
当你在gStore项目的根目录下输入\texttt{make}Java api也会编译。如果你的系统里没有JDK你可以修改makefile。我们建议你在Linux系统中安装openjdk-devel。
\item
在CentOS系统上你需要添加epel源才能安装ccache但在Ubuntu系统上你可以直接安装。如果你无法安装ccache(或者你不想安装)请修改makefile文件(只需将CC变量改为g++即可)
在CentOS系统上你需要添加epel源才能安装ccache但在Ubuntu系统上可以直接用'apt-get install ccache'命令安装。如果你无法安装ccahe或者不想安装请修改makefile文件只需要将CC变量改为g++即可)
\item
其他问题请参阅\hyperref[chapter10]{【FAQ】}一章。
\end{enumerate}
@ -635,44 +635,23 @@ gserver是一个后台程序。会在使用gclient或API连接gStore时运行。
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver -s
port=3305
Wait for input...
Server started at port 3305
\end{verbatim}
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver -t
Server stopped at port 3305
\end{verbatim}
你也可以为监听分配一个定制端口。
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver -p 3307
port=3307
Wait for input...
\end{verbatim}
如果要停止gserver服务请输入
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver -t
Port changed to 3307.
\end{verbatim}
注意gserver不支持多线程。如果你同时在多个终端启动gclientgserver会崩溃。
通过以下命令可查看gserver的更多参数选项
\begin{verbatim}
[bookug@localhost gStore]$ bin/gserver
gStore Server (gServer)
Usage: bin/gserver [option]
Options:
-h,--help Display this message.
-s,--start Start gServer.
-t,--stop Stop gServer.
-r,--restart Restart gServer.
-p,--port [PORT=3305] Change connection port configuration, takes effect after restart if gServer running.
-P,--printport Display current connection port configuration.
-k,--kill Kill existing gServer process(es), ONLY use when out of normal procedures.
\end{verbatim}
\hyperdef{}{4-gclient}{\paragraph{4. gclient}\label{4-gclient}}
gclient是用于发送命令和接收反馈的客户端。
@ -720,8 +699,6 @@ gsql>
\item
\texttt{sparql\ "query\_string"} 用一个SPARQL查询字符串在``''内)查询当前数据库
\item
\texttt{sparql\ query\_path} 用一个SPARQL查询文件的路径不在``''内)查询当前数据库
\item
\texttt{show} 显示当前数据库的名称
\end{itemize}
@ -1165,7 +1142,7 @@ gStore/api/python/example/PythonAPIExample展示了如何使用python API。Pyth
\clearpage
\hyperdef{}{chapter06}{\subsection{第06章Hello World}\label{chapter06}}
\hyperdef{}{chapter06}{\subsection{第06章web应用}\label{chapter06}}
\textbf{本章提供了API的具体用例。}
@ -1627,7 +1604,7 @@ gStore中的api/文件夹用于存储API程序、库和样例请参在\hyperr
\begin{enumerate}
\item
支持SPARQL 1.1语法WITH, FROM, GRAPH这几个关键字除外
对SPARQL update查询的支持还不是很好。
\item
只支持N3格式的RDF文件。下一版本会支持更多文件格式。
\end{enumerate}
@ -1644,11 +1621,11 @@ gStore生产的数据库包含一些索引其结构可能在新的gStore版
\quad\\
你需要在你的主程序开头加入这些语句否则gStore无法正确运行\\ //NOTICE:this is needed to set several debug files\\ Util util;
\hyperdef{}{why-does-gstore-report-garbage-collection-failed-error-when-i-use-teh-java-api}{\paragraph{\texorpdfstring{我使用Java API时为什么gStore报告``garbage collection failed''错误?}{Why does gStore report garbage collection failed error when I use teh Java API?}}\label{why-does-gstore-report-garbage-collection-failed-error-when-i-use-teh-java-api}}
\hyperdef{}{why-does-gstore-report-garbage-collection-failed-error-when-i-use-teh-java-api}{\paragraph{我使用Java API时为什么gStore报告``garbage collection failed''错误?}\label{why-does-gstore-report-garbage-collection-failed-error-when-i-use-teh-java-api}}
\quad\\
你需要调整jvm参数参见\href{http://www.cnblogs.com/edwardlauxh/archive/2010/04/25/1918603.html}{url1}\href{http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html}{url2} 获取更多细节。
\hyperdef{}{when-i-compile-the-code-in-archlinux-why-the-error-that-no-ltermcap-is-reported}{\paragraph{\texorpdfstring{我在ArchLinux中编译代码时为什么报告``no -ltermcap''错误?}{When I compile the code in ArchLinux, why the error that no -ltermcap is reported?}}\label{when-i-compile-the-code-in-archlinux-why-the-error-that-no-ltermcap-is-reported}}
\hyperdef{}{when-i-compile-the-code-in-archlinux-why-the-error-that-no-ltermcap-is-reported}{\paragraph{我在ArchLinux中编译代码时为什么报告``no -ltermcap''错误?}\label{when-i-compile-the-code-in-archlinux-why-the-error-that-no-ltermcap-is-reported}}
\quad\\
在ArchLinux下你只需要用\texttt{-lreadline}连接readline库。如果你要使用ArchLinux请移除gStore根目录下makefile中的\texttt{-ltermcap}
@ -1664,7 +1641,7 @@ gStore现在不支持所有的RDF格式请参阅\href{run:../../test/format_q
\quad\\
一些文件的名称是中文,你不需要担心这个问题。
\hyperdef{}{in-centos7-if-the-watdivdba-generated-database-after-gbuild-is-copied-or-compresseduncompressed-the-size-of-watdivdb-will-be-differentgenerally-increasing-if-using-du-h-command-to-check}{\paragraph{\texorpdfstring{In centos7, if the watdiv.db(a generated database after gbuild) is copied or compressed/uncompressed, the size of watdiv.db will be different(generally increasing) if using \texttt{du\ -h} command to check?}{In centos7, if the watdiv.db(a generated database after gbuild) is copied or compressed/uncompressed, the size of watdiv.db will be different(generally increasing) if using du -h command to check?}}\label{in-centos7-if-the-watdivdba-generated-database-after-gbuild-is-copied-or-compresseduncompressed-the-size-of-watdivdb-will-be-differentgenerally-increasing-if-using-du-h-command-to-check}}
\hyperdef{}{in-centos7-if-the-watdivdba-generated-database-after-gload-is-copied-or-compresseduncompressed-the-size-of-watdivdb-will-be-differentgenerally-increasing-if-using-du-h-command-to-check}{\paragraph{在centos7系统中如果复制或压缩/解压watdiv.dbgbuild生成的一个数据库\texttt{du\ -h}命令进行检查watdiv.db的大小会改变通常会变得更大}\label{in-centos7-if-the-watdivdba-generated-database-after-gload-is-copied-or-compresseduncompressed-the-size-of-watdivdb-will-be-differentgenerally-increasing-if-using-du-h-command-to-check}}
\quad\\
是watdiv/kv\_store/中B+-树大小的改变导致整个数据库大小的改变。原因是在storage/Storage.cpp中很多操作用fseek移动文件指针。大家都知道文件是以块的形式组织的如果我们请求新的块文件指针可能移动到当前文件外gStore中的文件操作都用C实现没有报告错误然后内容将写入新的位置
@ -1678,15 +1655,15 @@ gStore现在不支持所有的RDF格式请参阅\href{run:../../test/format_q
\quad\\
在退出gclient控制台之前你需要卸载数据库否则会出现错误。
\hyperdef{}{if-query-results-contain-null-value-how-can-i-use-the-fulltest-utility-tab-separated-method-will-cause-problem-here-because-null-value-cannot-be-checked}{\paragraph{\texorpdfstring{如果查询结果包括null值我要怎么使用\href{run:../../test/full_test.sh}{full\_test} 程序用制表符分隔的方法会造成问题因为不能检测到null值}{If query results contain null value, how can I use the full\_test utility? Tab separated method will cause problem here because null value cannot be checked!}}\label{if-query-results-contain-null-value-how-can-i-use-the-fulltest-utility-tab-separated-method-will-cause-problem-here-because-null-value-cannot-be-checked}}
\hyperdef{}{if-query-results-contain-null-value-how-can-i-use-the-fulltest-utility-tab-separated-method-will-cause-problem-here-because-null-value-cannot-be-checked}{\paragraph{如果查询结果包括null值我要怎么使用\href{run:../../test/full_test.sh}{full\_test} 程序用制表符分隔的方法会造成问题因为不能检测到null值}\label{if-query-results-contain-null-value-how-can-i-use-the-fulltest-utility-tab-separated-method-will-cause-problem-here-because-null-value-cannot-be-checked}}
\quad\\
你可使用其他编程语言例如Python处理这种问题。例如你可以在输出中将null值变为`,'之类的特殊字符,然后你就可以使用\href{run:../../test/full_test.sh}{full\_test} 了。
\hyperdef{}{when-i-compile-and-run-the-api-examples-it-reports-the-unable-to-connect-to-server-error}{\paragraph{\texorpdfstring{当我编译并运行API样例时报告``unable to connect to server''错误?}{When I compile and run the API examples, it reports the unable to connect to server error?}}\label{when-i-compile-and-run-the-api-examples-it-reports-the-unable-to-connect-to-server-error}}
\hyperdef{}{when-i-compile-and-run-the-api-examples-it-reports-the-unable-to-connect-to-server-error}{\paragraph{当我编译并运行API样例时报告``unable to connect to server''错误?}\label{when-i-compile-and-run-the-api-examples-it-reports-the-unable-to-connect-to-server-error}}
\quad\\
请先用\texttt{./gserver}命令启动gStore服务器请注意服务器ip和端口号必须匹配。
\hyperdef{}{when-i-use-the-java-api-to-write-my-own-program-it-reports-not-found-main-class-error}{\paragraph{\texorpdfstring{当我使用Java API写程序的时候报告``not found main class'' 错误?}{When I use the Java API to write my own program, it reports not found main class error?}}\label{when-i-use-the-java-api-to-write-my-own-program-it-reports-not-found-main-class-error}}
\hyperdef{}{when-i-use-the-java-api-to-write-my-own-program-it-reports-not-found-main-class-error}{\paragraph{当我使用Java API写程序的时候报告``not found main class'' 错误?}\label{when-i-use-the-java-api-to-write-my-own-program-it-reports-not-found-main-class-error}}
\quad\\
请确保你在java的类路径中包含了你的程序的位置。完整的命令应该和\texttt{java\ -cp\ /home/bookug/project/devGstore/api/java/lib/GstoreJavaAPI.jar:.\ JavaAPIExample}类似,命令中的``:.''不能省略。
@ -1755,7 +1732,24 @@ gStore现在不支持所有的RDF格式请参阅\href{run:../../test/format_q
\hyperdef{}{chapter13}{\subsection{第13章更新日志}\label{chapter13}}
\hyperdef{}{apr-01-2016}{\subsubsection{2016 年4月1日}\label{apr-01-2016}}
\hyperdef{}{jan-10-2017}{\subsubsection{2017年1月10日}\label{jan-10-2017}}
Join模块中的preFilter()函数通过pre2num结构进行了优化choose\_next\_node()函数也是。加入了一个全局字符串缓存来降低getFinalResult()的开销,查询的时间大大减少。
另外我们为所有的B+树分配了不同大小的缓存(有些更加重要,且更常用)。
王力博将几个B+树合并为一个B+树的总量从17减到了9。这一策略不仅减少了空间开销还减少了内存开销并且加快了build过程和查询过程。
陈佳琪优化了SPARQL查询。例如一些未连接的SPARQL查询图可以特别处理。
\hyperdef{}{sep-15-2016}{\subsubsection{2016年9月15日}\label{sep-15-2016}}
曾立将KVstore根据键值的类型分成三部分即int2string、string2int和string2string。另外现在支持更新。你可以插入、删除或修改gStore数据库中的一些三元组。实际上只有插入和删除已经实现修改可以通过先删除再插入实现。
\hyperdef{}{jun-20-2016}{\subsubsection{2016年6月20日}\label{jun-20-2016}}
gStore可以执行包含谓词变量的查询了。另外我们研究了很多查询的结构以加快查询过程。我们重写了sparql查询计划目前这个更为有效。
\hyperdef{}{apr-01-2016}{\subsubsection{2016年4月1日}\label{apr-01-2016}}
这一项目的结构现在已经改变了很多。我们实现了一个新的连接方法并取代了旧方法。测试结果显示速度有所提升、内存消耗更低。我们还对Parser/Sparql*做了一些改变都由ANTLR 生成。代码是用C实现的因此必须做出一些修改这带来了一些定义问题还有就是它太大了。
@ -1765,7 +1759,7 @@ gStore现在不支持所有的RDF格式请参阅\href{run:../../test/format_q
文档和API也做了更改这一点比较不重要。
\hyperdef{}{nov-06-2015}{\subsubsection{2015 年11月6日}\label{nov-06-2015}}
\hyperdef{}{nov-06-2015}{\subsubsection{2015年11月6日}\label{nov-06-2015}}
我们合并了一些类例如Bstr并调整了项目结构和调试系统。
@ -1775,7 +1769,7 @@ gStore现在不支持所有的RDF格式请参阅\href{run:../../test/format_q
由于操作复杂我们不能在IDlist中添加Stream但这不是必需的。Realpath被用于支持gquery控制台中的软件连接但在Gstore中不起作用如果不是Gstore将会起作用
\hyperdef{}{oct-20-2015}{\subsubsection{2015 年10月20日}\label{oct-20-2015}}
\hyperdef{}{oct-20-2015}{\subsubsection{2015年10月20日}\label{oct-20-2015}}
我们新增了一个gtest工具你可以使用它查询数据集。
@ -1783,15 +1777,15 @@ gStore现在不支持所有的RDF格式请参阅\href{run:../../test/format_q
此外我们发现并修复了Database/中的一个错误用于调试日志的指针在fclose操作后没的被设置为NULL所以如果你关闭一个数据集再打开另一个数据集系统会无法工作因为系统认为调试日志还处于打开状态
\hyperdef{}{sep-25-2015}{\subsubsection{2015 年9月25日}\label{sep-25-2015}}
\hyperdef{}{sep-25-2015}{\subsubsection{2015年9月25日}\label{sep-25-2015}}
我们完成了B+树的版本,取代了旧版本。
在测试了DBpediaLUBM和WatDiv benchmark 后我们得出结论新的B树比旧版本更高效。对于相同的三元组文件新版本在执行gbuild指令上花费的时间更少。
在测试了DBpediaLUBM和WatDiv benchmark 后我们得出结论新的B树比旧版本更高效。对于相同的三元组文件新版本在执行gload指令上花费的时间更少。
另外新版本可以有效地处理长文本客体三元组的客体长度超过4096字节在旧版本的B树上会导致频繁的无效分隔操作。
\hyperdef{}{feb-2-2015}{\subsubsection{2015 年2月2日}\label{feb-2-2015}}
\hyperdef{}{feb-2-2015}{\subsubsection{2015年2月2日}\label{feb-2-2015}}
我们修改了RDF解析和SPARQL解析。
@ -1799,11 +1793,11 @@ gStore现在不支持所有的RDF格式请参阅\href{run:../../test/format_q
现在我们可以正确解析标准SPARQL v1.1的语法并可以支持用这一标准语法写成的基本图模式BGPSPARQL查询。
\hyperdef{}{dec-11-2014}{\subsubsection{2014 年12月11日}\label{dec-11-2014}}
\hyperdef{}{dec-11-2014}{\subsubsection{2014年12月11日}\label{dec-11-2014}}
我们添加了C/CPP和JAVA的API。
\hyperdef{}{nov-20-2014}{\subsubsection{2014 年11月20日}\label{nov-20-2014}}
\hyperdef{}{nov-20-2014}{\subsubsection{2014年11月20日}\label{nov-20-2014}}
我们将gStore作为一个遵循BSD协议的开源软件在github上分享了gStore2.0的代码。