gremlin - Gremlin-python:选择所有与 lt/gt 相关的数值属性的节点对
问题描述
我的图表有以下边:
e[1][0--classes->1]
e[2][0--classes->2]
e[3][0--classes->3]
节点 1,2,3classId
分别具有属性 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
期望一个数字 whileselect('nid')
是一个遍历。我已经尝试了 .where 和 is_ 遍历的各种输入变体,但没有任何乐趣。
解决方案
您不需要使用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')
推荐阅读
- c# - 如何将图像文件存储在文件夹mvc中
- angularjs - 在 es6 模块中导入时未注册 AngularJs 控制器
- javascript - 只为所有人显示一个工具提示。Highstock highcharts
- ios - 如何使用 Xcode 工作区中生成的框架中的自定义字体
- sql - 在sql中查找最近或最近的路径
- python - 克服 TextX 解析器中的无限左递归
- javascript - 在同一页面上添加多个 javascript 图像滑块
- php - 使用 PHP 的 Mongo 驱动程序更新
- python - 写入 html 表中的不同列
- email - ForAll 循环破坏 Lotus Notes 中电子邮件的内联图像