如何将选定的 属性 从一个 gremlin 查询传输到另一个查询?
How to pipe selected property from one gremlin query to another?
我正在尝试将所选属性从一个遍历传递到另一个遍历。但它不适用于纯 gremlin 方式。
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', ecosystem).has('name', name).values('latest_version', 'latest_non_cve_version').toList(); g.V().has('pname', name).has('version', 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
我正在尝试将所选属性从一个遍历传递到另一个遍历。但它不适用于纯 gremlin 方式。
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', ecosystem).has('name', name).values('latest_version', 'latest_non_cve_version').toList(); g.V().has('pname', name).has('version', 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