属性图和RDF图简要介绍与比较

图数据结构在今天能够得到如此广泛关注,灵活性是一个强大的驱动因素:异构数据、集成新数据源和分析都需要灵活性,而图结构则很好地满足了这一点。现如今,最主要的图数据结构模型有以下两种:属性图和RDF图,下面就将分别介绍这两种图结构并进行比较。

01 属性图(Property Graphs)

虽然属性图的实现中有一些核心的共性,但是没有真正标准的属性图数据模型,因此属性图的每个实现都有些不同。在下面,我们将重点讨论任何属性图数据库都常见的特征。

  • 节点(Nodes):是图中的实体,用表示其类型的0到多个文本标签进行标记,相当于实体。

  • 边(Edges):是节点之间的定向链接,也称为关系。其中对应的“from node”称为源节点,“to node”称为目标节点。边是定向的且每条边都有一个类型,它们可以在任何方向上导航和查询。相当于实体之间的关系。

  •  属性(Properties):是一个键值对,顶点和边都具有属性。

图1显示了一个属性图的部分,其中包含有关演员、导演和他们参与的电影或电视节目的数据。其中节点用椭圆表示。例如,ID为123的节点(从其属性中看出)表示Tom Hanks。节点标签以深蓝色显示。节点123的标签是人物、演员和导演。关系用灰色箭头表示,从一个节点指向另一个节点,每个关系都有一个红色显示的类型。属性显示在带有金色的圆角矩形中,并使用红色箭头连接到它们所属的节点和关系。      

 图1.一个关于演员、导演和影片或电视节目的属性图

02 资源描述框架图(RDF Graphs)

RDF图使用标准的图数据模型,其技术栈的标准是由万维网联盟(W3C)管理的,这个组织也同时管理HTML、XML和许多其他网络标准。因此每个支持RDF的数据库都应该以同样的方式支持该模型。除此之外,RDF有一个标准的查询语言称为SPARQL。它既是一种功能齐全的查询语言,又是一种HTTP协议,可以通过HTTP将查询请求发送到端点。

RDF图数据模型主要是由以下两个部分组成的:

  • 节点(Nodes):对应图中的顶点,可以是具有唯一标识符的资源,也可以是字符串、整数等有值的内容。

  • 边(Edges):是节点之间的定向链接,也称为谓词或属性。边的入节点称为主语,出节点称为宾语,由一条边连接的两个节点形成一个主语-谓词-宾语的陈述,也称为三元组。边是定向的,它们可以在任何方向上导航和查询。

RDF的英文全称为Resource Description Framework,因为在RDF图中,一切都称为资源。边和节点只是给定语句中资源所扮演的角色。基本上在RDF中,扮演边角色的资源和扮演节点角色的资源没有区别,因此一条语句中的边也可以是另一条语句中的节点。

RDF数据模型相较于属性图更加丰富,也在语义上保持一致性。图2展示了如何将上面的图1由属性图表示为RDF:

图片

图2.图1的RDF图的形式表示

图2中的图看起来比图1中的属性图大,因为图中的所有文字都被描述为节点。而在可视化RDF图数据时,通常不会这样做,以便使图看起来更干净和更简单。所有节点都用带有浅黄色背景的圆角矩形表示。也就是说,从数据结构的角度来看,它们是图形的一部分,就像任何其他节点一样,唯一的区别是它们不能作为源节点,只能是目标节点或宾语。

RDF图中的文字值可以有数据类型,数据类型取自XML模式(如xsd:string、xsd:integer等),文本值也可以有语言标记来支持数据国际化。例如,对于纽约市的rdfs:label,我们可以有多个值,例如:“New York City” xsd:string @en 或 “NuevaYork” xsd:string @sp。

标识符也是RDF图的一个非常重要的概念。每个非文字节点都被分配一个标识符——通常是一个URI(Uniform Resource Identifier,统一资源标识符)或IRI(Internationalized Resource Identifiers,国际化资源标识符)。本地非URI标识符因为不能互操作而很少使用。而全局唯一标识符为图数据模型带来了许多好处,同时基于RDFbased的解决方案可以根据选定的URI构造规则自动生成URI。另外,在添加数据(例如加载序列化的文件)时,用户也可以提供他们想要使用的URI。标识节点的URI使用限定名(通常称为Qname表示法)显示在图中,如图2中的 rdf 就表示着:w3.org/1999/02/22-rdf-syntax-ns#,而对应的也可以使用命名空间中的内置资源定义的语义,如rdf:type. 而使用URI最大的好处之一便是可以如果不同的节点具有同样的URI,就会自动地合并,这也就使得RDF图更加简洁清晰。

