【发布时间】:2023-11-19 21:58:01
【问题描述】:
我一直试图在 Gremlin 查询中找出这个 if-else。 假设 g.V({0}) 是下面的组顶点。
var q = "g.V({0}).as('groupName', 'groupId', 'ownerId').inE(eIsAdminOf, eIsMemberOf).as('rel', 'joinDate').outV().hasLabel(userLabel).as('memberId')";
//TODO:var q = "g.V({0}).as('groupName', 'groupId', 'ownerId').inE(eIsAdminOf";
//if .has('mCanList',true).inE(eIsAdminOf, eIsMemberOf)
//if .has('mCanList',false).inE(eIsAdminOf)
//, eIsMemberOf).as('rel', 'joinDate').outV().hasLabel(userLabel).as('memberId')";
我希望.inE(eIsAdminOf, eIsMemberOf) 基于属性值 mCanList 为真或假,如上面的 cmets 中所示。
一直在尝试选择无济于事:
var q = "g.V({0}).as('groupName', 'groupId', 'ownerId','mCanList');
q += ".by(values('mCanList').choose(is(true),.inE(eIsAdminOf, eIsMemberOf), .inE(eIsAdminOf))";
q += '.as('rel', 'joinDate').outV().hasLabel(userLabel).as('memberId')”;
我正在使用 node.js 通过 gremlin 库构建 gremlin 查询。对我来说最糟糕的选择是构建 2 个单独的异步查询,它们根据
分别构建结果if .has('mCanList',true).inE(eIsAdminOf, eIsMemberOf) or
if .has('mCanList',false).inE(eIsAdminOf)
TIA
【问题讨论】:
标签: titan gremlin gremlin-server