问题标签 [neo4j-ogm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neo4j - 是否可以将 Neo4j OGM 转换器用作 Spring @Component?
我有一个注释为@Component 的自定义转换器,它依赖于 MyBean,它由 Spring 在启动时通过 @Autowired 注入。
MyEntity 有一个字段 MyObject 由该转换器转换。一旦我从 Neo4j 检索 MyEntity,OGM 就会从 MyObjectToStringConverter 调用 toEntityAttribute。但是,我得到了一个 NPE。似乎 OGM 没有重用我由 Spring 创建的转换器,并且 MyBean 依赖项始终为 NULL。
OGM 是否应该能够从 Spring 上下文中获取我的转换器?
有没有办法通过 OGM 初始化 MyBean?
如果没有,我可以自己注册一个转换器吗?
java - Neo4J OGM 中的设置关系属性
我昨天发现了 Neo4j OGM,并迅速创建了一个新项目来测试它是如何工作的。我遇到的一个问题是设置关系属性,因为这对我的项目至关重要。这是一个例子:
房间节点:
连接节点(关系):
}
主要方法:
现在你可以看到我已经在我的 main 方法中设置了长度,但是当我检查http://localhost:7474下的数据库时,它显示了节点之间的关系,但说它没有属性。
这是控制台输出: http: //pastebin.com/CByfmVcR
任何设置属性的帮助将不胜感激。或者是否有一种不同/更简单的方式将对象映射到 neo4J 数据库?
谢谢
neo4j - Spring Data Neo4j 4 不存储任何数据
我在我的新项目中使用了 neo4j-2.3.1 和 spring-data-neo4j 4。我将所有内容设置为这篇文章(Spring Data Neo4j 4)。但是,我不能将任何数据存储到数据库中。这是我的neo4j配置:
这是 REST api,它只是简单地调用存储库来存储对象:
这是存储库:
这是项目类:
这是转换器类:
在我发了一个 curl 帖子后,一切正常,没有任何异常和错误。然后我去 localhost:7474 获取所有数据,我什么也没得到。这是日志,我做了一个 curl 帖子和 curl 获取。没有任何例外
java - Spring数据neo4j 4日期不能投
我正在使用 spring data neo4j 4。我成功存储了对象。但是当我从 neo4j 检索对象时,我得到以下异常:
代码:
例外:
java - Neo4j-OGM 关系未加载
在我的项目中,我有MapNodes,它们通过关系连接ConnectRelation
。ConenctRelation
有一个属性长度。节点及其关系Neo4J
毫无问题地保存到数据库中。但是在加载节点时,它relationsList
是空的。
地图节点类
连接关系类:
填充和加载方法:
我遇到的问题是 MapNode 中的关系字段在加载节点时为空,即使深度设置为大于 1 也是如此。
提前致谢!
neo4j - Neo4j - 基于端节点子类类型区分关系
我注意到在 spring-data-neo4j 4 数据模型中使用继承时,超类在加载和区分基于端节点类型的关系时用作鉴别器。有什么办法可以强制 spring-data-neo4j-4 使用子类作为鉴别器吗?
例如,假设我们在左侧有如下的数据模型(类图),在右侧有它的 neo4j 数据库表示。
目前,如果我们有一个 Owner 实体,其代码如下:
spring-data-neo4j-4 框架会自动将 Dog 和 Cat 都映射到 Cats 集合和 Dogs 集合,所以我有两个“狗”(尽管其中一个实际上是猫)和两个“猫,(尽管其中一只实际上是狗)从数据库中加载。如果我从数据模型中删除超类 Pet 和 BaseNodeEntity,那么 Dog 和 Cat 会自动正确映射到它们各自的集合。
有没有办法可以强制 spring-data-neo4j-4 正确映射我的数据模型,或者我会被迫更改我的数据模型?我并不热衷于从我的数据模型中删除超类,因为我有很多重用正在进行,并且添加额外的关系(即,将 OWNS 拆分为 CAT_OWNER 和 DOG_OWNER)同样令人讨厌。
更新
我现在注意到这种行为并不一致。我编写了一个单元测试来测试映射。奇怪的是,有时它会通过,有时它会失败(有时它错误地将猫映射为狗,将狗映射为猫,有时它不会)。手动运行单元测试 10 次给了我以下通过/失败结果。
当然映射行为应该是一致的。这可能是 SDN-4 中的错误吗?
2016 年 5 月 8 日更新
很抱歉延迟更新。我刚刚有机会重新开始这个项目。我已经对此进行了重新测试,并且在最新的稳定 neo4j 版本中得到了相同的结果。
我在我们的测试用例中使用的实际域模型下面附上了。可以在https://github.com/johndeverall/thescene-spa/issues/142看到测试用例的详细信息。测试用例代码为:
测试用例显示的问题
以下方法:
返回一个成员对象,该对象具有一组 createdTags,其中包含 2 个标签和一个实际上是事件的标签。
我的实际域模型如下(未简化为 Dogs 和 Cats):
附加信息:
我尝试使用 @NodeEntity 注释来注释除 BaseNodeEntity 之外的所有模型对象。属性被注释。
2016 年 5 月 9 日更新
如果我用存储库上的派生查找器替换 loadMemberByEmailAddressPasswordAccount 的 ogm 代码,我会得到相同的间歇性结果。
java - Neo4j Java OGM 带锁选择
我正在尝试使用 Java OGM for Neo4j 选择一个路径并锁定该路径中的最后一个节点。
为此,我编写了以下查询:
它选择锁定最后一片叶子的必要路径(通过更改其State
属性)。
但是,当我尝试执行此查询时:
我得到一个java.lang.RuntimeException: query() only allows read only cypher. To make modifications use execute()
这样做的正确方法是什么?
java - Neo4j-ogm 查询路径
在我的 Java 代码中,我有一个查询来匹配树中从根到叶子的最短路径。
但是,当我尝试如下查询时
o
包含一个ArrayList
of LinkedHashMap
s 而不是映射的对象。
我什至无法确定路径元素的标签以及关系的开始和结束节点。
我究竟做错了什么?
java - 保存具有多个关系的 SDN4 实体时,Neo4j 2.3.1 服务器死机
我正在为指南服务编写应用程序,并且在数字海洋水滴上运行 Neo4j 2.3.1 的 3 服务器集群。我还使用在 Tomcat 下运行的 JSF Web 应用程序中的 Spring Data Neo4j 4.0.0.RELEASE 来编写和查询我的数据。
我有一个节点可能与其他节点有 7 个不同的关系,我已经成功保存了 80 多个实例,但是当我尝试保存节点时,我突然开始在实例 1 主 neo4j 服务器上出现内存不足错误。我将 Neo4j 服务器的内存设置更新为以下内容:
我不再收到 OutOfMemoryError 但现在当我尝试保存节点时服务器出现故障。我可以在服务器失败之前查询数据。我从未在服务器 1 主数据/log/console.log 文件中收到错误消息,但在服务器 2 从属数据/log/console.log 文件中我收到以下消息:
节点实体 Java 代码:
我用来保存的代码是通过 SDN4 GraphRepository 保存的:
GraphRepository 保存:
关于在保存此节点时导致服务器突然开始失败的任何想法?我目前在我的 Neo4j 数据库中有 19957 个节点,其中大部分组成了我的 DateTree。有没有比我目前正在做的更好的方法来保存节点?
TIA
scala - 如何将 neo4j OGM 与惯用的 Scala 类一起使用?
我想将 Neo4j 的新 OGM 库与惯用的(即案例类、不可变的)Scala 类一起用于我的域对象。
我可以使用其他注释使以下课程与 Neo4j OGM 一起使用吗?由于未找到 @GraphId,以下定义的国家/地区不会持久化。如果我添加一个可变图形 id 成员 var (已经不受欢迎,但是......),那么一个对象将被持久化,但没有 name 属性。
我现在是否坚持使用具有可变属性的类 Java 类?
谢谢!史蒂夫