l'éditeur php Zimo vous présentera aujourd'hui un phénomène intéressant appelé Gremlingo. Lorsque nous ajoutons une arête entre deux sommets d’un graphe, le traverseur ne correspond généralement pas à la valeur correspondante. Ce phénomène peut conduire à des erreurs logiques dans le programme, nous devons donc le gérer spécialement. Dans cet article, nous discuterons en détail des causes et des solutions du phénomène Gremlingo pour aider les lecteurs à mieux gérer ce problème.
J'utilise tinkerpop gremling-go pour accéder à gremlin-server/janusgraph. Lorsque j'essaie de créer une arête entre deux sommets, j'obtiens l'erreur suivante
the provided traverser does not map to a value: ...
Les sommets sont ajoutés par
t.addv("somenode").property("some_id", someid).iterate()
et
t.addv("someothernode").property("some_id", someid).iterate()
Lequel t
是 *gremlingo.graphtraversal
. Sommet ajouté avec succès.
Les bords sont ajoutés par
t.AddE("someedge"). From( __.V(). HasLabel("somenode"). Has("some_id", someID), ). To( __.V(). HasLabel("someothernode"). Has("some_id", someID), ). Iterate()
où t
是 *gremlingo.graphtraversal
,而 __
是 gremlingo.t__
, et __
est un alias pour gremlingo.t__
. Le front n'est pas créé et la sortie d'erreur ci-dessus apparaît.
L'utilisation de 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"))
其中 g
fonctionne correctement.
Veuillez noter que j'ai omis la gestion des erreurs go.
Attendez-vous que la demande asynchrone soit terminée ?
channel := t.AddV("somenode").Property("some_id", someID).Iterate()
err :=
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!