От новичка до гуру: Курсы программирования на CyberDuff

Как получить края с меткой/классом через OrientDB java API

Я хочу, чтобы внешние края начинались с одной вершины, используя один или несколько классов/меток через API Java.

Это мой пример кода, который вызывает NPE. Я пробовал использовать Edge и OrientEdge.

private Iterable<OrientEdge> queryNextEdges(OrientVertex vertex) {
    OrientGraphFactory factory = new OrientGraphFactory(
            "remote:127.0.0.1:2424/xyz", "admin", "admin"
    ).setupPool(1, 10);
    OrientGraph graph = factory.getTx();
    Iterable<OrientEdge> queryResult;
    try {
        queryResult = (Iterable<OrientEdge>) (OrientEdge) vertex.getEdges(Direction.OUT, "hierarchy");
    } finally {
        graph.shutdown();
    }
    return queryResult;
}

Ошибка:

Caused by: java.lang.NullPointerException
at com.tinkerpop.blueprints.impls.orient.OrientVertex.getFieldNames(OrientVertex.java:1042)
at com.tinkerpop.blueprints.impls.orient.OrientVertex.getEdges(OrientVertex.java:810)
at com.tinkerpop.blueprints.impls.orient.OrientVertex.getEdges(OrientVertex.java:782)
at ebs.window.graphLayout.GraphLayoutPresenter.queryNextEdges(GraphLayoutPresenter.java:214)
02.10.2016

  • Похоже, что vertex имеет NULL атрибуты настроек. Как вы получили вершину? 03.10.2016
  • Почему вы создаете экземпляры OrientGraphFactory и OrientGraph, не используя их? 03.10.2016
  • @IvanMainetti да, вы правы, это остаточный код других вещей, которые я пробовал, извините. 03.10.2016
  • @Lvca, вы правы, что-то не так с вершиной, а не с тем, как я получаю края. Я попробовал получить вершину другим способом, и это сработало. 04.10.2016

Ответы:


1

Я пытаюсь воспроизвести ваш пример, и он работает.

введите здесь описание изображения

Надеюсь, поможет.

03.10.2016
  • Спасибо, я попытался получить вершину по-вашему, и это сработало. Это помогло мне точно определить ошибку в моем коде. Дело было не в том, как я получил преимущество, а в вершине, которую я использовал в первую очередь. 04.10.2016
  • @Wozilla: Поскольку это работает, возможно, отметьте это как правильный ответ. 04.10.2016
  • Это честно. Но для других людей, которые читают это, просто чтобы избежать путаницы. Этот пример не совсем решение моей ошибки, но все же рабочий пример. 05.10.2016
  • Новые материалы

    Прогрессивная транспиляция
    В последние годы программисты JavaScript (он же EcmaScript) часто используют компиляторы исходного кода , также известные как транспиляторы , для преобразования более усовершенствованной или..

    Алиса в стране машинного обучения — инициатива «100 дней кода машинного обучения»
    Covnets, регрессия, классификация, ReLU, предвзятость… — все это интригующие жаргоны, которые я слышал от своих сверстников, выбравших курс машинного обучения, по касательной во время обычного..

    Иногда учитель, всегда ученик
    Учение Йоды в применении к развитию разработчиков «Делай или не делай. Нет никакой попытки.” Обучение программированию превратилось в современное «создание группы» или «написание книги»...

    Как создать файл конфигурации сборки в Xcode | Серия настроек проекта Xcode
    Эта статья шаг за шагом расскажет вам, как создать новый файл конфигурации сборки в вашем проекте Xcode. Что такое файл конфигурации сборки? Файл конфигурации сборки — это обычный..

    Venv против Virtualenv в Python  — что использовать?
    Когда дело доходит до создания виртуальных сред в Python, есть два популярных варианта: venv и virtualenv. Оба инструмента служат одной цели — созданию изолированных сред для ваших проектов..

    Реализация персептрона на Python (для абсолютных новичков)
    Введение За последние пару десятилетий было довольно много шумихи вокруг искусственного интеллекта и его приложений. В этой статье мы обсудим, что такое искусственный интеллект и его основное..

    С помощью javascript мы можем сделать это в одну строку.
    С помощью javascript мы можем сделать это в одну строку. let x = 5; let y = 7; y = [x, x = y][0]; Но то, что мы можем , не обязательно означает, что мы должны это делать.