图数据库Gremlin语法(1)| 图基本概念与操作

图数据库Gremlin语法(1)| 图基本概念与操作


前言

Gremlin语言是图数据库最主流的查询语言,是Apache TinkerPop框架下规范的图语言,相当于SQL之于关系型数据库。为了图数据库使用者更好的掌握Gremlin这门图语言,我们对Gremlin Steps进行了分类与总结,接下来将会出一个Gremlin系列文章(分25期来完成这个计划),每一期会针对一类Step进行语法讲解与实例分析。

一、本章学习重点

V()、E()、id()、label()、properties()、valueMap()、values()

二、图基本概念

  • 图Graph:指关系图。比如:同学及朋友关系图、银行转账图等。
  • 顶点Vertex:一般指实体。比如:人、账户等。
  • 边Edge:一般指关系。比如:朋友关系、转账动作等。
  • 属性Property:顶点或边可以包含属性,比如:人的姓名、人的年龄、转账的时间。

三、图基本操作

V()、E()、id()、label()、properties()、valueMap()、values()

1、V():查询顶点,一般作为图查询的第1步,后面可以续接的语句种类繁多。
示例:


// 查询图中所有的顶点
// 注意:g 代表的是整个图
// 一切查询都是以图开始
g.V()


// 根据id查询顶点
g.V('vertex_id1', 'vertex_id2')


// 根查询支持Gremlin语言的所有图数据库。
g.V('id1').in('supports')


// 查询所有顶点的id
g.V().id()

2、E():查询边,一般作为图查询的第1步,后面可以续接的语句种类繁多。
示例:


// 查询图中所有的边
g.E()


// 查询所有边的id
g.E().id()


// 根据id查询边
g.E('edge_id1')

3、properties():获取顶点、边的属性
示例:


// 查询所有顶点的属性
g.V().properties()


// 查询所有顶点的“lang”属性
// 如果无“lang”属性的顶点将跳过
g.V().properties('lang')


// 查询所有边的属性
g.E().properties()


// 查询所有顶点的属性名称
g.V().properties().key()


// 查询所有顶点的属性值
g.V().properties().value()

4、valueMap():获取顶点、边的属性, valueMap()与 properties()不同的地方是:它们返回的结构不一样,后者将所有的属性扁平化到一个大列表里面,一个元素代表一个属性;前者保持一个顶点或一条边的属性作为一组,每一组由若干属性的键值对组成。
示例:


// 查询所有顶点的属性
g.V().valueMap()

//查询所有边的属性
g.E().valueMap()


// 查询所有顶点的属性值
// 效果等同于:
// g.V().properties().value()
g.V().values()


// 查询所有顶点的“lang”属性
// 效果等同于:
// g.V().properties('lang').value()
g.V().values('lang')


// 查询所有边的属性值
g.E().values()

总结

深入学习Gremlin 系列文章链接汇总连接:https://blog.csdn.net/javeme/article/details/82631834s

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值