如何通过GES查询能力探究社交关系考据?

2026-05-17 01:201阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计379个文字,预计阅读时间需要2分钟。

如何通过GES查询能力探究社交关系考据?

开发者李雷小伙伴维护了一个自己的关系链数据库,他想从数据库中查询出与他相互关注且年龄大于30岁的朋友。以下是他可以使用的一些图原生查询语言及其写法:

1. Gremlin: gremlin g.V(李雷).outE().inV().has(年龄, gt(30))

2. Cypher: cypher MATCH (l:李雷)-[:关注]->(friend)-[:关注]->(l) WHERE friend.年龄 > 30 RETURN friend

3. ArangoDB AQL: javascript FOR v, e, p IN 1..1 OUTBOUND '李雷' '关注' FILTER e.type=='关注' AND v.年龄 > 30 RETURN v

开发者李雷小朋友维护了一个自己的关系链图数据库,他怎么能从图数据库中查询出与他互相关注且年龄大于30的朋友呢?

这里先介绍几种图原生查询语言写法:

1.gremlin

g.V("李雷").outE('friend').has('age',gt(30)).otherV().where(out('friend'). (hasId('李雷'))).limit(100)

2.cypher

match (a)-[r1:friend]->(b)-[r2:friend]->(c) where a.mid='李雷' and r1.age>30 and a=c return id(b) limit 100

以上两种写法等价,只是使用的图查询语言有区别。前者使用gremlin(Apache软件基金会下TinkerPop开发的graph traversal language)编写, 后者为Neo4j于2015年发布的图查询语言开源版本openCypher。

查询方式一览

GES支持多种查询方式,本文主要讨论复杂查询,如多跳过滤,简单环路查询,模式匹配等复杂查询类。当前GES主要通过gremlin,cypher和一些原生API来支持各种场景的查询需求。

如何通过GES查询能力探究社交关系考据?

||优点|缺点|说明
:--

本文共计379个文字,预计阅读时间需要2分钟。

如何通过GES查询能力探究社交关系考据?

开发者李雷小伙伴维护了一个自己的关系链数据库,他想从数据库中查询出与他相互关注且年龄大于30岁的朋友。以下是他可以使用的一些图原生查询语言及其写法:

1. Gremlin: gremlin g.V(李雷).outE().inV().has(年龄, gt(30))

2. Cypher: cypher MATCH (l:李雷)-[:关注]->(friend)-[:关注]->(l) WHERE friend.年龄 > 30 RETURN friend

3. ArangoDB AQL: javascript FOR v, e, p IN 1..1 OUTBOUND '李雷' '关注' FILTER e.type=='关注' AND v.年龄 > 30 RETURN v

开发者李雷小朋友维护了一个自己的关系链图数据库,他怎么能从图数据库中查询出与他互相关注且年龄大于30的朋友呢?

这里先介绍几种图原生查询语言写法:

1.gremlin

g.V("李雷").outE('friend').has('age',gt(30)).otherV().where(out('friend'). (hasId('李雷'))).limit(100)

2.cypher

match (a)-[r1:friend]->(b)-[r2:friend]->(c) where a.mid='李雷' and r1.age>30 and a=c return id(b) limit 100

以上两种写法等价,只是使用的图查询语言有区别。前者使用gremlin(Apache软件基金会下TinkerPop开发的graph traversal language)编写, 后者为Neo4j于2015年发布的图查询语言开源版本openCypher。

查询方式一览

GES支持多种查询方式,本文主要讨论复杂查询,如多跳过滤,简单环路查询,模式匹配等复杂查询类。当前GES主要通过gremlin,cypher和一些原生API来支持各种场景的查询需求。

如何通过GES查询能力探究社交关系考据?

||优点|缺点|说明
:--