Gstore官网学习一:知识图谱与gStore介绍
文章目录
- 一、概述
- 二、技术
- 2.1 举个例子
- 2.2 SPARQL
- 举个列子
- 三、知识图谱数据管理的一个核心问题是如何有效地存储RDF数据集和快速回答SPARQL查询
一、概述
“知识图谱”是一种数据模型是以图形(Graph)的方式来展现“实体”、实体“属性”,以及实体之间的“关系”。
二、技术
语义网框架中RDF(Resource Description Framework,资源模式框架)模型来表示数据
语义网是万维网之父蒂姆·伯纳斯-李(Tim Berners-Lee)在1998年提出的概念,其核心是构建以数据为中心的网络,即Web of Data
其中RDF是W3C的语义网框架中的数据描述的标准,通常称之为RDF三元组<主体 (subject),谓词 (predicate),宾语(object)>。
- 主体一定是一个被描述的资源,由URI来表示
- 谓词可以表示主体的属性,或者表示主体和宾语之间某种关系;
当表示属性时,宾语就是属性值,通常是一个字面值(literal);否则宾语是另外一个由URI表示的资源。
2.1 举个例子
例如:
y:Abraham_Lincoln表示一个实体URI(其中y表示前缀/)
其有三个属性(hasName,BornOndate,DiedOnDate)和一个关系(DiedIn)。
2.2 SPARQL
面向RDF数据集,W3C提出了一种结构化查询语言SPARQL;它类似于面向关系数据库的查询语言SQL。和SQL一样,SPARQL也是一种描述性的结构化查询语言。
2008年1月, SPARQL成为W3C的正式标准。SPARQL中的WHERE子句定义了查询条件,其也是由三元组来表示。
举个列子
下面的例子解释了SPARQL语言。假设我们需要在上面的RDF数据中查询“在1809年2月12日出生,并且在1865年4月15日逝世的人的姓名?” 这个查询可以表示成如下图的SPARQL语句。
三、知识图谱数据管理的一个核心问题是如何有效地存储RDF数据集和快速回答SPARQL查询
- 其一是我们可以利用已有的成熟的数据库管理系统(例如关系数据库系统)来存储知识图谱数据,将面向RDF知识图谱的SPARQL查询转换为面向此类成熟数据库管理系统的查询.
例如面向关系数据库的SQL查询,利用已有的关系数据库产品或者相关技术来回答查询。这里面最核心的研究问题是如何构建关系表来存储RDF知识图谱数据,并且使得转换的SQL查询语句查询性能更高
- 其二是直接开发面向RDF知识图谱数据的Native的知识图谱数据存储和查询系统(Native RDF图数据库系统),考虑到RDF知识图谱管理的特性,从数据库系统的底层进行优化:---->gStore系统
gStore系统属于后者,我们将RDF和SPARQL分别表示成图的形式,利用子图匹配的方法来回答SPARQL查询
例如在RDF中,主体和客体可以分别表示成RDF图中的节点,一条称述(即RDF三元组)可以表示成一条边,其中谓词是边的标签。
SPARQL语句同样可以表示成一个查询图。 图3显示了上例所对应的RDF图和SPARQL查询图结构。回答SPARQL查询本质上就是在RDF图中找到SPARQL查询图的子图匹配的位置,这就是基于图数据库的回答SPARQL查询的理论基础。在图1-3例子中,由节点005,009,010和011所推导的子图就是查询图的一个匹配,根据此匹配很容易知道SPARQL的查询结果是“Abraham Lincoln”。关于gStore的核心学术思路,请参考开发资源-论文和专利所发表的论文。
Gstore官网学习一:知识图谱与gStore介绍
文章目录
- 一、概述
- 二、技术
- 2.1 举个例子
- 2.2 SPARQL
- 举个列子
- 三、知识图谱数据管理的一个核心问题是如何有效地存储RDF数据集和快速回答SPARQL查询
一、概述
“知识图谱”是一种数据模型是以图形(Graph)的方式来展现“实体”、实体“属性”,以及实体之间的“关系”。
二、技术
语义网框架中RDF(Resource Description Framework,资源模式框架)模型来表示数据
语义网是万维网之父蒂姆·伯纳斯-李(Tim Berners-Lee)在1998年提出的概念,其核心是构建以数据为中心的网络,即Web of Data
其中RDF是W3C的语义网框架中的数据描述的标准,通常称之为RDF三元组<主体 (subject),谓词 (predicate),宾语(object)>。
- 主体一定是一个被描述的资源,由URI来表示
- 谓词可以表示主体的属性,或者表示主体和宾语之间某种关系;
当表示属性时,宾语就是属性值,通常是一个字面值(literal);否则宾语是另外一个由URI表示的资源。
2.1 举个例子
例如:
y:Abraham_Lincoln表示一个实体URI(其中y表示前缀/)
其有三个属性(hasName,BornOndate,DiedOnDate)和一个关系(DiedIn)。
2.2 SPARQL
面向RDF数据集,W3C提出了一种结构化查询语言SPARQL;它类似于面向关系数据库的查询语言SQL。和SQL一样,SPARQL也是一种描述性的结构化查询语言。
2008年1月, SPARQL成为W3C的正式标准。SPARQL中的WHERE子句定义了查询条件,其也是由三元组来表示。
举个列子
下面的例子解释了SPARQL语言。假设我们需要在上面的RDF数据中查询“在1809年2月12日出生,并且在1865年4月15日逝世的人的姓名?” 这个查询可以表示成如下图的SPARQL语句。
三、知识图谱数据管理的一个核心问题是如何有效地存储RDF数据集和快速回答SPARQL查询
- 其一是我们可以利用已有的成熟的数据库管理系统(例如关系数据库系统)来存储知识图谱数据,将面向RDF知识图谱的SPARQL查询转换为面向此类成熟数据库管理系统的查询.
例如面向关系数据库的SQL查询,利用已有的关系数据库产品或者相关技术来回答查询。这里面最核心的研究问题是如何构建关系表来存储RDF知识图谱数据,并且使得转换的SQL查询语句查询性能更高
- 其二是直接开发面向RDF知识图谱数据的Native的知识图谱数据存储和查询系统(Native RDF图数据库系统),考虑到RDF知识图谱管理的特性,从数据库系统的底层进行优化:---->gStore系统
gStore系统属于后者,我们将RDF和SPARQL分别表示成图的形式,利用子图匹配的方法来回答SPARQL查询
例如在RDF中,主体和客体可以分别表示成RDF图中的节点,一条称述(即RDF三元组)可以表示成一条边,其中谓词是边的标签。
SPARQL语句同样可以表示成一个查询图。 图3显示了上例所对应的RDF图和SPARQL查询图结构。回答SPARQL查询本质上就是在RDF图中找到SPARQL查询图的子图匹配的位置,这就是基于图数据库的回答SPARQL查询的理论基础。在图1-3例子中,由节点005,009,010和011所推导的子图就是查询图的一个匹配,根据此匹配很容易知道SPARQL的查询结果是“Abraham Lincoln”。关于gStore的核心学术思路,请参考开发资源-论文和专利所发表的论文。