gremlin:提供的遍历器没有Map到值

xlpyo6sf  于 2021-06-09  发布在  Cassandra
关注(0)|答案(2)|浏览(468)
g.V()
    .has('atom', '_value', 'red').fold()
    .coalesce(unfold(), addV('atom').property('_value', 'red')).as('atom')
    .out('view').has('view', '_name', 'color').fold()
    .coalesce(unfold(), addE('view').from('atom').to(addV('view').property('_name', 'color')))

给我一个错误:

The provided traverser does not map to a value: []->[SelectOneStep(last,atom)] (597)

这是什么意思?

ig9co6j1

ig9co6j11#

看来是什么时候 as() 后面是 fold() 它删除 as() 步骤。我曾经 aggregate() 改为如下:

g.V()
    .has('atom', '_value', 'red')
    .fold().coalesce(
        unfold(), 
        addV('atom').property('_value', 'red')
    )
    .aggregate('atom')
    .out('view').has('view', '_name', 'color')
    .fold().coalesce(
        unfold(), 
        addE('view')
            .from(select('atom').unfold())
            .to(addV('view').property('_name', 'color'))
            .inV()
    )
des4xlb0

des4xlb02#

这个 as() 这一步被称为减少障碍的步骤。通过减少障碍步骤,查询的任何路径历史(例如通过 as() )他迷路了。在减少障碍的步骤,许多路径减少到一个单一的路径。在这一步之后,将无法知道许多原始标记顶点中的哪一个是要检索的正确顶点。

相关问题