【问题标题】:exclude self and other specific usernames from query results从查询结果中排除自己和其他特定用户名
【发布时间】:2022-10-15 19:33:00
【问题描述】:

在这个 gremlin 查询中:

g.V('c3833064-94aa-4084-9c0e-029543d69892').as('self')
.sideEffect(out('rated').store('movies'))
.out('friended')
.group()
.by()
.by(outE('rated')
.where(values('rating').is(gt(5)))  //filter on positive scores on common rated items
.inV()
.where(within('movies')).count())
.order(local)
.by(values,desc)
.unfold().limit(10)
.select(keys)
.project('id','label','username', 'avatarUrl', 'name')
.by(id)
.by(label)
.by('username')
.by(coalesce(values('avatarUrl'), constant('')))
.by('name')

如何从结果中排除“自我”用户 (c3833064-94aa-4084-9c0e-029543d69892)。另外,假设我也想从结果中排除一个名为“Admin”的用户名。我怎样才能过滤掉这些项目?

注意:我尝试在 out('friended') 之后添加 .in('friended').where(neq('self')),这似乎将 self 从结果中排除。我可以为此添加一个“和”条件以排除“管理员”用户吗?

【问题讨论】:

    标签: gremlin amazon-neptune neptune


    【解决方案1】:

    我认为通过 id 排除多个顶点的最简单构造是:

    g = TinkerFactory.createModern().traversal()
    ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
    g.V().where(id().is(without(1, 2)))
    ==>v[3]
    ==>v[4]
    ==>v[5]
    ==>v[6]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      相关资源
      最近更新 更多