暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

#gStore-weekly | gStore常用API接口

图谱学苑 2021-08-12
1493

gStore提供了HTTP APIsocket API ,分别对应ghttpgserver。其中socket API目前暂停维护。而且HTTP APIsocket API 相比,更稳定且能保持连接,也更规范。今天就来讲讲ghttp的使用方法。
1.     ghttp简介

ghttp通过http服务向用户提供API服务ghttp组件提供c++javapythonphpnodejs API。请参考源码文件的api/http/cpp

api/http/java

api/http/python

api/http/php

api/http/nodejs
中的示例代码。我们用java API进行接口介绍,其中一共有13个接口。

2.     开启ghttp服务

我们需要指定一个端口,并打开这个端口,。从浏览器访问特定的URL gStore 就能执行相应的操作。
输入如下命令打开ghttp
bin/ghttp db_name serverPort 
或者 bin/ghttp serverPort db_name
参数含义:db_name


.db

结尾的数据库名称,serverPort

http服务监听端口,该端口需要手动指定,且需保证该端口不会被服务器防火墙禁止。
    Tips    
  • 参数
     serverPort 

     db_name 
    可以省略。如果省略了
     serverPort
    ,其值会被默认设置为
     9000 
    。如果省略了
     db_n
    ame
    ,服务会以没有
     load 
    数据库的形式启动。


在开启ghttp服务后,可以通过浏览器访问:http://serverip:port/
。其中serverip
gstore服务器所在的ip地址,port
ghttp启动的端口。

3.     关闭ghttp服务

gStore HTTP访问端口可以停止gStoreghttp服务。关闭命令如下:
bin/shutdown serverPort
    Tips   
  • 不要试图通过 Ctrl+C 来停止 ghttp ,这会导致数据库的变更丢失。


4.     常用接口

Java API主要对外接口在gStore/api/http/java/src/jgsc/GstoreConnector.java
下,主要函数如下:

l  
构造初始化函数:GstoreConnector

函数声明:public class GstoreConnector(String serverIP, int serverPort, String username, String password);
功能:初始化   
参数含义:[服务器IP][服务器上ghttp端口][用户名][密码]
使用示例:GstoreConnector gc = new GstoreConnector("127.0.0.1", 9000, "root", "123456");

l  
构建数据库build

函数声明:public String build(String db_name, String rdf_file_path, String request_type);
功能:通过RDF文件新建一个数据库
参数含义:[数据库名称][.nt文件路径][请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.build("lubm", "data/lubm/lubm.nt");

l  
加载数据库:load

函数声明:public String load(String db_name, String request_type);
功能:加载你建立的数据库
参数含义:[数据库名称][请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.load("lubm");


停止加载数据库:unload


函数声明:public String unload(String db_name, String request_type);
功能:停止加载数据库
参数含义:[数据库名称][请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.unload("lubm");


用户管理:user

函数声明:public String user(String type, String username2, String addition, String request_type);
功能:添加、删除用户或修改用户的权限,必须由根用户执行操作
参数含义:["add_user
"添加用户,"delete_user
"删除用户,"add_query
"添加查询权限,"delete_query
"删除查询权限,"add_load"
添加加载权限,"delete_load
"删除加载权限,"add_unload
"添加不加载权限,"delete_unload
"删除不加载权限,"add_update
"添加更新权限,"delete_update
"删除更新权限,"add_backup
"添加备份权限,"delete_bakup
"删除备份权限,"add_restore
"添加还原权限,"delete_restore
"删除还原权限,"add_export
"添加导出权限,"delete_export
"删除导出权限]
[用户名],[密码],[请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:
gc.user("add_user", "user1", "111111"); //添加用户名为“user1”,密码为“111111”的用户。
gc.user("add_query", "user1", "lubm");//添加数据库“lubm”里用户名为“user1”查询权限。

l  
显示用户:showUser

函数声明:public String showUser(String request_type);
功能:显示所有用户
参数含义:[请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.showUser();

l  
数据库查询:query

函数声明:public String query(String db_name, String format, String sparql, String request_type);
功能:查询数据库
参数含义:[数据库名称][查询结果类型json,htmltext][sparql语句][请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:String res = gc.query("lubm", "json", sparql);

l  
删除数据库:drop

函数声明:public String drop(String db_name, boolean is_backup, String request_type);
功能:直接删除数据库或删除数据库同时留下备份
参数含义:[数据库名称][false不备份,true备份][请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.drop("lubm", false);  //不备份删除数据库“lubm

l  
监控数据库:monitor

函数声明:public String monitor(String db_name, String request_type);
功能:显示特定数据库的信息
参数含义:[数据库名称][请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.monitor("lubm");//含义是监控“lubm”数据库,并显示特定信息。

l  
保存数据库:checkpoint

函数声明:public String checkpoint(String db_name, String request_type);
功能:如果更改了数据库,保存数据库
参数含义:[数据库名称][请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.checkpoint("lubm");

l  
展示数据库:show

函数声明:public String show(String request_type);
功能:显示所有已创建的数据库
参数含义:[请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.show();

l  
查询数据库并保存文件:fquery

函数声明:public void fquery(String db_name, String format, String sparql, String filename, String request_type);
功能:查询数据库并保留结果到文件
参数含义:[数据库名称][查询结果类型json,htmltext][sparql语句][文件名称][请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.fquery("lubm", "json", sparql, "ans.txt");

l  
导出数据库:exportDB

函数声明:public String exportDB(String db_name, String dir_path, String request_type);
功能:导出数据库到文件夹下
参数含义:[数据库名称][数据库导出的文件夹路径][请求类型"GET""post",如果请求类型为“GET”,则可以省略]
使用示例:gc.exportDB("lubm", "/root/gStore/");
    以上是gStore常用java API,感兴趣的朋友,可以启动API服务,并尝试连接它,其他编程语言的API调用大同小异,具体可查看对应gStore/api/http/
下的对应文件。

针对gStore有任何问题也可通过加运营小哥哥微信,邀请加入gStore图谱社区咨询。

诚邀大家参加
·gStore-weekly技术文章征集活动·
  相关技术文章,包含但不限于以下内容:系统技术解析、案例分享、实践总结、开发心得、客户案例、使用技巧、学习笔记等。文章要求原创。
  入选周刊即送精美礼品~

最后修改时间:2021-08-12 09:53:13
文章转载自图谱学苑,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论