8、图数据模型与查询语言详解

图数据模型与查询语言详解

1. 引言

在数据处理领域,不同的数据模型适用于不同的应用场景。从早期的层次模型,到后来的关系模型,再到如今的非关系型“NoSQL”数据存储,数据模型不断发展以满足多样化的需求。本文将重点介绍图数据模型及其相关的查询语言,包括三元组存储、SPARQL、Datalog等,并对比图数据库与网络模型的差异。

2. 图数据查询示例

2.1 查询在美国出生且居住在欧洲的人

以下是一个查询在美国出生且居住在欧洲的人的SQL示例:

-- lives_in_europe is the set of vertex IDs of all people living in Europe
lives_in_europe(vertex_id) AS ( 
    SELECT edges.tail_vertex FROM edges
      JOIN in_europe ON edges.head_vertex = in_europe.vertex_id
      WHERE edges.label = 'lives_in'
)
SELECT vertices.properties->>'name'
FROM vertices
-- join to find those people who were both born in the US *and* live in Europe
JOIN born_in_usa     ON vertices.vertex_id = born_in_usa.vertex_id 
JOIN lives_in_europe O
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值