03 属性图与RDF图的区别

数据模型

  • 属性图:属性图是一种图数据模型,侧重于节点(实体)和边(关系)之间的关联。节点可以包含属性,每个属性是一个键值对,用于存储节点的属性信息。边表示节点之间的有向关系,可以带有属性来描述关系的特性。

  • RDF图:RDF是一种语义网数据模型,用于描述资源之间的语义关系。RDF图由三元组(主语-谓词-对象)组成,主语和对象通常是资源的统一资源标识符(URI),谓词表示主语和对象之间的关系。

属性和关系表示
  • 属性图:属性图中,每个节点都可以包含多个属性。这些属性可以是键值对,用于存储节点的详细信息。边也可以带有属性,这样可以在边上附加关于关系的附加信息。

  • RDF图:在RDF图中,属性信息通常不是直接附加到主语和对象上,而是通过描述主语和对象之间的谓词来表示关系。属性信息被视为其他资源,通过将其标识符作为对象来表示。

语义网络构建
  • 属性图:属性图对于关系和属性建模非常有用,但在构建复杂的语义网络时可能需要额外的语义层次。

  • RDF图:RDF图专门设计用于构建语义网络,资源之间的关系和语义可以通过RDF三元组明确地表示,使得构建和推理更为直接。

语义表示和推理能力
  • 属性图:属性图通常强调节点和边的实际连接、不过多关注语义表示和推理。属性图数据库通常提供基于模式和查询的高性能操作。

  • RDF图:RDF图支持语义表示和推理,允许通过RDF Schema和OWL(Web Ontology Language)等语义技术来定义资源之间的层次关系和逻辑规则,以实现更高级的推理和语义表达能力。

查询语言

  • 属性图:属性图数据库通常使用图查询语言(如Cypher、Gremlin)来支持复杂的图查询和分析。这些查询语言专注于图模式匹配和路径遍历,适用于寻找节点之间的关联。

  • RDF图:RDF图的查询语言主要是SPARQL(SPARQL Protocol and RDF Query Language),它是用于查询RDF数据的标准查询语言。SPARQL允许用户在RDF图中进行图模式匹配、关系查询和语义推理。

数据交互和共享
  • 属性图:属性图通常在内部用于应用程序,对于数据交换和共享可能需要进行转换和映射。

  • RDF图:RDF图的设计目标之一是促进数据在不同系统之间的交换和共享。采用统一的URI标识资源,使得不同RDF数据源可以相互链接和整合。

可扩展性和分布式性
  • 属性图:属性图数据库在处理大规模数据时可能需要面临一些挑战,但现代的图数据库系统提供了分布式架构来应对可扩展性需求。

  • RDF图:RDF图的分布式处理和查询在语义网领域已经得到了广泛的研究和实践,支持处理分布式数据集。

同一数据下,属性图与RDF图的展现示意:

04 总结

综上所述,属性图和RDF图在数据模型、关系表示、语义推理和应用领域等方面存在不同。属性图适用于实体属性和复杂关系建模,通常强调关联和属性分析。RDF图则强调语义关系和语义推理,在构建语义网络和数据互操作性方面具有优势。

同时,RDF的优势在于足够简单,所有数据都是三元组形式,而且是无模式(schema-free)的数据建模,灵活性高,也有统一的查询语言SPARQL,而属性图的优势在于可以通过边属性描述更多的信息,更加紧凑。

随着时间的推移,属性图的弊端和RDF图的优势正在不断显现出来,许多使用者也正经历着从属性图数据库向RDF图数据库转变的过程,希望这个推送可以让大家对于两者的关联与差异有更多的认识,更加了解这两种图数据结构。最终,选择使用哪种图模型,可以根据数据的性质、需求以及所在的应用环境来确定。


关于途普智能
途普智能科技(北京)有限公司是一家专注于图数据库系统研发、知识图谱应用的高科技创新企业,由北京大学科技成果转化所创立。公司致力于打造国产图数据库的“中国芯”,提供从知识构建、管理到服务系统为一体的TopGraph企业知识中台产品和行业解决方案,目前已部署于工业质量管控、金融风险分析、政务大数据、智能问答机器人、电信欺诈检测等多个场景,并在金融、政务、工业、教育、医疗等行业广泛应用。

来源:本文部分内容来自公众号【图谱学苑】,作者:葛钤

作者:途普智能 www.topgraph.cn 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值