【发布时间】:2019-07-03 13:55:47
【问题描述】:
我试图从一组标记的顶点开始遍历,然后让它们的所有顶点通过特定类型的边连接,然后从那里返回这些顶点的属性作为对象。我可以对从同一组标记顶点开始的一些外顶点做同样的事情,没有问题,但是当我尝试使用一些内顶点时会出现“提供的遍历器未映射到值:”错误。
我找到了一种解决方法,但它并不理想,因为它将所需的属性值作为长度为 1 的数组返回。
以下是我如何使用外顶点成功完成非常相似的任务:
g.V().hasLabel('TestCenter').project('address').by(out('physical').project('street').by(values('street1')))
这会返回类似的东西
==>{address={street=561 PLACE DE CEDARE}}
==>{address={street=370 N BLACK STATION AVE}}
这太棒了!
然后我尝试使用一些顶点进行相同类型的查询,如下所示:
g.V().hasLabel('TestCenter').project('host').by(__.in('hosts').project('aCode').by(values('code')))
并得到上述错误。
我能够找到的解决方法是将 .fold() 添加到最终的“by”中,如下所示:
g.V().hasLabel('TestCenter').project('host').by(__.in('hosts').project('aCode').by(values('code')).fold())
但后来我的回答是这样的
==>{host=[{aCode=7387}]}
==>{host=[{aCode=9160}]}
我想要的是这样的回复:
==>{host={aCode=4325}}
==>{host={aCode=1234}}
(注意:我不确定这是否相关,但我正在将 Gremlin 连接到 Neptune 数据库实例)
【问题讨论】:
-
另外,奇怪的是,在末尾添加 .limit(n) ,其中 n