问题标签 [spring-data-neo4j-4]

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.

0 投票
0 回答
95 浏览

java - SDN4 404 POST 提交时

我正在尝试为我的 Spring Web 应用程序创建一些测试。我有一些使用 MockMvc 的测试类和使用 Selenium 的 Cucumber 测试类。所有测试都执行连接到 InProcessServer 实例的 CRUD 操作。

使用 Gradle 运行测试时,MockMvc 测试类运行并通过,但是当执行 Cucumber 测试步骤时,我得到以下信息:

这可能是什么原因造成的?这必须是 Neo4j 服务器,因为在测试完成后端口 7478 上没有运行任何服务器,并且它也不是测试 Web 服务器,因为它是在随机端口上配置的,例如

编辑:

0 投票
3 回答
1719 浏览

neo4j - 实体不是可持久类 NEO4J 4.0.0 的实例

春季数据 neo4j 4.0.0 发布

在 spring mvc 项目中,我试图通过 repository.save() 方法保存节点,但出现错误。

这是堆栈跟踪

0 投票
1 回答
190 浏览

spring - 相当于 SDN4 中的 template.createRelationBetween

我的项目目前使用 Spring-Data-Neo4J 3.3.0,我正在尝试使用新的 4.0.0.Release 版本。在我的代码中,我有以下代码:

