Я создал график с использованием кода 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.Поэтому мне пришлось убить выполнение и проверить БД.Я ожидал, что будет загружен весь график.