Home  >  Article  >  Backend Development  >  Gremlingo: Traverser does not map to values ​​when adding edge between two vertices

Gremlingo: Traverser does not map to values ​​when adding edge between two vertices

王林
王林forward
2024-02-08 22:51:34420browse

Gremlingo: Traverser does not map to values ​​when adding edge between two vertices

php editor Zimo will introduce to you an interesting phenomenon called Gremlingo today. When we add an edge between two vertices of a graph, the traverser usually does not map to the corresponding value. This phenomenon may lead to logical errors in the program, so we need to handle it specially. In this article, we will discuss the causes and solutions of the Gremlingo phenomenon in detail to help readers better deal with this problem.

Question content

I am using tinkerpop gremling-go to access gremlin-server/janusgraph. When trying to create an edge between two vertices, I get the following error

the provided traverser does not map to a value: ...

Vertices are added by

t.addv("somenode").property("some_id", someid).iterate()

and

t.addv("someothernode").property("some_id", someid).iterate()

where t is *gremlingo.graphtraversal. Vertex added successfully.

Edges are added by

t.AddE("someedge").
        From(
            __.V().
                HasLabel("somenode").
                Has("some_id", someID),
        ).
        To(
            __.V().
                HasLabel("someothernode").
                Has("some_id", someID),
        ).
        Iterate()

Where t is *gremlingo.graphtraversal, and __ is an alias of gremlingo.t__. The edge is not created and the above error output appears.

Use gremlin-console via g.adde("someedge").from(__.v().haslabel("somenode").has("some_id","some_id_1")).to(__ . v().haslabel("someothernode").has("some_id","some_id_1")) where g is that the traversal works fine.

Please note that I omitted go error handling.

Solution

Are you waiting for the asynchronous request to complete?

channel := t.AddV("somenode").Property("some_id", someID).Iterate()

err :=

The above is the detailed content of Gremlingo: Traverser does not map to values ​​when adding edge between two vertices. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:stackoverflow.com. If there is any infringement, please contact admin@php.cn delete