Gremlin-python。选择所有数字属性与ltgt相关的节点对。

问题描述 投票:0回答:1

我的图有以下的边。

e[1][0--classes->1]
e[2][0--classes->2]
e[3][0--classes->3]

节点1,2,3的属性是: classId 分别是1,2和3。

我想写一个查询来返回所有的对(m,n),使m.classId < n.classId。以下是我迄今为止最接近的尝试。

g.V(0).out("classes")
.as_('n').classId.as_('nid')
.select('n').in_("classes").out("classes")
.as_('m').classId.where(lte(select('nid')))
.select('m', 'n')

不幸的是, lte 期待一个数字,而 select('nid') 是一个遍历。我已经尝试了.where和is_遍历的各种输入变量,但没有任何收获。

gremlin gremlinpython
1个回答
5
投票

你不需要使用 select 里面 lte 你可以不使用名为 "nid "的步骤。

你还缺少了 by 调制器。

g.V().hasLabel('0').out('classes').as('n').
    as('nid').select('n').
  in('classes').out('classes').as('m').
  where(lte('nid')).
    by('classId').
    select('m', 'n')

例如: https:/gremlify.comu789rfvme89q。

© www.soinside.com 2019 - 2024. All rights reserved.