Warm tip: This article is reproduced from serverfault.com, please click

javascript-用Gremlin查询图

(javascript - Querying Graphs with Gremlin)

发布于 2020-12-03 16:31:31

请帮我有关Gremlin lang的查询

我有一个带有2种顶点的图形:User和Group。我需要找到“ U1”的朋友。如果用户具有“组A”的边缘(成员或邀请),则需要标记它们,如下所示。

[图表图像](https://ibb.co/D9VPKw4)

预期结果:[{U2:'Member'},{U3:'Invited'},{U4:'Member'}]

Questioner
Kaveendra Perera
Viewed
0
noam621 2020-12-04 17:39:54

你可以从U1的顶点开始out,然后可以使用step前往他的所有朋友,然后使用step过滤它们where

g.V().hasLabel('U1').out('Friend').
  where(out('Member', 'Invited').
    hasLabel('Group A'))

例如:https//gremlify.com/1o0chgjomi6/1

编辑

对于这种类型的结果,你可以执行以下操作:

g.V().hasLabel('U1').out('Friend').
    as('friend').
  outE('Member', 'Invited').where(inV().
    hasLabel('Group A')).
  group().
    by(select('friend').label()).
    by(label())

例如:https//gremlify.com/4qnd7wi1rnv