知识卡片
XML/RDF/图模型三种半结构化数据模型的结构差异
内容
半结构化模型和[[数据模型的三层抽象与结构化模型的表达能力权衡]]里的层次/ 网状/关系模型不是同一个谱系,它们服务于结构不规则、缺乏严格数据类型约束 的数据(格式化文本、超链接、HTML文档等),三种典型半结构化模型各自用 不同的数学结构承载这种不规则性。XML模型是树形模型:每个节点是一个标签 或标签的属性,节点之间用有向边表达父子/属性关系,本质是一种”分层自描述” 结构,标签本身携带语义,因此不需要像关系模型那样预先定义严格的表结构就能 表示层次化的文档内容。RDF(资源描述框架)不是树形而是图形结构:它把任何 一条信息都表示成一个三元组〈主语, 谓词, 宾语〉,主语和宾语是节点(资源或 属性值),谓词是连接两者的有向边——这种”一切关系都拆成三元组”的设计, 让RDF特别适合描述资源之间松散、多对多的语义关联(如”张三 认识 李四”), 比XML的树形结构更擅长表达非层次化的关联网络。图模型则是更一般化的图论 结构,节点和边可以承载比RDF三元组更复杂的属性和关系类型,因此表达能力 最强,但也最复杂,常用于社交网络、知识图谱这类关联本身就是核心信息的 场景。三者的选择逻辑是:数据的”形状”越接近文档层级,选XML;越接近简单 陈述句式的事实网络,选RDF;越接近复杂多属性的关系网络,选图模型。
参考来源
- 位置:《数据库原理(微课版)》第1章《绪论》1.2.4节"非关系数据模型"
(源文件:_epub-src/index_split_001.html)
- 结论依据:原文说明"XML模型是一种树形模型,其每个节点可以是一个标签,
也可以描述标签的一个属性……RDF使用统一资源标识符(URI)、属性及属性值
来描述资源……这种关系是一个三元组〈s, p, o〉……图模型是基于图论中的图
模型来表示和存储实体及其联系的一种数据模型。它比传统的层次模型、网状
模型、关系模型复杂,因此具有更强的表达能力",因此可以推出三种模型在
结构形态和适用场景上的差异。
- 原始内容:XML模型是一种树形模型……RDF使用统一资源标识符(URI)、属性
及属性值来描述资源,再用有向弧来表示资源、属性、属性值之间以及资源与
资源之间的关系。这种关系是一个三元组〈s, p, o〉……图模型……比传统的
层次模型、网状模型、关系模型复杂,因此具有更强的表达能力。