问题描述
我正在尝试对需要检查顶点是否具有某种类型的邻居的查询执行 OLAP 遍历。 我不断得到
本地遍历可能不会遍历 GraphComputer 上的本地星图
我的查询类似于:
g.V().hasLabel('label1').
where(_.out().hasLable('label2'))
我正在使用 TraversalVertexProgram。 不用说,在 oltp 模式下运行相同的查询时没有问题 有没有办法执行这样的逻辑?
解决方法
这是 TinkerPop OLAP GraphComputer 的限制。它对“星图”对象进行操作。仅顶点和连接边。它内部使用消息传递引擎。所以你必须重写你的查询。
选项 1:从 label2 开始,到 label1。这应该返回相同的结果
g.V().hasLabel('label2').in().hasLabel('label1')
选项 2:尝试使用唯一的边标签并改为检查边标签
g.V().hasLabel('label1').where(_.outE('label1_label2'))