一、RDF
RDF(资源描述框架)。RDF中任何实体都被称之为资源(Resouce),用一个统一的国际化标识符(IRI)来唯一标识。资源的属性可以被定义,资源之间的关系也可以被定义。RDF允许引入不包含任何IRI标示的资源,被称为空白节点或匿名资源,用于标示一种存在变量。空白节点不能用IRI来全局处理,所以为了区分不同的空白节点,RDF解析器一般会为每个空白节点分配一个系统生成的内部名。
1、国际化资源标识符IRI
IRI是一个用来标识资源的字符串,是数据集中资源的一个唯一的身份ID;当原始的IRI长度过长时,为了方便表达可以引入前缀命名空间等方式来简化
2、RDF三元组
每个资源的一个属性及其属性值,或者与其他资源的一条关系,都可以被表示为<主体,谓词,客体>的三元组的形式,一个三元组也可以叫做陈述
-
主体:是一个资源或者一个空白节点
-
属性/谓词:用来描述资源之间的语义关系,或者描述某个资源和属性值之间的关系
-
客体:可以是一个资源/字面值/空白节点
3、RDF图
三元组的主体和客体是RDF图中的一系列节点,一个谓词的资源标识符在同一张图里面可以充当节点,也可以充当边。
4、RDF字面值
字面值只会出现在RDF三元组的客体中。有两种表达方式:
-
朴素文本:普通意义上的字符串
-
类别化文本:可以指定某个字面值的数据类型,包括xsd:integer等
5、RDF空白节点
空白节点是指没有统一资源标识符同时在知识图谱数据集外部不需要直接访问的节点。空白节点的引入可以更加方便的表达多元关系和结构化的数据值
6、RDF Schema
用来表达实体与类别、以及类别之间、以及属性与属性、属性的定义域、值域之间的关系。
RDF预定义了一些核心概念和核心属性,这些概念并不提供某个领域专用的类别和属性,但是RDFS为定义某个领域的本体概念提供了基础。
二、SPARQL查询语言
1、介绍
-
从语法上借鉴了SQL,同样属于声明式查询语言
-
提供了强大的基于图匹配的查询功能,也包括可选匹配(OPTIONAL),对结果的排序(ORDER BY)、去重(DISTINCT)和限定(LIMIT)及值约束条件(FILTER)等多种操作符,以及直接回答YES/NO的ASK查询等其他形式的查询。同时也具备增删改的功能
2、语法
3、SPARQL命名空间
PREFIX关键字是把前缀标签和IRI连接起来,一个有前缀的名称是由一个带前缀的标签和一个本地的名称组成,其中由":"分开
4、数据集
-
一个SPARQL查询可以在包含一个或者多个数据图的RDF数据集上执行
-
指定使用默认图用关键字FROM,若指定使用某个命名图用关键字FROM NAMED
5、查询的六种模式
6、图模式(重要)
主要介绍选择语句(SELECT),其中WHERE子句表示查询语句的正文部分,成为图模式
6.1、三元组模式与基本图模式
V:是变量的意思 例如?x就是变量x的意思。
最后一个例子表示在Glasgow大学工作的人的名字
6.2、操作符
操作符优先级:(group)、UNION、AND、OPTIONAL、FILTER
OPTIONAL操作符是左结合的
6.3、结果修饰
7、SPARQL语义
7.1、基本知识
7.2、基本运算
7.2.1、选择运算
7.2.2、投影运算
7.2.3、更名运算
7.2.4、并集运算
7.2.5、差集运算
7.2.6、笛卡尔积运算
7.2.7、自然连接
7.2.8、连接
7.2.9、外连接
外连接不满足结合律
7.3、图模式的匹配