Gremlin-python:Select 数值属性与 lt/gt 相关的所有节点对
Gremlin-python: Select all node pairs where numerical properties are related by lt/gt
我的图有以下边:
e[1][0--classes->1]
e[2][0--classes->2]
e[3][0--classes->3]
和节点 1,2,3 分别有 属性 classId
1,2 和 3。
我想对 return 所有对 (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_ 遍历的各种输入变体,但没有任何乐趣。
您不需要在 lte
步骤中使用 select
。你可以在没有它的情况下使用命名的 "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')
我的图有以下边:
e[1][0--classes->1]
e[2][0--classes->2]
e[3][0--classes->3]
和节点 1,2,3 分别有 属性 classId
1,2 和 3。
我想对 return 所有对 (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_ 遍历的各种输入变体,但没有任何乐趣。
您不需要在 lte
步骤中使用 select
。你可以在没有它的情况下使用命名的 "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')