图数据管理与挖掘-第六讲 知识图谱与图数据库(2)-北京大学2021暑期-邹磊教

PART 1:RDF图数据模型 & SPARQL查询语言
01:04



RFG图(边==主谓宾的线)

RDF字面值(只出现在客体)

RDF空白节点(用来引入更多元的关系、结构化数据值)

RDF Schema (RDFS)

有一些核心类,核心属性,便于定义一套通用的基础定义工具
14:59
SPARQL查询语言

SPARQL语法

from/from named 默认图/指定图
查询方式:


最基本:三元组模式<每个元素内部都允许出现变量V>

【图模式】的递归定义
(基本图模式只是其中的一种)

【组图模式】【联合图模式】

操作符优先级(高到低):
- (group)
- UNION
- AND
- OPTIONAL(左结合)
- FILTER
图模式二叉树示例

SPARQL结果修饰

31:30
- 选择
- 投影(会去重)
- 并集
- 要求相容:属性数目相同(同元)且一一对应
- 差集
- 要求相容
- 笛卡尔积
- 自然连接⋈:在某个公共属性B伤相等的所有元组的去重组合
- θ连接:从两个关系的广义笛卡尔积中选取给定属性间满足一定条件的元组
- θ是算术比较符,它为等号时该运算可称为等值连接
- 外连接:避免自然连接时因失配导致信息丢失,在其中一个表设置一个悬挂空行,和另一个表的任何一个未匹配元组都能匹配
- 外连接=自然连接+未匹配元组
- 分为左外/右外/全外连接,X外即为加上X侧表中的未匹配元组
- 外连接不满足结合律
49:08
匹配

匹配的互相兼容

图模式在RDF数据集上的执行结果:

新特性:属性路径、联邦查询(分布式)
====
PART 2:属性图模型和Cypher查询语言
60:31
背景:neo4j

和三元组的区别:属性图中的点只可能是实体,不存在属性值的点

值

图

表

查询示例

<介绍了一系列cypher中的子句,原理和前面的类似,只不过因为这两个模型的固有差异所以看起来会有一些不同>
Cypher语言语法
- 表达式
- 图模式
- 点模式:三元组 (a, L, P) ,对应于所查询的店的【变量名,标签集合,在属性上需要满足的条件】
- 关系模式:五元组 (d, a, T, P, I) ,对应于所查询关系的【方向,变量名,需要满足的边类型集合,在边属性上需要满足的条件,可以对应多少条边】
- 子句(table to table的函数)
- 查询(子句的组合+RETURN结尾,或他们的并)
====
PART 3:TinkerPop图计算框架与Gremlin图遍历语言及遍历机
01:28:26
背景

和SPARQL不一样:是函数式语言,需要指定各种操作过程


<讲了这种复杂但灵活的图遍历语言的多种遍历模式>
