Gremlingo: Traverser не отображает значение при добавлении ребра между двумя вершинами

Я использую tinkerpop gremling-go для доступа к gremlin-server/JanusGraph. При попытке создать ребро между двумя вершинами я получаю следующую ошибку

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

Вершины добавляются через

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

И

t.AddV("someothernode").Property("some_id", someID).Iterate()

Где t это *gremlingo.GraphTraversal. Вершины добавлены успешно.

Край добавляется через

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__. Edge не создается с выводом ошибки выше.

Использование gremlin-console, добавляющее ребро через g.addE("someedge").from(__.V().hasLabel("somenode").has("some_id","some_id_1")).to(__.V().hasLabel("someothernode").has("some_id","some_id_1")), где g — обход, работает просто отлично.

Обратите внимание, что я не учел обработку ошибок go.

[JS за 1 час] - 9. Асинхронный
[JS за 1 час] - 9. Асинхронный
JavaScript является однопоточным, то есть он может обрабатывать только одну задачу за раз. Для обработки длительных задач, таких как сетевые запросы,...
Топ-10 компаний-разработчиков PHP
Топ-10 компаний-разработчиков PHP
Если вы ищете надежных разработчиков PHP рядом с вами, вот список лучших компаний по разработке PHP.
Скраппинг поиска Apple App Store с помощью Python
Скраппинг поиска Apple App Store с помощью Python
📌Примечание: В этой статье я покажу вам, как скрапировать поиск Apple App Store и получить точно такой же результат, как на Apple iMac, потому что...
Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
Подъем в javascript
Подъем в javascript
Hoisting - это поведение в JavaScript, при котором переменные и объявления функций автоматически "перемещаются" в верхнюю часть соответствующих...
Улучшение генерации файлов Angular
Улучшение генерации файлов Angular
Angular - это фреймворк. Вы можете создать практически любое приложение без использования сторонних библиотек.
1
0
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы ждали завершения асинхронного запроса?

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

Err := <-channel

Да. Запросы и пример в порядке. Что-то не так, кроме гремлинго. Ваш ответ будет считаться правильным :)

norym 21.11.2022 14:42

Другие вопросы по теме