neo4j - 为什么在 new4j 数据库中找不到我从 java 代码中保存的图形?
问题描述
我使用 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 中的最后一行结束后,执行只是无限期地等待。所以我不得不终止执行并检查数据库。我希望加载整个图表。
解决方案
推荐阅读
- google-apps-script - 重新计算工作表后是否正在执行 Google Sheet onEdit 触发器
- php - 谷歌图表注释位置不起作用
- javascript - 在 ScrollMagic 中设置多个 setTween 元素进行滚动
- lotus-notes - 使用Java连接ibm lotus和domino notes需要安装哪些软件?
- javascript - Javascript - 在同一个变量中解析一个 JSON 错误和错误数组?
- php - Opencart 支付扩展安装
- asp.net-core-tag-helpers - Futures : Taghelpers --> Razor 组件
- r - 如何修复从源代码在 Mac OS X 上安装 RCurl 时出错:找不到“curl/curl.h”文件
- java - 在 Apache Flink SQL 中选择双列时解析错误
- android - 在 200 网络响应上调用 onError 而不是 onNext - RxJava,Retrofit