gStore常用命令/基本用法之增删改查
gStore针对RDF三元组数据增删改查都怎么使用呢,有哪些常用命令和用法,我在使用过程中进行了总结:
使用文件添加:gStore有个gadd命令,用于将文件中的三元组插入现有数据库。使用方法如下:
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>.
<张三> <好友> <李四>.
}
使用文件删除:gStore有个gsub命令,用于从现有数据库中删除文件中的三元组。使用方法如下:
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.
}
在gstore中,没有直接的修改数据的命令,我们可以通过先删除原数据,再新增实现数据的修改。
数据库查询是gStore重要的功能之一,数据查询支持使用包含SPARQL查询的文件查询现有数据库。
如查询名为db_name的数据库,输入以下命令:
bin/gquery db_name query_file
参数含义:query_file:以“.sql”结尾的SPARQL语句存放的文件路径(其他后缀名也可以),其中query_file中的具体查询语句语法非常丰富,请查看往期分享。
[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>
如果没有答案,将打印“[empty result]”,并且在所有结果后面都有一个空行。 使用readline lib,因此您可以使用键盘中的箭头键查看命令历史记录,并使用和箭头键移动和修改整个命令。 实用程序支持路径完成。(不是内置命令完成) 注意不能直接cd到bin目录下,而要在gStore安装根目录执行gquery操作
相关文章