#java #gremlin #gremlin-server
Вопрос:
Я использую gremlin-сервер 3.4.11 и подключаюсь к нему с помощью java-драйвера gremlin tinkerpop.
g.E()
возвращает все ребра:
[
{
"id": 18,
"label": "RELATED",
"type": "edge",
"inVLabel": "GREMLIN2",
"outVLabel": "GREMLIN1",
"inV": 16,
"outV": 14
}
]
но g.E(18)
ИЛИ g.E().hasId(18)
возвращает пустой список:
[]
Это почему? Я бы предположил, что соответствующее ребро будет возвращено, но это не так. Что я здесь упускаю?
Примечание: Я попытался создать ребро с g.V(14).addE('RELATED').property('id', 'someId').to(g.V(16))
помощью .. это затем найдено с g.E().has('id', 'someId')
помощью , НО это не идентификатор ребра, а просто свойство с именем «id». hasId()
шаг также возвращает пустой список.
Любые намеки будут высоко оценены!
Ответ №1:
Вы используете TinkerGraph? Это да, идентификаторы хранятся как long
внутренние.
Пожалуйста, попробуйте g.E(18L)
Комментарии:
1. вы правы, он работает с «18L», спасибо! Вы случайно не знаете, почему это работает с вершинами? g.V(’14’), g.V(14), g.V().хасИд(14), g.V().хасИд(’14’) возвращает вершину