我有一个这样的查询
g.V.has('id', 1).outE()
.project('edge','vertex')
.by(valueMap('number'))
.by(inV().valueMap())它返回一个字典,如下所示:{"edge":{ ...},"vertex":{ ...,"city":一个值,... }
我想根据inV()顶点的值对其进行过滤。顶点有一个名为" city“的属性,在我进行投影之后,我想过滤掉结果中城市名称不是New York的所有结果。
我试过了
g.V().has('id', 1).outE()
.project('edge','vertex')
.by(valueMap('number'))
.by(inV().valueMap())
.filter(select('vertex').select('city').is(eq("New York"))) 但它不会返回任何内容
发布于 2021-09-28 18:02:38
您的查询看起来是正确的,但是如果没有脚本来重现您的数据,就很难验证哪里可能是错误的。但是,使用此查询,您应该能够重写它,以便在project()之前过滤遍历,如下所示。这将最大限度地减少遍历器的数量,并最有可能提高性能:
g.V().has('id', 1).has('city', 'New York').as('a').outE()
.project('edge','vertex')
.by(valueMap('number'))
.by(select('a').valueMap())https://stackoverflow.com/questions/69366121
复制相似问题