这段代码的等价物是什么(请在新版SDK的api中使用这个方法?

更特别的是,我不知道如何创建给定类型的关系,而是为特定的类创建关系。请问如何用密码写出这样的作品?

@Luanne 这是我的问题的一个小例子。

类元素:

类属性:

和类 HasAttValue :

在第一种情况下,一切都像魅力一样工作,并且在您的示例中,我有下图(在服务器浏览器中查看)以及我在 HAS_ATT_VALUE 关系实体上的值:

但我的问题是在以下情况下(与以前的 SDN 配合得很好)。而不是 HasAttValue 上一课,我有:

例如两个子类。第一 :

第二个 :

在这种情况下,图表如下所示:

和图形中的另一个弧(元素)<-[ELEMENT]-(HasBooleanValue|HasStringValue)

那么如何才能始终拥有 (element)->[HAS_ATT_VALUE]->(attribute) 其中“has_att_value”是一个包含数据但在我的 java 代码中具有不同实现的关系实体?同样,当我使用 neo4jTemplate.createRelationshipBetween(eltOrRel, attribute, valueClass, GraphRelationType.HAS_ATT_VALUE, true) 创建我的“hasAttValue”关系实体时,这在 SDN3 中运行良好。

非常感谢

0 投票
2 回答
9510 浏览

spring-boot - org.springframework.beans.factory.BeanCreationException 将 spring-data-neo4j 版本更改为 4.0.0.RELEASE

我正在使用三个数据库:Redis、Neo4j 和 Mongodb。在我将 spring-data-neo4j 的版本从 3.3.2.RELEASE 更改为 4.0.0.RELEASE 之前,我所有的 api 都运行良好。spring-data-mongodb: 1.8.0.RELEASE 和 spring-data-redis:1.4.3.RELEASE 的版本没有变化。

在将 spring-data-neo4j 的版本更改为 4.0.0.RELEASE 并完成所需的迁移过程时,我收到此错误:

ISortedSetRepository.java 如下:

Redis配置如下:

0 投票
1 回答
127 浏览

java - SDN4 - Neo4j OGM 和 JsonSubType 注释

我遵循了来自 SDN3 的 SDN4 迁移路径,并遇到了此处记录的相同问题:SDN4 - Neo4j OGM - Jackson 2

答案中引用了一个补丁,并提到它将应用于 neo4j-ogm 1.1.1。从那以后,我尝试了 1.1.1 和 1.1.2 版本,但没有成功。这是我的带有 JsonSubType 注释的 SDN 注释实体的示例。我正在使用杰克逊注释 2.6.2。

如果我注释掉 JsonSubTypes 注释,我的单元测试就可以工作。但是,将其放入链接的stackoverflow问题会导致异常。

任何想法,解决方法?在我看来,该补丁尚未应用于 neo4j-ogm 的发行版。

0 投票
0 回答
165 浏览

gradle - neo4j-2.2.5.pom can be read of is not a valid zip file 错误

在我将 spring-data-neo4j 更新到最新版本:4.0.0.RELEASE 后,我收到 java 构建路径错误,如下所示:

项目“movements-jhipster-neo4j-”中的“C:/Users/UserName/.gradle/caches/modules-2/files-2.1/org.neo4j/neo4j/2.2.5/c7c8174f5a175a96686a461033a9f7e01d24df1d/neo4j-2.2.5.pom” 4-issue'无法读取或不是有效的ZIP文件movs-jhipster-neo4j-4-issue Build path Build Path Problem

构建.gradle:

0 投票
1 回答
91 浏览

entity-framework - 即使 neo4j 有多个关系,SDN4 总是返回一个关系

我有两个实体 Person 和 Building。两者都由两个关系实体“PERSON_HAS_ACCESS”(多人可以访问多个建筑物)和“PERSON_OWNS”(一个建筑物只能由一个人拥有,但一个人可以拥有多个建筑物)关联。我能够坚持每种类型的多个关系(具体为 2 个),并且也可以在 neo4j 浏览器中看到。但是,当我使用会话 API 访问 Person 实体时:

总是返回 1,不管它有多少关系。

我总是只得到一种关系。

这是我的域模型。我添加了equals和hashcode,但问题仍然存在。此外,我尝试只建立一种关系,但问题又是一样的。这让我疯狂!!。任何帮助,将不胜感激。

0 投票
1 回答
120 浏览

spring - Spring Data Neo4j (SDN) 4.0 运行时多态性

Spring Data Neo4j (SDN) 4.0 取消了 @RelationshipType 和 @Labels 以及其他可用于实现动态类型或运行时多态性的工具。在 SDN 4.0 中,所有多态可能性(标签和关系类型)必须在构建之前在 Java 中显式、静态地建模。鉴于这些限制,我无法向前迁移利用这些功能的 SDN 3.x 代码。

我将不胜感激任何人必须提供的任何见解、解决方法、替代工具等。我现在看到的唯一选择是拔下 SDN 并直接写入 Neo4j。

谢谢

0 投票
1 回答
182 浏览

neo4j - SDN 4.0 中的慢速 CRUD @RelationshipEntity

我尝试在 RelathionEntity 上保存属性

正如我在这里读到的

如何在 SDN 4.0 中对 @RelationshipEntity 进行 CRUD

这可以保存一个开始/结束节点,但我注意到这非常慢,而不是保存一个深度为 0 的节点(保存深度为 0 的节点大约需要 2 毫秒,保存深度为 1 的节点大约需要 1000 毫秒)。我要保存的节点只有 4 个关系

我也尝试过 session.save(...) (org.neo4j.ogm.session.Session) 在注释为 @RelationshipEntity 的对象上,但它什么也没做

我使用 spring-data-neo4j 4.0.0.RELEASE 和 Neo4j 2.2.5

遵循实体和关系的代码:

遵循一个简单的测试用例来检查性能:

添加节点不到100ms,第一次更新(setPropertyAB("newProperty1")之后的保存)约1s,下一次更新约4s,最后一次约7s

0 投票
1 回答
306 浏览

neo4j - SDN4 或 neo4j-ogm 性能问题

我编写了一些简单的 java 代码,但在 SDN4 中遇到了一些我在 SDN3 中没有的糟糕性能。我怀疑 find repositories methods depth 参数不能完全按照它应该的方式工作。让我解释一下问题:

这是我的 java 类(这只是一个示例),其中我删除了 getter、setter、contructors,......

第一类是“元素”:

第二个是“属性”

“值”类允许我的用户在元素上为特定属性添加值:

“元素”类确实需要知道它的值,但“属性”类根本不关心值。

一个属性在 InternationalizedProperties 类上有引用,如下所示:

属性与其 InternationalizedProperties 之间的关系实体如下所示:

然后我创建了一个小的 main 方法来创建两个属性和 10000 个元素。我的所有元素都具有第一个属性的特定值,但没有第二个属性的值(它们之间没有关系)。这两个属性都有两个不同的国际化属性。这是一个示例:

最后,在另一个主要方法中,我尝试多次获取第一个属性和第二个属性:

以下是此执行的日志:

获取第二个属性(以及由于 depth=1 而获得的国际化属性)非常快,但获取第一个属性仍然非常缓慢。我知道有很多关系(确切地说是 10000 个)指向第一个属性,但是当我想获得一个具有其国际化属性的属性时,我显然不想获得所有指向它的值。(因为未在 Attribute 类上指定 Set)。

这就是为什么我认为这里存在性能问题。还是我做错了什么?

谢谢你的帮助