Невозможно прочитать данные Gremlin с удаленного компьютера после записи - PullRequest
1 голос
/ 02 октября 2019

Я использую Java для подключения к «удаленному» (localhost: 8182) серверу Gremlin g следующим образом:

traversalSource = traversal().withRemote(DriverRemoteConnection.using("localhost", 8182, "g"));

Затем я пишу такой узел, как этот:

traversalSource.addV("TenantProfile");

В консоли Gremlin, подключенной к тому же серверу Gremlin, я вижу все созданные узлы и ребра

gremlin> g==>graphtraversalsource[tinkergraph[vertices:42 edges:64], standard]

и запросы работают, но если я читаю график из Java, это приводит к пусто , поэтому запросы, например

traversalSource.V()
                        .has("label", TENANT_PROFILE_LABEL)
                        .has("fiscal id", "04228480408")
                        .out(OWNS_LABEL)
                        .has("type", "SH")
                        .values("description")
                        .toList();

, возвращают список emtpy.

Может кто-нибудь помочь мне решить эту загадку, пожалуйста? Спасибо.

1 Ответ

0 голосов
/ 03 октября 2019

В ответ на Стивена я отправляю последние инструкции перед iterate()

for (final Map<String, String> edgePropertyMap : edgePropertyTable) {
            edgeTraversal = traversalSource
                            .V(vertices.get(edgePropertyMap.get(FROM_KEY)))
                            .addE(edgeLabel)
                            .to(vertices.get(edgePropertyMap.get(TO_KEY)));

            final Set<String> edgePropertyNames = edgePropertyMap.keySet();
            for (final String nodePropertyName : edgePropertyNames)
                if ((!nodePropertyName.equals(FROM_KEY)) && (!nodePropertyName.equals(TO_KEY))) {
                    final String edgePropertyValue = edgePropertyMap.get(nodePropertyName);
                    edgeTraversal = edgeTraversal.property(nodePropertyName, edgePropertyValue);
                }

            edgeTraversal.as(edgePropertyMap.get(IDENTIFIER_KEY)).iterate();
        }

В любом случае, если нет iterate(), как узлы и ребра могут быть видны изнутри консоли? Как они могли быть «завершены» на удаленном сервере?

...