Maison  >  Article  >  développement back-end  >  Gremlingo : Traverser ne correspond pas aux valeurs lors de l'ajout d'une arête entre deux sommets

Gremlingo : Traverser ne correspond pas aux valeurs lors de l'ajout d'une arête entre deux sommets

王林
王林avant
2024-02-08 22:51:34420parcourir

Gremlingo : Traverser ne correspond pas aux valeurs lors de lajout dune arête entre deux sommets

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.

Contenu de la question

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()

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.

Solution de contournement

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer