【发布时间】:2021-10-28 21:51:34
【问题描述】:
我有一个返回一组节点的查询,如下所示:
g.V().as("a","node").has("prop1", true).out().as("b","node").hasLabel("device")
.in().as("c","node").hasLabel("lbl1").has("prop1", false).select("a","b","c").limit(200)
现在我想返回所有这些节点以及它们之间的任何边缘作为我的结果。我尝试了以下方法,但它总是空空如也:
g.V().(....)
.select("a","b","c").limit(200)
.select("node").dedup().fold().as('all')
.unfold().as('start').bothE().as('edge').otherV().as('end')
.where(within('all'))
.select('start', 'edge', 'end').dedup()
不幸的是,这总是空的。我认为我的 where 过滤器不正确。如何仅筛选节点“c”是“a”中的节点之一的结果?
我想保持这个通用性,以便我可以使用它来处理多个不同的查询,这些查询都返回一组节点。
【问题讨论】:
标签: gremlin tinkerpop janusgraph tinkerpop3