问题描述
我正在尝试将选定的属性从一个遍历传递到另一个遍历。但它不适用于纯粹的小鬼方式。
g.V().has('pname',name).has('version',within(V().has('ecosystem',ecosystem).has('name',name).values('latest_version','latest_non_cve_version').))
但是,当我将上述查询拆分为多个语句时,它会起作用。
x = g.V().has('ecosystem','latest_non_cve_version').toList(); g.V().has('pname',within(x))
有没有办法用纯 gremlin 方式实现相同的效果?
解决方法
within
谓词不能进行遍历。您应该能够通过简单地反转查询的两个部分来完成您需要的操作。由于我没有您的数据,因此我展示了一个使用航线数据集的示例。您需要的查询最终将是这样的:
gremlin> g.V().has('region',within('US-NM','US-TX')).
values('region').
fold().as('a').
V().hasLabel('airport').
where(within('a')).
by('region').
by().
count()
==>36