Gstore图数据库基本使用

GStore基本使用

gStore是由北京大学王选计算机研究所数据管理实验室(PKUMOD)历经十年研发面向RDF

(Resource Description Framework)数据模型的开源图数据库系统(通常称为Triple Store不同于传统基于关系数据库的知识图谱数据管理方法,gStore原生基于图数据模型(Native Graph Model),维持了原始RDF 资源描述框架知识图谱的图结构;其数据模型是有标签、有向的多边图,每个顶点对应着一个主体或客体

 

官网https://www.gstore.cn/pcsite/index.html#/documentation

 

 

 

一、三元组简介

三元组通常采用W3C定义的NT文件格式存储,如下表示了3RDF数据,其中以<>包裹的值是一个实体的URI,表示的是一个实体,而以""包裹的是字面值,表示的是实体某个属性的值,且后面通过^^表示该值的类型。如下3RDF数据,分别表示了张三这个实体的两个属性性别年龄,值分别为28,最后一条表示的是张三这个实体与李四这个实体之间存在着一个好友的关系。

<张三> <性别> ""^^<http://www.w3.org/2001/XMLSchema#String>.

<张三> <年龄> "28"^^<http://www.w3.org/2001/XMLSchema#Int>.

<张三> <好友> <李四>.

 

命令模式

 

 

一、命令组成

 

共计19个命令,大部分命令都能使用 –-help查询帮助信息

 

二、常用命令

 

1.gserver:服务控制

 

2. gbuild:数据库新增 bin/gbuild -db dbname -f filename   例:gbuild -db demo_db -f demo_file/demo_db.nt

 

3. gdrop:数据库删除bin/gdrop -db db_name   例:bin/gdrop -db demo_db

 

4. gshow:显示已有数据库

 

5.gbackup:数据库备份 bin/ gbackup -db dbname -p path ,不输入-p默认在backups目录下

 

6.grestore: 恢复数据库

 

7.gmonitor :数据库信息查询 bin/gmonitor -db db_name

 

8.gexport:数据库导出,bin/gexport -db [dbname] -f [backup_path],导出为nt文件。不输入-p默认在gstore目录下

 

9.gadd:新增数据,常用于编辑好批量新增

 

10.gsub: 批量删除(官网教程是错的)

 

11. gquery:查询命令

 

1)直接查询,bin/gquery -db db_name -q query_file(此处示例官网描述错误)

 

 

 

2)进入查询控制台bin/gquery -db dbnamequit退出

 

12.gconsole:进入控制台模式,类似于hive,quit退出

 

控制台模式

 

一、命令简介(实际加注释要报错)

 

 

 

 

二、常用命令

 

1. showdbs:显示数据库列表

 

2.show:显示数据库信息,可用于查询所有数据,-n选项后跟行数,默认前是10行

 

3. use :指定某个数据库

 

4. clear:清屏

 

SPARQL使用

 

官网地址:https://www.gstore.cn/pcsite/index.html#/documentation

 

要点:

 

1.查询所有的语句

 

SELECT *

 

WHERE {

 

    ?s ?p ?a .

 

}  

 

2.带条件查询语句:

 

select ?x ?z ?a WHERE {  {  ?x ?z <李四> . }

 

3.多条件查询关键字UNION

 

select ?x ?z ?a WHERE {  {  ?x ?z <李四> . }

 

 UNION

 

   {   ?x ?z <王五> . }

 

 }

 

 

 

4. 关于绑定变量关键字BIND:

 

使用BIND前:

 

select ?x ?z ?a WHERE {  {  ?x ?z <李四> . }

 

 UNION

 

   {   ?x ?z <王五> . }

 

 }

 

使用BIND后:

 

select ?x ?z ?a WHERE {     {         ?x ?z <李四> .         BIND("李四" AS ?a)     }     UNION     {         ?x ?z <王五> .         BIND("王五" AS ?a)     } }

 

5.插入数据

 

insert data {

 

 <张三> <性别> "男"^^<http://www.w3.org/2001/XMLSchema#String>.

 

 <张三> <年龄> "28"^^<http://www.w3.org/2001/XMLSchema#Int>.

 

 <张三> <好友> <李四>.

 

}

 

 

 

6.删除数据

 

delete where

 

{

 

   <张三> ?x ?y.

 

}

 

使用注意

 

1. 使用命令查询出来的结果和使用可视化查询出的结果不一致,可视化界面为一片空白。 

 

2.使用命令模式,所有命令都需要在store的根目录下运行。

 

3.使用命令模式更新数据后,可视化工具显示的数据可能不同步。

 

4.int类型数值最大为99

 

5.三元组不能重复

 

PS:来源内部分享

 

posted @ 2024-01-02 16:44  岁月如歌_九  阅读(67)  评论(0编辑  收藏  举报