Maison > développement back-end > Golang > 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

王林
Libérer: 2024-02-08 22:51:34
avant
476 Les gens l'ont consulté

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: ...
Copier après la connexion

Les sommets sont ajoutés par

t.addv("somenode").property("some_id", someid).iterate()
Copier après la connexion

et

t.addv("someothernode").property("some_id", someid).iterate()
Copier après la connexion

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()
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal