Gremlin查询如何判断两个顶点间是否存在指定边并返回布尔值
Gremlin查询实现用户-组成员关系判断
基础查询实现
你可以直接借助Gremlin的hasNext()步骤返回布尔值结果,查询过程不会拉取完整顶点/边数据,性能最优。
假设你使用的用户顶点标签为user,用户ID属性名为userId;分组顶点标签为group,分组ID属性名为groupId,查询语句如下:
g.V().has('user', 'userId', '你的指定userId').outE('memberOf').inV().has('group', 'groupId', '你的指定groupId').hasNext()
适配场景的简化写法
如果你的图数据库中顶点ID全局唯一,你可以直接传入用户顶点ID和分组顶点ID查询,写法更简洁:
g.V(用户顶点ID).out('memberOf').hasId(分组顶点ID).hasNext()
结果说明
- 返回
true:用户和对应分组之间存在memberOf边,用户属于该分组 - 返回
false:不存在对应边,用户不属于该分组
提示:如果你的顶点标签、ID属性名和上述示例不一致,替换为你实际使用的字段即可。
内容的提问来源于stack exchange,提问作者xeroshogun
相关产品推荐
相关产品推荐

