• 图数据建模
    • 图空间
    • 有向属性图
    • 节点
    • 标签
    • 边类型
    • 属性
    • Schema

    图数据建模

    此文档介绍 Nebula Graph 建模及图模型的基本概念。

    图空间

    图空间 为彼此隔离的图数据,与 MySQL 中的 database 概念类似。

    有向属性图

    Nebula Graph 存储的图为 有向属性图,边为有向边,点和边均可包含属性。可表示为:G = < V, E, PV, PE >,其中 V 表示节点,E 表示有向边,PV 表示节点属性,PE 表示边属性。此文档将使用如下示例图数据介绍属性图的基本概念:

    map300

    上图为 NBA 球员及球队信息数据,图中包含 2 种类型的 11 个节点,即 player 和 team,2 种类型的边,即 serve 和 like。以下为示例图数据涉及到的概念介绍。

    节点

    节点用于表示现实世界中的实体,本例的数据中共包含 11 个节点。

    数据模型 - 图2

    标签

    Nebula Graph 使用标签对节点进行分类,本例包含的节点标签为 playerteam数据模型 - 图3

    边用来连接节点,边通常表示两个节点间的某种关系或行为,本例中的边为 servelike数据模型 - 图4

    边类型

    每条边都有一种边类型,以边 serve 为例,节点 101(表示一名球员)为起始点,节点 215(表示一支球队)为目标点。节点 101 有一条出边,而节点 215 有一条入边。

    属性

    属性为点和边内部的键值对。本例中,节点 player 拥有属性 idnameage,边 _like 则拥有属性 likeness

    Schema

    Nebula Graph 中,schema 为标签及边对应的属性。与 MySQL 类似,Nebula Graph 是一种强 schema 的数据库,属性的名称和数据类型在数据写入前已确定。