Почему график, который я сохранил из кода Java, не найден в базе данных new4j? - PullRequest
0 голосов
/ 08 июня 2019

Я создал график с использованием кода Java и сохранил его в своей базе данных neo4j.Но когда я запрашиваю БД через браузер, я вижу, что нет графика.Я не вижу никакой ошибки при выполнении моего кода Java либо.Одна проблема, которую я нахожу, состоит в том, что код не завершается.Это просто ожидание навсегда, и мне пришлось убить его с помощью ctrl + c.

Я читаю записи из таблицы Excel, преобразую данные в древовидную структуру данных и сохраняю их в БД.Я перезапустил БД после запуска моего кода, чтобы посмотреть, перезагружает ли он граф из файлов.Но все равно график пуст.

Классы узлов:

    package com.ptg.courseExtractor.neo4j.vo;
    import org.neo4j.ogm.annotation.NodeEntity;
    import org.neo4j.ogm.annotation.Relationship;
    @NodeEntity
    public class CareerField extends Entity {

    String careerField;

    @Relationship(type = "CONTAINS")
    List<Strand> strands;

    public CareerField() {
    }

    public CareerField(String careerField, List<Strand> strands) {
        this.careerField = careerField;
        this.strands = strands;
    }

    public List<Strand> getStrands() {
        return strands;
    }
    }

    package com.ptg.courseExtractor.neo4j.vo;
    import org.neo4j.ogm.annotation.NodeEntity;
    import org.neo4j.ogm.annotation.Relationship;

    @NodeEntity
    public class Strand extends Entity{
    String strandId;
    String strandTitle;

    public Strand() {
    }

    public Strand(String strandId, String strandTitle) {
        this.strandId = strandId;
        this.strandTitle = strandTitle;
    }
    }

Код, который пишет график:

    val session = SessionFactory.sessionFactory.openSession()
    session.purgeDatabase()

    files.foreach(file => {
      val mappings = parseFile(file)

      val courseMaps = mappings.asScala.groupBy(x => x._1)
        .toList.map(x => new CareerField(x._1, x._2.map(y => new Strand(y._2.toString, y._3, y._4.asJava)).asJava))

      for (course <- courseMaps) {
        println(s"Saving Career Field with ${course.getStrands.size()} strands")
        session.save(course)
      }

Фабрика сеанса:

    object SessionFactory {
    val configuration = new     Configuration.Builder().uri("bolt://localhost:7687").credentials("neo4j", "*********").build();
    val sessionFactory = new SessionFactory(configuration, "com.ptg.courseExtractor.neo4j.vo")
    }

Вывод на консоль: (2 графика с 1 родительским узлом на каждом и 7 и 6 дочерних элементов соответственно.) Сохранение поля карьеры с 7 нитями Сохранение поля карьеры с 6 нитями

Я запросил график с помощью браузера шифров.Я получаю пустой вывод.БД пуст.Я выполняю код от IntelliJ.Выполнение просто ждет неопределенно после окончания последней строки в main.Поэтому мне пришлось убить выполнение и проверить БД.Я ожидал, что будет загружен весь график.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...