优化激活传播计算的简单图数据库与行星科学数据共享平台
1. 简单图数据库SGDB
1.1 SA查询与SGDB架构
SA查询可以用纯文本形式表述,其结果集也能以纯文本方式传达。并且,基于查询规范(使用出边和入边)以及初始节点的入度和出度信息,能够估算查询选择性的上限。
SGDB系统架构被分解为具有不同功能的模块,这些模块按层组织,每层为上层提供简化的抽象,使下层的复杂性对上层透明。其架构主要组件如下:
- 键值存储 :以键值元组的形式维护图结构的邻接列表,主要负责根据给定键(节点标识符)快速查找邻接列表。
- 属性存储 :负责存储与节点建模的对象和边建模的关系相关的数据(属性)。例如,图中的节点n代表一个人,与n相关的属性可以是这个人的姓名、地址。属性存储独立于图结构存储,允许根据图节点的属性检索节点。
- 图抽象API(GAAPI) :提供图抽象层,使用户可以使用图论概念(节点和边)而不是节点标识符和邻接列表来访问和操作图数据。它提供了遍历图节点集合、根据节点标识符或用户定义的属性检索图节点、检索出边和入边的功能,还能修改图结构(插入和删除节点和边)。
- 属性API :提供对属性存储的访问。
- 图遍历层 :包含图遍历操作的实现,如传播激活算法或路径查找算法,利用GAAPI访问图结构。
- 图查询层 :是一个表示层,通过图查询提供对数据库功能的访问(当前实现提供SA查询)。