#gStore-weekly | gStore常用命令/基本用法之增删改查

图片

gStore针对RDF三元组数据增删改查都怎么使用呢,有哪些常用命令和用法,我在使用过程中进行了总结:

1. 新增数据

如何向gStore数据库中插入RDF三元组数据呢,我们可以通过以下几种方式:

  • 使用文件添加:gStore有个gadd命令,用于将文件中的三元组插入现有数据库。使用方法如下:
 bin/gadd db_namerdf_triple_file_path

rdf_triple_file_path指带".nt"或者".n3"后缀的文件路径

  • 使用编写SPARQL语句添加:SPARQL定义中可以通过insert data指令来实现数据插入,基于此原理,用户也可以通过编写SPARQL插入语句,然后使用gStore的gquery工具来实现数据插入:
insert data {
    <张三> <性别>"男"^^<http://www.w3.org/2001/XMLSchema#String>.
<张三> <年龄>"28"^^<http://www.w3.org/2001/XMLSchema#Int>.
<张三> <好友> <李四>.
}

2. 删除数据

如何向gStore数据库中删除某个RDF三元组数据呢,我们可以通过以下几种方式:

  • 使用文件删除:gStore有个gsub命令,用于从现有数据库中删除文件中的三元组。使用方法如下:
bin/gsubdb_name rdf_triple_file_path

rdf_triple_file_path指带".nt"或者".n3"后缀的文件路径

例如从lubm数据库中删除lubm.nt中的三元组数据

 [root@localhost gStore]$ bin/gsub lubm./data/lubm/lubm.nt
...
argc: 3 DB_store:lubm  remove file: ./data/lubm/lubm.nt
...
remove rdf triples done.
removed triples num: 99550
  • 使用编写SPARQL语句删除:SPARQL定义中可以通过delete data指令来实现数据删除,基于此原理,用户也可以通过编写SPARQL删除语句,然后使用gStore的gquery工具来实现数据删除:
delete data {
    <张三> <性别>"男"^^<http://www.w3.org/2001/XMLSchema#String>.
<张三> <年龄>"28"^^<http://www.w3.org/2001/XMLSchema#Int>.
<张三> <好友> <李四>.
}

另外,SPARQL中还可以通过delete where语句来实现根据子查询结构删除数据,例如我们要删除张三实体的所有信息(包括属性和关系):

delete where
{
   <张三> ?x ?y.
}

3. 修改数据

在gstore中,没有直接的修改数据的命令,我们可以通过先删除原数据,再新增实现数据的修改。

4. 查询数据

数据库查询是gStore最重要的功能之一,数据查询支持使用包含SPARQL查询的文件查询现有数据库。

如查询名为db_name的数据库,输入以下命令:

bin/gquery db_name query_file

参数含义:query_file:以“.sql”结尾的SPARQL语句存放的文件路径(其他后缀名也可以),其中query_file中的具体查询语句语法非常丰富,请查看往期分享。

例如,我们执行./data/lubm/lubm_q0.sql中的SPARQL语句查询lubm数据库

[root@localhost gStore]$ bin/gquery lubm./data/lubm/lubm_q0.sql
There has answer: 15
final result is :
?x
<http://www.Department0.University0.edu/FullProfessor0>
<http://www.Department1.University0.edu/FullProfessor0>
<http://www.Department2.University0.edu/FullProfessor0>
<http://www.Department3.University0.edu/FullProfessor0>
<http://www.Department4.University0.edu/FullProfessor0>
<http://www.Department5.University0.edu/FullProfessor0>
<http://www.Department6.University0.edu/FullProfessor0>
<http://www.Department7.University0.edu/FullProfessor0>
<http://www.Department8.University0.edu/FullProfessor0>
<http://www.Department9.University0.edu/FullProfessor0>
<http://www.Department10.University0.edu/FullProfessor0>
<http://www.Department11.University0.edu/FullProfessor0>
<http://www.Department12.University0.edu/FullProfessor0>
<http://www.Department13.University0.edu/FullProfessor0>
<http://www.Department14.University0.edu/FullProfessor0>

了解gquery的详细使用,可以输入以下命令进行查看:

bin/gquery --help

也可进入gquery控制台来进行查询:

bin/gquerydb_name

程序显示命令提示符(“gsql>”),您可以在此处输入命令使用help看到所有命令的基本信息输入 quit 以退出gquery控制台。对于sparql 命令, 使用sparqlquery_file执行SPARQL查询语句,query_file为存放SPARQL语句的文件路径。当程序完成回答查询时,它会再次显示命令提示符。 PS:在使用命令行gquery查询中需要注意以下问题:

  • 如果没有答案,将打印“[empty result]”,并且在所有结果后面都有一个空行。
  • 使用readline lib,因此您可以使用键盘中的箭头键查看命令历史记录,并使用和箭头键移动和修改整个命令。
  • 实用程序支持路径完成。(不是内置命令完成)
  • 注意不能直接cd到bin目录下,而要在gStore安装根目录执行gquery操作

我们还可以通过可视化工具(gworkbench)和HTTP API(ghttp)进行查询,gworkbench的查询可在云端版本试用gStore云端版试用http://cloud.gstore.cn/,ghttp是gStore提供的外部访问接口,是一个http API服务,用户通过向ghttp发送http请求,可以实现对gStore的远程连接和远程操作,这个大家也可以自行去体验试试。

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

图片

诚邀大家参加

·gStore-weekly技术文章征集活动·

相关技术文章,包含但不限于以下内容:系统技术解析、案例分享、实践总结、开发心得、客户案例、使用技巧、学习笔记等。文章要求原创。

入选周刊即送精美礼品~

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值