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.
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.
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!